신경망 구조 및 모델 만들기(중급 데이터 마이닝 자습서)
데이터 마이닝 모델을 만들려면 먼저 데이터 마이닝 마법사를 사용하여 새 데이터 원본 뷰를 기반으로 새 마이닝 구조를 만들어야 합니다. 이 태스크에서는 마법사를 사용하여 Microsoft 신경망 알고리즘 기반의 마이닝 구조를 만들고 이와 동시에 관련 마이닝 모델을 만듭니다.
신경망은 매우 유연하고 많은 입력 및 출력 조합을 분석할 수 있기 때문에 최상의 결과를 얻기 위해 여러 가지 데이터 처리 방법을 시험해야 합니다. 예를 들어 특정 비즈니스 요구 사항을 대상으로 데이터를 범주화하거나 그룹화하는 방법을 사용자 지정할 수 있습니다. 이렇게 하려면 숫자 데이터를 다른 방식으로 그룹화하는 새 열을 마이닝 구조에 추가한 다음 새 열을 사용하는 모델을 만듭니다. 이러한 마이닝 모델을 사용하여 탐색을 수행합니다.
마지막으로, 신경망 모델을 통해 비즈니스 질문에 가장 큰 영향을 주는 요인을 찾았으면 예측 및 평가에 사용할 별도의 모델을 만들어야 합니다. 여기서는 신경망 모델에 기반을 두지만 특정 입력을 바탕으로 솔루션을 찾도록 최적화된 Microsoft 로지스틱 회귀 알고리즘을 사용합니다.
기본 콜 센터 구조 만들기
기본 신경망 마이닝 구조 및 모델을 만들려면
Business Intelligence Development Studio의 솔루션 탐색기에서 마이닝 구조를 마우스 오른쪽 단추로 클릭하고 새 마이닝 구조를 선택합니다.
데이터 마이닝 마법사 시작 페이지에서 다음을 클릭합니다.
정의 방법 선택 페이지에서 기존 관계형 데이터베이스 또는 데이터 웨어하우스 사용이 선택되었는지 확인한 후 다음을 클릭합니다.
데이터 마이닝 구조 만들기 페이지에서 마이닝 모델을 포함하는 마이닝 구조 만들기 옵션이 선택되어 있는지 확인합니다.
사용할 데이터 마이닝 기술 선택 옵션에 대한 드롭다운 목록을 클릭한 다음 Microsoft 신경망을 선택합니다.
로지스틱 회귀 모델이 신경망을 기반으로 하기 때문에 동일한 구조를 다시 사용하여 새 마이닝 모델을 추가할 수 있습니다.
다음을 클릭합니다.
데이터 원본 뷰 선택 페이지가 표시됩니다.
사용 가능한 데이터 원본에서 Call Center를 선택한 후 다음을 클릭합니다.
테이블 유형 지정 페이지에서 FactCallCenter 테이블 옆의 사례 확인란을 선택하고 다음을 클릭합니다.
학습 데이터 지정 페이지에서 FactCallCenterID 열 옆에 있는 키를 선택합니다.
예측 및 입력 확인란을 선택합니다.
다음 표에 나오는 키, 입력 및 예측 확인란을 선택합니다.
테이블/열
키/입력/예측
AutomaticResponses
입력
AverageTimePerIssue
입력/예측
Calls
입력
DateKey
사용 안 함
DayOfWeek
입력
FactCallCenterID
키
IssuesRaised
입력
LevelOneOperators
입력/예측
LevelTwoOperators
입력
Orders
입력/예측
ServiceGrade
입력/예측
Shift
입력
TotalOperators
사용 안 함
WageType
입력
열 내용 및 데이터 형식 지정 페이지에서 표에 다음 표에 나오는 열, 내용 유형 및 데이터 형식이 있는지 확인하고 다음을 클릭합니다.
열
내용 유형
데이터 형식
AutomaticResponses
연속
Long
AverageTimePerIssue
연속
Long
Calls
연속
Long
DayOfWeek
불연속
텍스트
FactCallCenterID
키
Long
IssuesRaised
연속
Long
LevelOneOperators
연속
Long
LevelTwoOperators
연속
Long
Orders
연속
Long
ServiceGrade
연속
Double
Shift
불연속
텍스트
WageType
불연속
텍스트
테스트 집합 만들기 페이지에서 테스트용 데이터 비율 옵션에 대한 입력란의 내용을 지우고 다음을 클릭합니다.
마법사 완료 페이지의 마이닝 구조 이름에 Call Center를 입력합니다.
마이닝 모델 이름에 Call Center Default NN을 입력한 후 마침을 클릭합니다.
신경망 모델을 사용하여 데이터를 드릴스루할 수 없기 때문에 드릴스루 허용 상자가 비활성화됩니다.
솔루션 탐색기에서 방금 만든 데이터 마이닝 구조의 이름을 마우스 오른쪽 단추로 클릭하고 처리를 선택합니다.
분할 이해
기본적으로 예측 가능한 숫자 특성을 포함하는 신경망 모델을 만들 때 Microsoft 신경망 알고리즘은 특성을 연속 숫자로 처리합니다. 예를 들어 ServiceGrade 특성은 이론상으로 0.00(모든 호출이 응답됨)에서 1.00(모든 호출자가 호출을 중단함)에 이르는 숫자입니다. 이 데이터 집합의 경우 값이 다음과 같이 분포됩니다.
따라서 모델을 처리할 때 출력이 예상과 다르게 그룹화될 수 있습니다. 예를 들어 클러스터링을 사용하여 값 그룹을 찾는 기본 모델은 ServiceGrade를 다음과 같은 범위로 나눕니다. 0.0748051948 - 0.09716216215. 이 그룹화가 수학적으로 정확하기는 하지만 비즈니스 사용자에게는 이러한 범위가 의미가 없을 수 있습니다. 숫자 값을 다르게 그룹화하려면 숫자 데이터 열의 복사본을 하나 이상 만들고 데이터 마이닝 알고리즘에서 값을 처리하는 방법을 지정하면 됩니다. 예를 들어 알고리즘에서 값을 5개 이하의 범주로 나누도록 지정할 수 있습니다.
Analysis Services에서는 숫자 데이터를 범주화하거나 처리하는 다양한 방법을 제공합니다. 다음 표에서는 출력 특성 ServiceGrade를 세 가지 방식으로 처리했을 때 결과의 차이를 보여 줍니다.
연속 숫자로 처리
알고리즘이 클러스터링 등 가능한 최상의 방법을 사용하여 값을 분할하도록 지정
Equal Areas 메서드를 사용하여 숫자를 범주화하도록 지정
기본 모델(연속) |
클러스터링에 의한 범주화 |
Equal Areas에 의한 범주화 |
---|---|---|
값지원
누락0
0.09875120
|
값지원
< 0.074805194834
0.0748051948 - 0.0971621621527
0.09716216215 - 0.1329729729539
0.13297297295 - 0.16749999997510
>= 0.16749999997510
|
값지원
< 0.0726
0.07 - 0.0022
0.09 - 0.1136
>= 0.1236
|
이 표에서 값 열은 연속 숫자가 처리된 방법을 보여 주고 지원 열은 해당 값, 범위 또는 값 유형으로 찾은 행이 몇 개인지 보여 줍니다. 범주화 옵션에 대한 자세한 내용은 분할 방법(데이터 마이닝)을 참조하십시오.
[!참고]
이러한 통계는 모든 데이터를 처리한 후 모델의 marginal statistics node에서 가져올 수 있습니다. marginal statistics node에 대한 자세한 내용은 신경망 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하십시오.
또는 숫자 값을 사용하는 대신 최상(ServiceGrade <= 0.05), 적합(0.10 > ServiceGrade > 0.05) 및 불량(ServiceGrade >= 0.10)과 같은 미리 정의된 대상 범위로 서비스 등급을 분류하는 별도의 파생 열을 추가할 수도 있습니다.
열의 복사본을 만들고 분할 메서드 변경
Analysis Services 데이터 마이닝에서 대상 데이터가 포함된 열의 복사본을 추가하고 분할 메서드를 변경하여 숫자 데이터가 마이닝 구조 내에서 범주화되는 방식을 쉽게 변경할 수 있습니다.
다음 절차에서는 대상 특성인 ServiceGrade가 포함된 마이닝 열의 복사본을 만드는 방법에 대해 설명합니다. 예측 가능한 특성을 비롯하여 임의의 열의 여러 복사본을 마이닝 구조에서 만들 수 있습니다.
그런 다음 복사된 열에서 숫자 값의 그룹화를 사용자 지정하여 그룹화의 복잡성을 줄입니다. 이 자습서에서는 Equal Areas 분할 메서드를 사용하고 4개의 버킷을 지정합니다. 이 메서드에서 생성되는 그룹화는 비즈니스 사용자가 관심을 가지는 대상 값에 매우 근접해 있습니다.
[!참고]
데이터의 초기 탐색 중에 다양한 분할 메서드를 시험하거나 먼저 데이터를 클러스터링해 볼 수 있습니다.
마이닝 구조에서 사용자 지정된 열 복사본을 만들려면
솔루션 탐색기에서 앞에서 만든 마이닝 구조를 두 번 클릭합니다.
마이닝 구조 탭에서 마이닝 구조 열 추가를 클릭합니다.
열 선택 대화 상자의 원본 열에 있는 목록에서 ServiceGrade를 선택한 다음 확인을 클릭합니다.
새 열이 마이닝 구조 열의 목록에 추가됩니다. 기본적으로 새 마이닝 열의 이름은 기존 열의 이름과 같으며 ServiceGrade 1과 같이 뒤에 숫자가 붙습니다. 이 열의 이름을 좀 더 구체적인 이름으로 변경할 수 있습니다. 분할 메서드도 지정합니다.
ServiceGrade 1을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
속성 창에서 이름 속성을 찾아 이름을 Call Center Binned NN으로 변경합니다.
관련된 모든 마이닝 모델 열의 이름을 동일하게 변경할 것인지 묻는 대화 상자가 나타납니다. 아니요를 클릭합니다.
속성 창에서 데이터 형식 섹션을 찾아 필요한 경우 확장합니다.
Content 속성의 값을 Continuous에서 Discretized로 변경합니다.
이제 사용할 수 있는 속성은 다음과 같습니다. 다음 표에 있는 대로 속성 값을 변경합니다.
속성
기본값
새 값
DiscretizationMethod
Continuous
EqualAreas
DiscretizationBucketCount
값 없음
4
[!참고]
DiscretizationBucketCount의 기본값은 0이며, 이는 알고리즘이 자동으로 최적의 버킷 수를 결정함을 의미합니다. 따라서 이 속성 값을 기본값으로 다시 설정하려면 0을 입력합니다.
데이터 마이닝 디자이너에서 마이닝 모델 탭을 클릭합니다.
마이닝 구조 열의 복사본을 추가할 때 복사본의 사용법 플래그가 자동으로 Ignore로 설정됩니다. 열의 복사본을 마이닝 구조에 추가할 때 원래 열과 함께 분석용 복사본을 사용하지 않아야 하기 때문입니다. 복사본을 사용하면 알고리즘에서 두 열의 강한 상관 관계를 발견하므로 다른 관계가 명확하게 드러나지 않을 수도 있습니다.
마이닝 구조에 새 마이닝 모델 추가
대상 특성의 새로운 그룹화 방식을 만들었으므로 분할 열을 사용하는 새 마이닝 모델을 추가해야 합니다. 완료하면 CallCenter 마이닝 구조에 두 가지 마이닝 모델이 포함됩니다.
Call Center Default NN 마이닝 모델은 ServiceGrade 값을 연속 범위로 처리합니다.
Call Center Binned NN 마이닝 모델은 ServiceGrade 값을 4개의 버킷으로 분할합니다.
새로운 분할된 열 기반의 마이닝 모델을 추가하려면
솔루션 탐색기에서 방금 만든 마이닝 구조를 마우스 오른쪽 단추로 클릭하고 열기를 선택합니다.
마이닝 모델 탭을 클릭합니다.
관련 마이닝 모델 만들기를 클릭합니다.
새 마이닝 모델 대화 상자의 모델 이름에 Call Center Binned NN을 입력합니다. 알고리즘 이름 드롭다운 목록에서 Microsoft 신경망을 선택합니다.
새 마이닝 모델에 포함된 열의 목록에서 ServiceGrade를 찾고 사용법을 Predict에서 Ignore로 변경합니다.
이와 마찬가지로 ServiceGrade Binned를 찾고 사용법을 Ignore에서 Predict로 변경합니다.
일반적으로 예측 가능한 여러 특성을 사용하는 마이닝 모델을 비교할 수 없습니다. 그러나 SQL Server 2008에서 마이닝 모델 열의 별칭을 만들 수 있습니다. 즉, 마이닝 모델 내에서 ServiceGrade Binned 열의 이름을 원래 열과 같은 이름으로 바꿀 수 있습니다. 이렇게 한 다음 데이터가 다르게 분할된 경우에도 정확도 차트에서 이러한 두 모델을 직접 비교할 수 있습니다.
마이닝 모델에서 마이닝 구조 열의 별칭을 추가하려면
마이닝 모델 탭의 구조에서 ServiceGrade Binned를 선택합니다.
속성 창에 ScalarMiningStructure 열 개체의 속성이 표시됩니다.
ServiceGrade Binned NN 마이닝 모델의 열 아래에서 ServiceGrade Binned 열에 해당하는 셀을 클릭합니다.
이제 속성 창에 MiningModelColumn 개체의 속성이 표시됩니다.
이름 속성을 찾고 값을 ServiceGrade로 변경합니다.
설명 속성을 찾고 Temporary column alias를 입력합니다.
속성 창에는 다음과 같은 정보가 포함됩니다.
속성
값
설명
Temporary column alias
ID
ServiceGrade Binned
모델링 플래그
이름
Service Grade
SourceColumn ID
Service Grade 1
사용법
Predict
마이닝 모델 탭의 아무 곳이나 클릭합니다.
표가 업데이트되어 새 임시 열 별칭인 ServiceGrade가 열 사용법 옆에 표시됩니다. 마이닝 구조와 두 마이닝 모델이 포함된 표는 다음과 같습니다.
구조
Call Center Default NN
Call Center Binned NN
Microsoft 신경망
Microsoft 신경망
AutomaticResponses
입력
입력
AverageTimePerIssue
예측
예측
Calls
입력
입력
DayOfWeek
입력
입력
FactCallCenterID
키
키
IssuesRaised
입력
입력
LevelOneOperators
입력
입력
LevelTwoOperators
입력
입력
Orders
입력
입력
ServceGrade Binned
무시
예측(ServiceGrade)
ServiceGrade
예측
무시
Shift
입력
입력
Total Operators
입력
입력
WageType
입력
입력
모델 처리
마지막으로, 위에서 만든 모델이 유사하도록 기본 모델과 범주화된 모델에 대한 초기값 매개 변수를 설정합니다. 초기값을 설정하면 각 모델이 동일한 지점에서 데이터 처리를 시작합니다.
[!참고]
초기값 매개 변수에 대한 숫자 값을 지정하지 않으면 SQL Server Analysis Services에서 모델 이름을 기반으로 하여 초기값을 생성합니다. 신경망 모델 및 로지스틱 회귀 모델의 이름이 서로 다르므로 동일한 순서로 데이터를 처리하도록 초기값을 설정해야 합니다.
초기값을 지정하고 모델을 처리하려면
마이닝 모델 탭의 Call Center - LR이라는 모델 열을 마우스 오른쪽 단추로 클릭하고 알고리즘 매개 변수 설정을 선택합니다.
HOLDOUT_SEED 매개 변수의 행에서 값 아래에 있는 빈 셀을 클릭하고 1을 입력합니다. 확인을 클릭합니다. 구조와 연관된 각 모델에 대해 이 단계를 반복합니다.
[!참고]
모든 관련 모델에 대해 동일한 초기값을 사용하는 경우에는 초기값으로 선택한 값이 중요하지 않습니다.
마이닝 모델 메뉴에서 마이닝 구조 및 모든 모델 처리를 선택합니다. 서버에 업데이트된 데이터 마이닝 프로젝트를 배포하려면 예를 클릭합니다.
마이닝 모델 처리 대화 상자에서 실행을 클릭합니다.
닫기를 클릭하여 처리 진행률 대화 상자를 닫은 다음 마이닝 모델 처리 대화 상자에서 다시 닫기를 클릭합니다.
관련된 두 가지 마이닝 모델을 만들었으므로 데이터를 탐색하여 데이터에서 관계를 찾습니다.
변경 내역
업데이트된 내용 |
---|
각 열이 다르게 분할되어 있는 숫자 열의 여러 복사본이 포함된 단일 마이닝 구조를 사용하도록 자습서 시나리오를 업데이트했습니다. |
데이터 마이닝 모델에서 열 별칭을 사용하는 방법에 대한 설명을 추가했습니다. |
업데이트된 시나리오와 일치하도록 예측 및 DDL 문에서 마이닝 모델 이름을 수정했습니다. |
새 DayOfWeek 열의 내용 유형에 해당하는 데이터 형식을 추가했습니다. |