로지스틱 회귀 모델 쿼리 예제Logistic Regression Model Query Examples

적용 대상:예SQL Server Analysis Services아니요Azure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services데이터 마이닝 모델에 대 한 쿼리를 만들 때 분석 중에 발견 된 패턴에 대 한 세부 정보를 제공 하는 내용 쿼리를 만들 수 있습니다 또는 패턴을 사용 하는 모델에 새 데이터를 사용 하 여 예측을 만드는 예측 쿼리를 만들 수 있습니다. When you create a query against a data mining model, you can create a content query, which provides details about the patterns discovered in analysis, or you can create a prediction query, which uses the patterns in the model to make predictions using new data.

이 섹션에서는 Microsoft 로지스틱 회귀 알고리즘을 기반으로 하는 모델에 대해 쿼리를 만드는 방법을 설명합니다.This section explains how to create queries for models that are based on the Microsoft Logistic Regression algorithm.

내용 쿼리Content Queries

데이터 마이닝 스키마 행 집합을 사용하여 모델 매개 변수 검색Retrieving Model Parameters by Using the Data Mining Schema Rowset

DMX를 사용하여 모델에 대한 추가 세부 정보 찾기Finding Additional Detail about the Model by Using DMX

예측 쿼리Prediction Queries

연속 값에 대한 예측 만들기Making Predictions for a Continuous Value

불연속 값에 대한 예측 만들기Making Predictions for a Discrete Value

로지스틱 회귀 모델에 대한 정보 가져오기Getting Information about the Logistic Regression Model

로지스틱 회귀 모델은 Microsoft 신경망 알고리즘과 특수한 매개 변수 집합을 사용하여 만듭니다. 따라서 로지스틱 회귀 모델은 신경망 모델과 동일한 정보를 일부 포함하지만 신경망 모델보다는 덜 복잡합니다.Logistic regression models are created by using the Microsoft Neural Network algorithm with a special set of parameters; therefore, a logistic regression model has some of the same information as a neural networks model, but is less complex. 모델 콘텐츠의 구조와 노드 유형에 따라 저장되는 정보의 종류를 이해하려면 로지스틱 회귀 분석 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.To understand the structure of the model content, and which node types store what kind of information, see Mining Model Content for Logistic Regression Models (Analysis Services - Data Mining).

중급 데이터 마이닝 자습서의 5단원: 신경망 및 로지스틱 회귀 모델 작성(중급 데이터 마이닝 자습서)를 참조하세요.To follow along in the query scenarios, you can create a logistic regression model as described in the following section of the Intermediate Data Mining Tutorial: Lesson 5: Building Neural Network and Logistic Regression Models (Intermediate Data Mining Tutorial).

기본 데이터 마이닝 자습서의 마이닝 구조인 타겟 메일링을 사용할 수도 있습니다.You can also use the mining structure, Targeted Mailing, from the Basic Data Mining Tutorial.

ALTER MINING STRUCTURE [Targeted Mailing]  
ADD MINING MODEL [TM_Logistic Regression]  
([Customer Key],  
[Age],  
[Bike Buyer] PREDICT,  
[Yearly Income] PREDICT,  
[Commute Distance],  
[English Education],  
Gender,  
[House Owner Flag],  
[Marital Status],  
[Number Cars Owned],  
[Number Children At Home],  
[Region],  
[Total Children]  
)  
USING Microsoft_Logistic_Regression  

예제 쿼리 1: 데이터 마이닝 스키마 행 집합을 사용하여 모델 매개 변수 검색Sample Query 1: Retrieving Model Parameters by Using the Data Mining Schema Rowset

데이터 마이닝 스키마 행 집합을 쿼리하면 모델이 만들어진 날짜, 모델이 마지막으로 처리된 날짜, 모델의 기반이 되는 마이닝 구조의 이름, 예측 가능한 특성으로 사용된 열 이름 등 모델에 대한 메타데이터를 찾을 수 있습니다.By querying the data mining schema rowset, you can find metadata about the model, such as when it was created, when the model was last processed, the name of the mining structure that the model is based on, and the name of the column used as the predictable attribute. 다음 예에서는 모델을 처음 만들 때 사용한 매개 변수와 함께 모델의 이름, 유형 및 작성 날짜를 반환합니다.The following example returns the parameters that were used when the model was first created, together with the name and type of the model, and the date that it was created.

