선형 회귀 모델 쿼리(Analysis Services - 데이터 마이닝)

데이터 마이닝 모델에 대한 쿼리를 작성할 때 분석 중에 발견된 패턴에 대한 세부 정보를 제공하는 내용 쿼리를 작성하거나, 모델의 패턴을 사용하여 새 데이터에 대한 예측을 만드는 예측 쿼리를 작성할 수 있습니다. 예를 들어 내용 쿼리는 회귀 수식에 대한 추가 정보를 제공하지만 예측 쿼리는 새 데이터 요소가 모델에 맞는지 여부를 알려 줍니다. 쿼리를 사용하여 모델에 대한 메타데이터를 검색할 수도 있습니다.

이 섹션에서는 Microsoft 선형 회귀 알고리즘을 기반으로 하는 모델에 대해 쿼리를 만드는 방법을 설명합니다. 선형 회귀 모델의 구조에 대한 자세한 내용은 선형 회귀 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하십시오.

[!참고]

선형 회귀는 Microsoft 의사 결정 트리 알고리즘의 특수한 사례를 기반으로 하므로 예측 가능한 연속 특성을 사용하는 일부 의사 결정 트리 모델에는 회귀 수식이 포함될 수 있습니다. 자세한 내용은 Microsoft 의사 결정 트리 알고리즘 기술 참조를 참조하십시오.

  • 내용 쿼리

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

    DMX를 사용하여 모델의 회귀 수식 반환

    모델의 계수 반환

  • 예측 쿼리

    단일 쿼리를 사용하여 예측 만들기

    회귀 모델에서 기술 통계 반환

맨 위로 이동

예제 쿼리에 대한 결과를 다시 생성하려면 다음 항목에서 설명하는 대로 선형 회귀 모델을 만듭니다. 모델은 매우 간단하지만 데이터 마이닝 디자이너를 사용하여 선형 회귀 모델을 사용자 지정하는 방법에 대한 기본 개념을 보여 줍니다.

방법: 모델에서 회귀 변수 강제 사용

선형 회귀 모델 정보 찾기

선형 회귀 모델의 구조는 매우 단순하여 마이닝 모델은 데이터를 단일 노드로 나타내고 이 노드는 회귀 수식을 정의합니다.

이 섹션에서는 데이터에 대한 회귀 수식 및 기술 통계를 비롯하여 모델 자체에 대한 자세한 정보를 가져오는 방법에 대한 예제를 제공합니다.

예제 쿼리 1: 데이터 마이닝 스키마 행 집합을 사용하여 모델 매개 변수 반환

데이터 마이닝 스키마 행 집합을 쿼리하면 모델에 대한 메타데이터를 찾을 수 있습니다. 이러한 메타데이터로는 모델이 만들어진 시기, 모델이 마지막으로 처리된 시기, 모델의 기반이 되는 마이닝 구조의 이름, 예측 가능한 특성으로 지정된 열 이름 등이 포함됩니다. 모델을 처음으로 만들 때 사용한 매개 변수를 반환할 수도 있습니다.

SELECT MINING_PARAMETERS 
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Call Center Regression'

예 결과:

MINING_PARAMETERS

MINING_PARAMETERS

MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, FORCE_REGRESSOR=[Average Time Per Issue],[Total Operators]

[!참고]

회귀 변수를 지정하지 않은 경우 FORCE_REGRESSOR 매개 변수의 값이 "FORCE_REGRESSOR = "입니다.

맨 위로 이동

예제 쿼리 2: DMX를 사용하여 모델의 회귀 수식 반환

다음 쿼리는 선형 회귀 모델의 마이닝 모델 콘텐츠를 반환합니다. 이 쿼리는 회귀 수식이 들어 있는 노드의 콘텐츠를 반환합니다. 노드 중 하나에 회귀 수식이 들어 있으면 의사 결정 트리 모델에서 이 쿼리를 사용할 수도 있습니다.

각 변수 및 계수는 NODE_DISTRIBUTION 중첩 테이블의 개별 행에 저장되어 있습니다. 전체 회귀 수식을 보려면 Microsoft 트리 뷰어에서 (All) 노드를 클릭하고 마이닝 범례를 엽니다.

SELECT FLATTENED NODE_DISTRIBUTION as t
FROM [Call Center Regression].CONTENT

[!참고]

SELECT <column name> from NODE_DISTRIBUTION과 같은 쿼리를 사용하여 중첩 테이블의 개별 열을 참조하는 경우 SUPPORT 또는 PROBABILITY 등의 일부 열은 대괄호로 묶어 동일한 이름의 예약 키워드와 구별해야 합니다.

예상 결과:

t.ATTRIBUTE_NAME

t.ATTRIBUTE_VALUE

t.SUPPORT

t.PROBABILITY

t.VARIANCE

t.VALUETYPE

Service Grade

Missing

0

0

0

1

Service Grade

0.09875

120

1

0.00157927083333334

3

Average Time Per Issue

0.00136989326310586

0

0

187.866597222222

7

Average Time Per Issue

12.0822151449249

0

0

0

8

Average Time Per Issue

79.8416666666667

0

0

187.866597222222

9

Total Operators

-0.000426156789860463

0

0

24.0799305555556

7

Total Operators

-3.19762422385219

