다음을 통해 공유


로지스틱 회귀 모델 쿼리 예제

데이터 마이닝 모델에 대해 쿼리를 만들 때 분석에서 검색된 패턴에 대한 세부 정보를 제공하는 콘텐츠 쿼리를 만들거나 모델의 패턴을 사용하여 새 데이터를 사용하여 예측을 만드는 예측 쿼리를 만들 수 있습니다.

이 섹션에서는 Microsoft 로지스틱 회귀 알고리즘을 기반으로 하는 모델에 대한 쿼리를 만드는 방법을 설명합니다.

콘텐츠 쿼리

데이터 마이닝 스키마 행 집합을 사용하여 모델 매개 변수 검색

DMX를 사용하여 모델에 대한 추가 세부 정보 찾기

예측 쿼리

연속 값에 대한 예측 만들기

불연속 값에 대한 예측 만들기

로지스틱 회귀 모델에 대한 정보 가져오기

로지스틱 회귀 모델은 특수한 매개 변수 집합과 함께 Microsoft 신경망 알고리즘을 사용하여 생성됩니다. 따라서 로지스틱 회귀 모델에는 신경망 모델과 동일한 정보가 있지만 덜 복잡합니다. 모델 콘텐츠의 구조와 어떤 노드 형식이 어떤 종류의 정보를 저장하는지 이해하려면 로지스틱 회귀 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.

쿼리 시나리오를 따르려면 중간 데이터 마이닝 자습서의 다음 섹션에 설명된 대로 로지스틱 회귀 모델을 만들 수 있습니다. 단원 5: 신경망 및 로지스틱 회귀 모델 빌드(중간 데이터 마이닝 자습서).

기본 데이터 마이닝 자습서에서 마이닝 구조인 대상 메일링을 사용할 수도 있습니다.

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: 데이터 마이닝 스키마 행 집합을 사용하여 모델 매개 변수 검색

데이터 마이닝 스키마 행 집합을 쿼리하면 모델 생성 시기, 모델이 마지막으로 처리된 시간, 모델의 기반이 되는 마이닝 구조의 이름 및 예측 가능한 특성으로 사용되는 열의 이름과 같은 모델에 대한 메타데이터를 찾을 수 있습니다. 다음 예제에서는 모델을 처음 만들 때 사용된 매개 변수와 모델의 이름 및 형식, 모델을 만든 날짜를 반환합니다.

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

샘플 결과:

MODEL_NAME 서비스_이름 생성일 채굴 매개변수
콜센터_LR Microsoft 로지스틱 회귀 04/07/2009 20:38:33 HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000

샘플 쿼리 2: DMX를 사용하여 모델에 대한 추가 세부 정보 찾기

다음 쿼리는 로지스틱 회귀 모델에 대한 몇 가지 기본 정보를 반환합니다. 로지스틱 회귀 모델은 입력으로 사용되는 값을 설명하는 한계 통계 노드(NODE_TYPE = 24)가 있는 것을 포함하여 여러 가지 면에서 신경망 모델과 유사합니다. 이 예제 쿼리는 대상 메일링 모델을 사용하고 중첩된 테이블 NODE_DISTRIBUTION 검색하여 모든 입력의 값을 가져옵니다.

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

일부 결과:

t.ATTRIBUTE_NAME 속성값 t.지원 t.확률 t.VARIANCE t.VALUETYPE
나이 없어진 0 0 0 1
나이 45.43491192 17484 1 126.9544114 3
자전거 구매자 없어진 0 0 0 1
자전거 구매자 0 8869 0.507263784 0 4
자전거 구매자 1 8615 0.492736216 0 4
통근 거리 없어진 0 0 0 1
통근 거리 5-10 마일 3033 0.173472889 0 4

실제 쿼리는 더 많은 행을 반환합니다. 그러나 이 샘플에서는 입력에 대해 제공되는 정보 유형을 보여 줍니다. 불연속 입력의 경우 가능한 각 값이 테이블에 나열됩니다. Age와 같은 연속 값 입력의 경우 전체 목록이 불가능하므로 입력이 평균으로 불연속화됩니다. 한계 통계 노드에서 정보를 사용하는 방법에 대한 자세한 내용은 로지스틱 회귀 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.

비고

보다 쉽게 볼 수 있도록 결과가 평면화되었지만 공급자가 계층적 행 집합을 지원하는 경우 중첩 테이블을 단일 열에 반환할 수 있습니다.

로지스틱 회귀 모델에 대한 예측 쿼리

모든 종류의 마이닝 모델에서 Predict(DMX) 함수를 사용하여 모델에 새 데이터를 제공하고 새 값을 기반으로 예측을 수행할 수 있습니다. 함수를 사용하여 예측이 올바른 확률과 같은 예측에 대한 추가 정보를 반환할 수도 있습니다. 이 섹션에서는 로지스틱 회귀 모델에 대한 예측 쿼리의 몇 가지 예를 제공합니다.

샘플 쿼리 3: 연속 값에 대한 예측 만들기

로지스틱 회귀는 입력 및 예측 모두에 연속 특성의 사용을 지원하므로 데이터의 다양한 요소와 상관 관계를 지정하는 모델을 쉽게 만들 수 있습니다. 예측 쿼리를 사용하여 이러한 요소 간의 관계를 탐색할 수 있습니다.

다음 쿼리 샘플은 중간 자습서의 콜 센터 모델을 기반으로 하며 금요일 AM 교대 근무에 대한 서비스 등급을 예측하는 단일 쿼리를 만듭니다. DMX(PredictHistogram) 함수는 예측 값의 유효성을 이해하는 것과 관련된 통계를 제공하는 중첩 테이블을 반환합니다.

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  