SELECT MODEL_NAME, SERVICE_NAME, DATE_CREATED, MINING_PARAMETERS   
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Call Center_LR'  

예제 결과:Sample results:

MODEL_NAMEMODEL_NAME SERVICE_NAMESERVICE_NAME DATE_CREATEDDATE_CREATED MINING_PARAMETERSMINING_PARAMETERS
Call Center_LRCall Center_LR Microsoft_Logistic_RegressionMicrosoft_Logistic_Regression 04/07/2009 20:38:3304/07/2009 20:38:33 HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000

예제 쿼리 2: DMX를 사용하여 모델에 대한 추가 세부 정보 찾기Sample Query 2: Finding Additional Detail about the Model by Using DMX

다음 쿼리에서는 로지스틱 회귀 모델에 대한 몇 가지 기본 정보를 반환합니다.The following query returns some basic information about the logistic regression model. 로지스틱 회귀 모델은 입력으로 사용된 값을 설명하는 한계 통계 노드(NODE_TYPE = 24)가 있다는 점을 비롯하여 여러 면에서 신경망 모델과 비슷합니다.A logistic regression model is similar to a neural network model in many ways, including the presence of a marginal statistic node (NODE_TYPE = 24) that describes the values used as inputs. 이 예제 쿼리에서는 Targeted Mailing 모델을 사용하며 NODE_DISTRIBUTION이라는 중첩 테이블에서 값을 검색해 모든 입력의 값을 가져옵니다.This example query uses the Targeted Mailing model, and gets the values of all the inputs by retrieving them from the nested table, NODE_DISTRIBUTION.

SELECT FLATTENED NODE_DISTRIBUTION AS t  
FROM [TM_Logistic Regression].CONTENT   

일부 결과:Partial results:

t.ATTRIBUTE_NAMEt.ATTRIBUTE_NAME t.ATTRIBUTE_VALUEt.ATTRIBUTE_VALUE t.SUPPORTt.SUPPORT t.PROBABILITYt.PROBABILITY t.VARIANCEt.VARIANCE t.VALUETYPEt.VALUETYPE
AgeAge MissingMissing 00 00 00 1.1
AgeAge 45.4349119245.43491192 1748417484 1.1 126.9544114126.9544114 33
Bike BuyerBike Buyer MissingMissing 00 00 00 1.1
Bike BuyerBike Buyer 00 88698869 0.5072637840.507263784 00 44
Bike BuyerBike Buyer 1.1 86158615 0.4927362160.492736216 00 44
Commute DistanceCommute Distance MissingMissing 00 00 00 1.1
Commute DistanceCommute Distance 5-10 Miles5-10 Miles 30333033 0.1734728890.173472889 00 44

실제 쿼리는 보다 많은 행을 반환하지만 이 예제에서는 입력에 대해 제공된 정보 유형을 보여 줍니다.The actual query returns many more rows; however, this sample illustrates the type of information that is provided about the inputs. 불연속 입력에 가능한 각 값은 테이블에 나열됩니다.For discrete inputs, each possible value is listed in the table. Age와 같은 연속 값 입력의 경우 전체를 나열하는 것이 가능하지 않으므로 입력이 평균값으로 불연속화됩니다.For continuous-value inputs such as Age, a complete listing is impossible, so the input is discretized as a mean. 한계 통계 노드의 정보를 사용하는 방법에 대한 자세한 내용은 로지스틱 회귀 분석 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.For more information about how to use the information in the marginal statistics node, see Mining Model Content for Logistic Regression Models (Analysis Services - Data Mining).

참고

이 결과는 보기 쉽도록 평면화되었지만 사용 중인 공급자가 계층적 행 집합을 지원하는 경우에는 중첩 테이블을 단일 열에 반환할 수 있습니다.The results have been flattened for easier viewing, but you can return the nested table in a single column if your provider supports hierarchical rowsets.

