이 항목에서는 Microsoft Naive Bayes 알고리즘을 사용하는 모델과 관련된 마이닝 모델 콘텐츠에 대해 설명합니다. 모든 모델 형식에서 공유하는 통계 및 구조와 마이닝 모델 콘텐츠와 관련된 용어의 일반 정의를 해석하는 방법에 대한 설명은 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.
Naive Bayes 모델의 구조 이해
Naive Bayes 모델에는 모델 및 해당 메타데이터를 나타내는 단일 부모 노드가 있으며, 해당 부모 노드 아래에는 선택한 예측 가능한 특성을 나타내는 임의의 수의 독립 트리가 있습니다. 특성에 대한 트리 외에도 각 모델에는 학습 사례 집합에 대한 설명 통계를 제공하는 하나의 한계 통계 노드(NODE_TYPE = 26)가 포함되어 있습니다. 자세한 내용은 한계 통계 노드의 정보를 참조하세요.
예측 가능한 각 특성 및 값에 대해 모델은 다양한 입력 열이 예측 가능한 특정 결과에 미치는 영향을 설명하는 정보가 포함된 트리를 출력합니다. 각 트리에는 예측 가능한 특성과 해당 값(NODE_TYPE = 9)과 입력 특성(NODE_TYPE = 10)을 나타내는 일련의 노드가 포함됩니다. 입력 특성에는 일반적으로 여러 값이 있으므로 각 입력 특성(NODE_TYPE = 10)에는 특성의 특정 상태에 대해 각각 여러 자식 노드(NODE_TYPE = 11)가 있을 수 있습니다.
비고
Naive Bayes 모델은 연속 데이터 형식을 허용하지 않으므로 입력 열의 모든 값은 불연속 또는 불연속화로 처리됩니다. 값을 불연속화하는 방법을 지정할 수 있습니다. 자세한 내용은 마이닝 모델에서 열의 이산화를 변경하는 방법을 확인하세요.
Naive Bayes 모델의 모델 콘텐츠
이 섹션에서는 Naive Bayes 모델에 대한 특정 관련성이 있는 마이닝 모델 콘텐츠의 해당 열에 대해서만 세부 정보 및 예제를 제공합니다.
여기에 설명되지 않은 MODEL_CATALOG 및 MODEL_NAME 같은 스키마 행 집합의 범용 열에 대한 자세한 내용은 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.
모델 카탈로그
모델이 저장되는 데이터베이스의 이름입니다.
MODEL_NAME
모델의 이름입니다.
속성_이름
이 노드에 해당하는 특성의 이름입니다.
모델 루트 예측 가능한 특성의 이름입니다.
한계 통계 해당 없음
예측 가능한 특성 예측 가능한 특성의 이름입니다.
입력 특성 입력 특성의 이름입니다.
입력 특성 상태 입력 특성의 이름입니다. 상태를 얻으려면 MSOLAP_NODE_SHORT_CAPTION 사용합니다.
노드 이름
노드의 이름입니다.
이 열은 NODE_UNIQUE_NAME 동일한 값을 포함합니다.
노드 명명 규칙에 대한 자세한 내용은 노드 이름 및 ID 사용을 참조하세요.
노드_고유_이름
노드의 고유 이름입니다. 고유한 이름은 노드 간의 관계에 대한 정보를 제공하는 규칙에 따라 할당됩니다. 노드 명명 규칙에 대한 자세한 내용은 노드 이름 및 ID 사용을 참조하세요.
NODE_TYPE
Naive Bayes 모델은 다음 노드 형식을 출력합니다.
| 노드 형식 ID | 설명 |
|---|---|
| 26 (NaiveBayesMarginalStatNode) | 모델에 대한 전체 학습 사례 집합을 설명하는 통계를 포함합니다. |
| 9(예측 가능한 특성) | 예측 가능한 특성의 이름을 포함합니다. |
| 10(입력 특성) | 입력 특성 열의 이름과 특성에 대한 값을 포함하는 자식 노드를 포함합니다. |
| 11(입력 특성 상태) | 특정 출력 특성과 쌍을 이루는 모든 입력 특성의 값 또는 불연속 값을 포함합니다. |
노드 캡션
노드와 연결된 레이블 또는 캡션입니다. 이 속성은 주로 표시용입니다.
모델 루트 비어 있음
한계 통계 비어 있음
예측 가능한 특성 예측 가능한 특성의 이름입니다.
입력 특성 예측 가능한 특성의 이름 및 현재 입력 특성입니다. 예:
자전거 구매자 -> 나이
입력 특성 상태 예측 가능한 특성의 이름 및 현재 입력 특성과 입력 값입니다. 예:
자전거 구매자 -> 나이 = 누락
자식 수
노드에 있는 자식 수입니다.
모델 루트 모델의 예측 가능한 특성 수와 한계 통계 노드의 경우 1입니다.
한계 통계 정의에 따라 자식이 없습니다.
예측 가능한 특성 현재 예측 가능한 특성과 관련된 입력 특성의 수입니다.
입력 속성 현재 입력 속성에 대한 이산 또는 이산화된 값의 개수입니다.
입력 특성 상태 항상 0.
상위_고유_이름
부모 노드의 고유 이름입니다. 부모 및 자식 노드 관련에 대한 자세한 내용은 노드 이름 및 ID 사용을 참조하세요.
노드 설명
노드 캡션과 동일합니다.
NODE_RULE
노드 캡션의 XML 표현입니다.
MARGINAL_RULE
노드 규칙과 동일합니다.
노드 확률
이 노드와 연결된 확률입니다.
모델 루트 항상 0.
한계 통계 항상 0.
예측 가능한 특성 항상 1.
입력 특성 항상 1.
입력 특성 상태 현재 값의 확률을 나타내는 10진수입니다. 부모 입력 특성 노드의 모든 입력 특성 상태에 대한 값은 1로 합산됩니다.
한계 확률
노드 확률과 동일합니다.
노드 분포
노드의 확률 히스토그램을 포함하는 테이블입니다. 자세한 내용은 NODE_DISTRIBUTION 표를 참조하세요.
노드 지원
이 노드를 지원하는 사례 수입니다.
모델 루트 학습 데이터의 모든 사례 수입니다.
한계 통계 항상 0.
예측 가능한 특성 학습 데이터의 모든 사례 수입니다.
입력 특성 학습 데이터의 모든 사례 수입니다.
입력 특성 상태 이 특정 값만 포함하는 학습 데이터의 사례 수입니다.
MSOLAP_MODEL_COLUMN
표시 용도로 사용되는 레이블입니다. 일반적으로 ATTRIBUTE_NAME 동일합니다.
MSOLAP_NODE_SCORE
모델 내에서 특성 또는 값의 중요도를 나타냅니다.
모델 루트 항상 0.
한계 통계 항상 0.
예측 가능한 특성 항상 0.
입력 특성 현재 예측 가능한 특성과 관련하여 현재 입력 특성의 흥미롭기 점수입니다.
입력 특성 상태 항상 0.
MSOLAP_NODE_SHORT_CAPTION
열의 이름 또는 값을 나타내는 텍스트 문자열입니다.
모델 루트 빈
한계 통계 빈
예측 가능한 특성 예측 가능한 특성의 이름입니다.
입력 특성 입력 특성의 이름입니다.
입력 특성 상태 입력 특성의 값 또는 불연속 값입니다.
노드 이름 및 ID 사용
Naive Bayes 모델에서 노드 이름을 지정하면 노드 유형에 대한 추가 정보를 제공하여 모델의 정보 간의 관계를 더 쉽게 이해할 수 있습니다. 다음 표에서는 다른 노드 형식에 할당된 ID에 대한 규칙을 보여 줍니다.
| 노드 형식 | 노드 ID에 대한 규칙 |
|---|---|
| 모델 루트(1) | 항상 0입니다. |
| 한계 통계 노드(26) | 임의의 ID 값입니다. |
| 예측 가능한 특성(9) | 10000000부터 시작하는 16진수 예: 100000001, 10000000b |
| 입력 특성(10) | 첫 번째 부분은 항상 20000000이고 두 번째 부분은 관련된 예측 가능한 특성의 16진수 식별자로 시작하는 두 부분으로 구성된 16진수입니다. 예: 20000000b00000000 이 경우 관련 예측 가능한 특성은 100000000b입니다. |
| 입력 특성 상태(11) | 첫 번째 부분이 항상 30000000이고, 두 번째 부분은 관련 예측 가능한 특성의 16진수 식별자로 시작하고, 세 번째 부분은 값의 식별자를 나타내는 3부로 구성된 16진수입니다. 예: 30000000b0000000200000000 이 경우 관련 예측 가능한 특성은 100000000b입니다. |
ID를 사용하여 입력 특성 및 상태를 예측 가능한 특성과 연결할 수 있습니다. 예를 들어 다음 쿼리는 모델에 TM_NaiveBayes대한 입력 및 예측 가능한 특성의 가능한 조합을 나타내는 노드의 이름과 캡션을 반환합니다.
SELECT NODE_NAME, NODE_CAPTION
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 10
예상 결과:
| 노드 이름 | 노드 캡션 |
|---|---|
| 20000000000000001 | 자전거 구매자 -> 통근 거리 |
| 20000000000000002 | 자전거 구매자 -> 영어 교육 |
| 20000000000000003 | 자전거 구매자 -> 영어 직업 |
| 20000000000000009 | 자전거 구매자 -> 결혼 상태 |
| 2000000000000000a | 자전거 구매자 -> 집에 있는 자녀 수 |
| 2000000000000000b | 자전거 구매자 -> 지역 |
| 2000000000000000c | 자전거 구매자 -> 총 자녀 수 |
그런 다음 부모 노드의 ID를 사용하여 자식 노드를 검색할 수 있습니다. 다음 쿼리는 각 노드의 확률과 함께 특성 값이 포함된 Marital Status 노드를 검색합니다.
SELECT NODE_NAME, NODE_CAPTION, NODE_PROBABILITY
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 11
AND [PARENT_UNIQUE_NAME] = '20000000000000009'
비고
열의 이름(PARENT_UNIQUE_NAME)은 같은 이름의 예약된 키워드와 구분하기 위해 대괄호로 묶어야 합니다.
예상 결과:
| 노드 이름 | 노드 캡션 | 노드 확률 |
|---|---|---|
| 3000000000000000900000000 | 자전거 구매자 -> 결혼 상태 = 누락 | 0 |
| 3000000000000000900000001 | 자전거 구매자 -> 결혼 상태 = S | 0.457504004 |
| 3000000000000000900000002 | 자전거 구매자 -> 결혼 상태 = M | 0.542495996 |
NODE_DISTRIBUTION 테이블
NODE_DISTRIBUTION 중첩 테이블 열에는 일반적으로 노드의 값 분포에 대한 통계가 포함됩니다. Naive Bayes 모델에서 이 테이블은 다음 노드에 대해서만 채워집니다.
| 노드 형식 | 중첩 테이블의 내용 |
|---|---|
| 모델 루트(1) | 빈. |
| 주변 통계 노드(24) | 전체 학습 데이터 집합에 대한 모든 예측 가능한 특성 및 입력 특성에 대한 요약 정보를 포함합니다. |
| 예측 가능한 특성(9) | 빈. |
| 입력 특성(10) | 빈. |
| 입력 특성 상태(11) | 예측 가능한 값과 입력 특성 값의 이 특정 조합에 대한 학습 데이터의 값 분포를 설명하는 통계를 포함합니다. |
노드 ID 또는 노드 캡션을 사용하여 증가하는 세부 수준을 검색할 수 있습니다. 예를 들어 다음 쿼리는 값 'Marital Status = S'과 관련된 입력 특성 노드에 대해서만 NODE_DISTRIBUTION 테이블에서 특정 열을 검색합니다.
SELECT FLATTENED NODE_CAPTION,
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT], [PROBABILITY], VALUETYPE
FROM NODE_DISTRIBUTION) as t
FROM TM_NaiveBayes.content
WHERE NODE_TYPE = 11
AND NODE_CAPTION = 'Bike Buyer -> Marital Status = S'
예상 결과:
| 노드 캡션 | t.ATTRIBUTE_NAME | t.ATTRIBUTE_VALUE | t.SUPPORT | t.확률 | t.VALUETYPE |
|---|---|---|---|---|---|
| 자전거 구매자 -> 결혼 상태 = S | 자전거 구매자 | 없어진 | 0 | 0 | 1 |
| 자전거 구매자 -> 결혼 상태 = S | 자전거 구매자 | 0 | 3783 | 0.472934117 | 4 |
| 자전거 구매자 -> 결혼 상태 = S | 자전거 구매자 | 1 | 4216 | 0.527065883 | 4 |
이 결과에서 SUPPORT 열의 값은 특정 결혼 상태를 가진 고객 중 자전거를 구입한 사람의 수를 알려줍니다. PROBABILITY 열에는 이 노드에 대해서만 계산된 각 특성 값의 확률이 포함됩니다. NODE_DISTRIBUTION 테이블에 사용되는 용어의 일반적인 정의는 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)를 참조하세요.
한계 통계 노드의 정보
Naive Bayes 모델에서 한계 통계 노드의 중첩 테이블에는 전체 학습 데이터 집합에 대한 값 분포가 포함됩니다. 예를 들어 다음 표에는 모델의 TM_NaiveBayes중첩된 NODE_DISTRIBUTION 테이블에 있는 통계의 일부 목록이 포함되어 있습니다.
| 속성_이름 | ATTRIBUTE_VALUE | 별칭 | 확률 | 분산 | 밸류타입 |
|---|---|---|---|---|---|
| 자전거 구매자 | 없어진 | 0 | 0 | 0 | 1 |
| 자전거 구매자 | 0 | 8869 | 0.507263784 | 0 | 4 |
| 자전거 구매자 | 1 | 8615 | 0.492736216 | 0 | 4 |
| 결혼 상태 | 없어진 | 0 | 0 | 0 | 1 |
| 결혼 상태 | 에스 | 7999 | 0.457504004 | 0 | 4 |
| 결혼 상태 | M | 9485 | 0.542495996 | 0 | 4 |
| 전체 어린이 수 | 없어진 | 0 | 0 | 0 | 1 |
| 전체 어린이 수 | 0 | 4865 | 0.278254404 | 0 | 4 |
| 전체 어린이 수 | 3 | 2093 | 0.119709449 | 0 | 4 |
| 전체 어린이 수 | 1 | 3406 | 0.19480668 | 0 | 4 |
Bike Buyer 한계 통계 노드에는 예측 가능한 특성 및 가능한 값에 대한 설명이 항상 포함되므로 열이 포함됩니다. 나열된 다른 모든 열은 모델에 사용된 값과 함께 입력 특성을 나타냅니다. 값은 누락, 불연속 또는 불연속화만 가능합니다.
Naive Bayes 모델에서는 연속 특성이 없을 수 있습니다. 따라서 모든 숫자 데이터는 불연속(VALUE_TYPE = 4) 또는 불연속(VALUE_TYPE = 5)으로 표시됩니다.
Missing 학습 데이터에 없는 잠재적 값을 나타내기 위해 모든 입력 및 출력 특성에 값(VALUE_TYPE = 1)이 추가됩니다. 문자열로 "missing"과 기본값 Missing 을 구분하는 데 주의해야 합니다. 자세한 내용은 누락 값(Analysis Services - 데이터 마이닝)을 참조하세요.
또한 참조하십시오
마이닝 모델 콘텐츠(분석 서비스 - 데이터 마이닝)
데이터 마이닝 모델 뷰어
데이터 마이닝 쿼리
Microsoft Naive Bayes 알고리즘