샘플 결과:

예측 서비스 등급: 0.102601830123659

결과

서비스 등급 $지원 $PROBABILITY $조정된확률 $VARIANCE $STDEV
0.102601830123659 83.0232558139535 0.988372093023256 0 0.00120552660600087 0.034720694203902
0.976744186046512 0.0116279069767442 0.0116279069767442 0 0

중첩된 NODE_DISTRIBUTION 테이블의 확률, 지원 및 표준 편차 값에 대한 자세한 내용은 로지스틱 회귀 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.

샘플 쿼리 4: 불연속 값에 대한 예측 만들기

로지스틱 회귀는 일반적으로 이진 결과에 기여하는 요인을 분석하려는 시나리오에서 사용됩니다. 자습서에 사용된 모델은 연속 값인 ServiceGrade를 예측하지만 실제 시나리오에서는 서비스 등급이 일부 불연속화된 대상 값을 충족하는지 여부를 예측하도록 모델을 설정할 수 있습니다. 또는 연속 값을 사용하여 예측을 출력할 수 있지만 나중에 예측 결과를 Good, Fair 또는 Poor로 그룹화할 수 있습니다.

다음 샘플에서는 예측 가능한 특성이 그룹화되는 방식을 변경하는 방법을 보여 줍니다. 이렇게 하려면 마이닝 구조의 복사본을 만든 다음, 값이 연속이 아닌 그룹화되도록 대상 열의 불연속화 메서드를 변경합니다.

다음 절차에서는 콜 센터 데이터에서 서비스 등급 값의 그룹화를 변경하는 방법을 설명합니다.

콜 센터 마이닝 구조 및 모델의 불연속 버전을 만들려면
  1. SSDT(SQL Server Data Tools)의 솔루션 탐색기에서 마이닝 구조를 확장합니다.

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

  3. 마이닝 구조를 마우스 오른쪽 단추로 클릭하고 붙여넣기를 선택합니다. 콜 센터 1이라는 새 마이닝 구조가 추가됩니다.

  4. 새 마이닝 구조를 마우스 오른쪽 단추로 클릭하고 이름 바꾸기를 선택합니다. 새 이름, 콜센터 디스크리타이즈드를 입력합니다.

  5. 새 마이닝 구조를 두 번 클릭하여 디자이너에서 엽니다. 마이닝 모델도 모두 복사되었으며 모두 확장 1이 있습니다. 현재와 같이 이름을 그대로 둡니다.

  6. 마이닝 구조 탭에서 서비스 등급에 대한 열을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  7. Content 속성을 연속에서 불연속화로 변경합니다. DiscretizationMethod 속성을 클러스터로 변경합니다. 이산화 "BucketCount"의 경우 3을 입력합니다.

    비고

    이러한 매개 변수는 프로세스를 설명하는 데만 사용되며 반드시 유효한 모델을 생성하지는 않습니다.

  8. 마이닝 모델 메뉴에서 프로세스 구조 및 모든 모델을 선택합니다.

다음 샘플 쿼리는 이 불연속화된 모델을 기반으로 하며, 각 예측 결과에 대한 확률과 함께 지정된 요일의 서비스 등급을 예측합니다.

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    

예상 결과:

예측

서비스 등급 $지원 $PROBABILITY $조정된확률 $분산 $STDEV
0.10872718383125 35.7246504770641 0.425293458060287 0.0170168360030293 0 0
0.05855769230625 31.7098880800703 0.377498667619885 0.020882020060454 0 0
0.170169491525 15.6109159883202 0.185844237956192 0.0661386571386049 0 0
0.954545454545455 0.0113636363636364 0.0113636363636364 0 0

예측 결과는 지정된 세 가지 범주로 그룹화되었습니다. 그러나 이러한 그룹화는 비즈니스 목표로 설정할 수 있는 임의 값이 아니라 데이터의 실제 값 클러스터링을 기반으로 합니다.

예측 함수 목록

모든 Microsoft 알고리즘은 일반적인 함수 집합을 지원합니다. 그러나 Microsoft 로지스틱 회귀 알고리즘은 다음 표에 나열된 추가 함수를 지원합니다.

예측 함수 사용법
IsDescendant(DMX) 한 노드가 모델에서 다른 노드의 자식인지 여부를 확인합니다.
PredictAdjustedProbability(DMX) 지정된 상태의 조정된 확률을 반환합니다.
PredictHistogram(DMX) 지정된 열에 대해 예측된 값 또는 값 집합을 반환합니다.
PredictProbability(DMX) 지정된 상태에 대한 확률을 반환합니다.
PredictStdev(DMX) 예측 값의 표준 편차를 반환합니다.
PredictSupport(DMX) 지정된 상태에 대한 지원 값을 반환합니다.
PredictVariance(DMX) 지정된 열의 분산을 반환합니다.

모든 Microsoft 알고리즘에 공통적인 함수 목록은 DMX(일반 예측 함수)를 참조하세요. 특정 함수의 구문은 DMX(데이터 마이닝 확장) 함수 참조를 참조하세요.

비고

신경망 및 로지스틱 회귀 모델의 경우 DMX(PredictSupport) 함수는 전체 모델에 대한 학습 집합의 크기를 나타내는 단일 값을 반환합니다.

또한 참조하십시오

데이터 마이닝 쿼리
Microsoft 로지스틱 회귀 알고리즘
Microsoft 로지스틱 회귀 알고리즘 기술 참조
로지스틱 회귀 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)
5단원: 신경망 및 로지스틱 회귀 모델 빌드(중간 데이터 마이닝 자습서)