로지스틱 회귀 모델에 대한 예측 쿼리Prediction Queries on a Logistic Regression Model

모든 종류의 마이닝 모델에 Predict(DMX) 함수를 사용하여 모델에 새 데이터를 제공하고 새 값을 기반으로 예측을 만들 수 있습니다.You can use the Predict (DMX) function with every kind of mining model to provide new data to the model and make predictions based on the new values. 함수를 사용하여 예측이 올바를 확률 등 예측에 대한 추가 정보를 반환할 수도 있습니다.You can also use functions to return additional information about the prediction, such as the probability that a prediction is correct. 이 섹션에서는 로지스틱 회귀 모델에 대한 예측 쿼리의 몇 가지 예를 제공합니다.This section provides some examples of prediction queries on a logistic regression model.

예제 쿼리 3: 연속 값에 대한 예측 만들기Sample Query 3: Making Predictions for a Continuous Value

로지스틱 회귀에서는 입력 및 예측 모두에 연속 특성을 사용할 수 있으므로 데이터에 포함된 다양한 요소와 상관 관계가 있는 모델을 쉽게 만들 수 있습니다.Because logistic regression supports the use of continuous attributes for both input and prediction, it is easy to create models that correlate various factors in your data. 예측 쿼리를 사용하여 이러한 요소 간의 관계를 탐색할 수 있습니다.You can use prediction queries to explore the relationship among these factors.

다음 예제 쿼리는 중급 자습서에서 만든 콜 센터 모델을 기반으로 하며 금요일 오전 근무조의 서비스 등급을 예측하는 단일 쿼리를 만듭니다.The following query sample is based on the Call Center model, from the Intermediate Tutorial, and creates a singleton query that predicts service grade for the Friday AM shift. PredictHistogram(DMX) 함수는 예측 값의 유효성을 이해하는 데 관련된 통계를 제공하는 중첩 테이블을 반환합니다.The PredictHistogram (DMX) function returns a nested table that provides statistics relevant to understanding the validity of the predicted value.

SELECT  
  Predict([Call Center_LR].[Service Grade]) as Predicted ServiceGrade,  
  PredictHistogram([Call Center_LR].[Service Grade]) as [Results],  
FROM  
  [Call Center_LR]  
NATURAL PREDICTION JOIN  
(SELECT 'Friday' AS [Day Of Week],  
  'AM' AS [Shift]) AS t  

예제 결과:Sample results:

Predicted Service GradePredicted Service Grade Service GradeService Grade $SUPPORT$SUPPORT $PROBABILITY$PROBABILITY $ADJUSTEDPROBABILITY$ADJUSTEDPROBABILITY $VARIANCE$VARIANCE $STDEV$STDEV
0.1026018301236590.102601830123659 0.1026018301236590.102601830123659 83.023255813953583.0232558139535 0.9883720930232560.988372093023256 00 0.001205526606000870.00120552660600087 0.0347206942039020.034720694203902
0.9767441860465120.976744186046512 0.01162790697674420.0116279069767442 0.01162790697674420.0116279069767442 00 00

중첩 NODE_DISTRIBUTION 테이블의 확률, 지지도 및 표준 편차 값에 대한 자세한 내용은 로지스틱 회귀 분석 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.For more information about the probability, support, and standard deviation values in the nested NODE_DISTRIBUTION table, see Mining Model Content for Logistic Regression Models (Analysis Services - Data Mining).

예제 쿼리 4: 불연속 값에 대한 예측 만들기Sample Query 4: Making Predictions for a Discrete Value

로지스틱 회귀는 일반적으로 이진 결과에 영향을 주는 요소를 분석하려는 경우에 사용됩니다.Logistic regression is typically used in scenarios where you want to analyze the factors that contribute to a binary outcome. 자습서에서 사용된 모델은 ServiceGrade라는 연속 값을 예측하지만, 실제 환경에서는 서비스 등급이 불연속화된 목표 값을 만족하는지 여부를 예측하도록 모델을 설정해야 합니다.Although the model used in the tutorial predicts a continuous value, ServiceGrade, in a real-life scenario you might want to set up the model to predict whether service grade met some discretized target value. 또는 연속 값을 사용하여 예측을 출력한 후 나중에 예측된 출력을 Good, Fair또는 Poor로 그룹화하는 방법도 있습니다.Alternatively, you could output the predictions using a continuous value but later group the predicted outcomes into Good, Fair, or Poor.