0

0

0

8

Total Operators

10.6916666666667

0

0

24.0799305555556

9

-0.00606823493688524

0

0

0.00121526993847281

11

반면 마이닝 범례에서 회귀 수식은 다음과 같이 나타납니다.

Service Grade = 0.070+0.001*(Average Time Per Issue-79.842)-0.0004*(Total Operators-10.692)

마이닝 범례에서는 일부 숫자가 반올림될 수 있지만 NODE_DISTRIBUTION 테이블과 마이닝 범례에 들어 있는 값은 기본적으로 동일합니다.

VALUETYPE 열의 값은 각 행에 들어 있는 정보의 종류를 나타내며 이는 결과를 프로그래밍 방식으로 처리할 경우에 유용합니다. 다음 표에서는 선형 회귀 수식에 대해 출력되는 값 유형을 보여 줍니다.

VALUETYPE

1(누락)

3(연속)

7(계수)

8(득점)

9(통계)

7(계수)

8(득점)

9(통계)

11(절편)

회귀 모델의 각 값 유형이 나타내는 의미에 대한 자세한 내용은 선형 회귀 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하십시오.

맨 위로 이동

예제 쿼리 3: 모델의 계수 반환

다음 쿼리와 같이 VALUETYPE 열거형을 사용하면 회귀 수식의 계수만 반환할 수 있습니다.

SELECT FLATTENED MODEL_NAME,
    (SELECT ATTRIBUTE_VALUE, VALUETYPE
     FROM NODE_DISTRIBUTION
     WHERE VALUETYPE = 11) 
AS t
FROM [Call Center Regression].CONTENT

이 쿼리는 두 개의 행을 반환합니다. 하나는 마이닝 모델 콘텐츠에서 가져온 것이고 다른 하나는 계수가 들어 있는 중첩 테이블의 행에서 가져온 것입니다. 계수의 경우 ATTRIBUTE_NAME 열은 항상 비어 있으므로 이 열은 여기에 포함되지 않습니다.

MODEL_NAME

t.ATTRIBUTE_VALUE

t.VALUETYPE

Call Center Regressors2

-0.00606823493688524

11

모델을 사용하여 예측 만들기

데이터 마이닝 디자이너의 마이닝 모델 예측 탭을 사용하여 선형 회귀 모델에 대한 예측 쿼리를 작성할 수 있습니다. 예측 쿼리 작성기는 SQL Server Management Studio와 Business Intelligence Development Studio에서 사용할 수 있습니다.

[!참고]

Excel용 SQL Server 2005 데이터 마이닝 추가 기능이나 Excel용 SQL Server 2008 데이터 마이닝 추가 기능을 사용하여 회귀 모델에 대한 쿼리를 만들 수도 있습니다. Excel용 데이터 마이닝 추가 기능은 회귀 모델을 만들지 않지만 Analysis Services의 인스턴스에 저장된 마이닝 모델을 찾아보고 쿼리할 수 있습니다.

맨 위로 이동

예제 쿼리 4: 단일 쿼리를 사용하여 예측 만들기

회귀 모델에서 단일 쿼리를 만드는 가장 쉬운 방법은 단일 쿼리 입력 대화 상자를 사용하는 것입니다. 예를 들어 적절한 회귀 모델을 선택하고 단일 쿼리를 선택한 다음 Total Operators 값으로 10을 입력하여 다음과 같은 DMX 쿼리를 작성할 수 있습니다.

SELECT
  Predict([Call Center Regression].[Service Grade])
FROM
  [Call Center Regression]
NATURAL PREDICTION JOIN
(SELECT 10 AS [Total Operators]) AS t

예 결과:

Yearly Income

0.0992841946529471

맨 위로 이동

예제 쿼리 5: 회귀 모델에서 기술 통계 반환

선형 회귀 모델에 여러 표준 예측 함수를 사용할 수 있습니다. 다음 예에서는 예측 쿼리 결과에 기술 통계를 추가하는 방법을 보여 줍니다.

SELECT
  Predict([Call Center Regression].[Service Grade]) as [Predicted Service],
  PredictStdev([Call Center Regression].[Service Grade]) as [Standard Deviation]
FROM
  [Call Center Regression]
NATURAL PREDICTION JOIN
(SELECT 10 AS [Total Operators]) AS t

예 결과:

Predicted Service

Standard Deviation

0.0990447584463201

0.0348607220015996

맨 위로 이동

예측 함수 목록

모든 Microsoft 알고리즘은 공통 함수 집합을 지원합니다. 그러나 Microsoft 선형 회귀 알고리즘은 다음 표에 나열된 추가 함수도 지원합니다.

모든 Microsoft 알고리즘에 공통된 함수 목록은 데이터 마이닝 알고리즘(Analysis Services - 데이터 마이닝)을 참조하십시오. 이러한 함수의 사용 방법은 DMX(Data Mining Extensions) 함수 참조를 참조하십시오.

변경 내역

업데이트된 내용

손쉽게 쿼리 예제를 검토할 수 있도록 항목 간 링크를 추가했습니다.

보다 적합한 모델을 사용하도록 예제를 변경했습니다. 단순 선형 회귀 모델을 작성하는 방법을 설명하는 새 항목에 대한 링크를 추가했습니다.