다음 예제에서는 예측 가능한 특성의 그룹화 방식을 변경하는 방법을 보여 줍니다.The following sample illustrates how to change the way that the predictable attribute is grouped. 이 작업은 마이닝 구조의 복사본을 만든 다음 값이 연속되는 대신 그룹화되도록 대상 열의 분할 방법을 변경하여 수행할 수 있습니다.To do this, you create a copy of the mining structure and then change the discretization method of the target column so that the values are grouped rather than continuous.

다음 절차에서는 콜 센터 데이터에 있는 Service Grade 값의 그룹화를 변경하는 방법을 설명합니다.The following procedure describes how to change the grouping of Service Grade values in the Call Center data.

콜 센터 마이닝 구조 및 모델의 불연속 버전을 만들려면To create a discretized version of the Call Center mining structure and models
  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)의 솔루션 탐색기에서 마이닝 구조를 확장합니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), in Solution Explorer, expand Mining Structures.

  2. Call Center.dmm을 마우스 오른쪽 단추로 클릭하고 복사를 선택합니다.Right-click Call Center.dmm and select Copy.

  3. 마이닝 구조 를 마우스 오른쪽 단추로 클릭하고 붙여넣기를 선택합니다.Right click Mining Structures and select Paste. Call Center 1이라는 새 마이닝 구조가 추가됩니다.A new mining structure iss added, named Call Center 1.

  4. 새 마이닝 구조를 마우스 오른쪽 단추로 클릭하고 이름 바꾸기를 선택합니다.Right-click the new mining structure and select Rename. Call Center Discretized라는 새 이름을 입력합니다.Type the new name, Call Center Discretized.

  5. 새 마이닝 구조를 두 번 클릭하여 디자이너에서 엽니다.Double-click the new mining structure to open it in the designer. 마이닝 모델까지 모두 복사되었으며 확장명은 모두 1입니다.Notice that the mining models have all been copied as well, and all have the extension 1. 지금은 이름을 그대로 둡니다.Leave the names as is for now.

  6. 마이닝 구조 탭에서 Service Grade에 대한 열을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.In the Mining Structure tab, right-click the column for Service Grade, and select Properties.

  7. Content 속성의 값을 연속 에서 불연속으로 변경합니다.Change the Content property from Continuous to Discretized. DiscretizationMethod 속성의 값을 클러스터로 변경합니다.Change the DiscretizationMethod property to Clusters. Discretization BucketCount에 3을 입력합니다.For Discretization BucketCount, type 3.

    참고

    이러한 매개 변수는 프로세스에 대한 이해를 돕기 위해 사용된 것일 뿐 이러한 매개 변수를 통해 유효한 모델이 반드시 생성되는 것은 아닙니다.These parameters are just used for illustrating the process, and do not necessarily produce a valid model,

  8. 마이닝 모델 메뉴에서 마이닝 구조 및 모든 모델 처리를 선택합니다.From the Mining Model menu, select Process structure and all models.

    다음 예제 쿼리는 이 불연속 모델을 기반으로 하며 특정 요일의 서비스 등급 및 예측된 각 결과에 대한 확률을 예측합니다.The following sample query is based on this discretized model, and predicts the service grade for the specified day of the week, together with the probabilities for each predicted outcome.

SELECT  
  (PredictHistogram([Call Center_LR 1].[Service Grade])) as [Predictions]  
FROM  
  [Call Center_LR 1]  
NATURAL PREDICTION JOIN  
(SELECT 'Saturday' AS [Day Of Week]) AS t    

예상 결과:Expected results:

예측:Predictions:

Service GradeService Grade $SUPPORT$SUPPORT $PROBABILITY$PROBABILITY $ADJUSTEDPROBABILITY$ADJUSTEDPROBABILITY $VARIANCE$VARIANCE $STDEV$STDEV
0.108727183831250.10872718383125 35.724650477064135.7246504770641 0.4252934580602870.425293458060287 0.01701683600302930.0170168360030293 00 00
0.058557692306250.05855769230625 31.709888080070331.7098880800703 0.3774986676198850.377498667619885 0.0208820200604540.020882020060454 00 00
0.1701694915250.170169491525 15.610915988320215.6109159883202 0.1858442379561920.185844237956192 0.06613865713860490.0661386571386049 00 00
0.9545454545454550.954545454545455 0.01136363636363640.0113636363636364 0.01136363636363640.0113636363636364 00 00

예측된 결과는 지정된 세 개의 범주별로 그룹화되었지만 이러한 그룹화는 사용자가 비즈니스 목표로 설정한 임의의 값이 아니라 데이터의 실제 값 집합을 기반으로 수행되었습니다.Note that the predicted outcomes have been grouped into three categories as specified; however, these groupings are based on the clustering of actual values in the data, not arbitrary values that you might set as business goals.

예측 함수 목록List of Prediction Functions

모든 MicrosoftMicrosoft 알고리즘은 공통 함수 집합을 지원합니다.All MicrosoftMicrosoft algorithms support a common set of functions. 그러나 MicrosoftMicrosoft 로지스틱 회귀 알고리즘은 다음 표에 나열된 추가 함수도 지원합니다.However, the MicrosoftMicrosoft Logistic Regression algorithm supports the additional functions listed in the following table.

예측 함수Prediction Function 사용법Usage
IsDescendant(DMX)IsDescendant (DMX) 한 노드가 모델에서 다른 노드의 자식인지 여부를 확인합니다.Determines whether one node is a child of another node in the model.
PredictAdjustedProbability(DMX)PredictAdjustedProbability (DMX) 지정한 상태에 대한 조정된 확률을 반환합니다.Returns the adjusted probability of a specified state.
PredictHistogram(DMX)PredictHistogram (DMX) 지정한 열에 대한 예측 값을 반환합니다.Returns a predicted value, or set of values, for a specified column.
PredictProbability(DMX)PredictProbability (DMX) 지정한 상태에 대한 확률을 반환합니다.Returns the probability for a specified state.
PredictStdev(DMX)PredictStdev (DMX) 예측 값의 표준 편차를 반환합니다.Returns standard deviation for the predicted value.
PredictSupport(DMX)PredictSupport (DMX) 지정한 상태에 대한 지원 값을 반환합니다.Returns the support value for a specified state.
PredictVariance(DMX)PredictVariance (DMX) 지정한 열의 분산을 반환합니다.Returns the variance of a specified column.

모든 MicrosoftMicrosoft 알고리즘에 공통된 함수 목록은 일반 예측 함수(DMX)를 참조하세요.For a list of the functions that are common to all MicrosoftMicrosoft algorithms, see General Prediction Functions (DMX). 특정 함수의 구문은 DMX(Data Mining Extensions) 함수 참조를 참조하세요.For the syntax of specific functions, see Data Mining Extensions (DMX) Function Reference.

참고

신경망 및 로지스틱 회귀 모델의 경우 PredictSupport(DMX) 함수는 모델 전체에 대한 학습 집합의 크기를 나타내는 단일 값을 반환합니다.For neural network and logistic regression models, the PredictSupport (DMX) function returns a single value that represents the size of the training set for the entire model.

관련 항목:See Also

데이터 마이닝 쿼리 Data Mining Queries
Microsoft 로지스틱 회귀 알고리즘 Microsoft Logistic Regression Algorithm
Microsoft 로지스틱 회귀 알고리즘 기술 참조 Microsoft Logistic Regression Algorithm Technical Reference
로지스틱 회귀 분석 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝) Mining Model Content for Logistic Regression Models (Analysis Services - Data Mining)
5 단원: 구축 신경망 네트워크 및 로지스틱 회귀 모델 ( 중급 데이터 마이닝 자습서 )Lesson 5: Building Neural Network and Logistic Regression Models (Intermediate Data Mining Tutorial)