---
code: "SCH-30"
id: "c-sch-dtree"
tab: "schemas"
kind: "schema"
title: "Decision Tree · 의사결정 트리"
library: "SVG"
deps: ["svg"]
load: "low"
pasteKind: "schema-svg"
family: "tree"
dataShape: "6-cell diagram with 분기 트리 axis"
tasks: ["structure ideas", "explain process", "choose communication frame"]
tags: ["tree", "분기 트리", "6cells", "DecisionTree", "분류", "정책", "체크리스트"]
gallery: "https://graph.heal7.com/#SCH-30"
js: "/sku/SCH-30.js"
---

# [SCH-30] Decision Tree · 의사결정 트리

> AI 붙여넣기 카드. 갤러리 런타임(`main.js`)이 아니라 이 파일을 가져와라.

## 언제 가져가나
루트 질문 → Yes/No 분기 → 잎 결론 — 의사결정/분류 규칙의 표준 트리.

**응용** 정책 분기, 트러블슈팅 체크리스트, 자격 판정, 분류 모델 설명.

## 데이터 모양
- family: `tree`
- dataShape: 6-cell diagram with 분기 트리 axis
- tasks: structure ideas, explain process, choose communication frame
- tags: tree, 분기 트리, 6cells, DecisionTree, 분류, 정책, 체크리스트

- schema.type: `tree`
- schema.cells: `6`
- schema.axis: `분기 트리`


## 의존
svg · load `low` · library `SVG`

## 붙여넣는 법
1. 라이브러리 없음. svg viewBox 0 0 400 240
2. 아래 body 를 svg 안에 넣는다
3. 색 변수(`${gold}` 등)는 T 토큰으로 치환한다

```js
const T = {
  "bg": "transparent",
  "fg": "#ece8f5",
  "sub": "#a59bbd",
  "grid": "rgba(255,255,255,.08)",
  "gold": "#e8c069",
  "royal": "#6b8cff",
  "rose": "#e07a9f",
  "teal": "#6dd2c4",
  "plum": "#b487e8"
};
const gold = T.gold, royal = T.royal, rose = T.rose, teal = T.teal, plum = T.plum, fg = T.fg, sub = T.sub;
const stroke = 'rgba(255,255,255,.18)';
const fill1 = 'rgba(232,192,105,.10)';
const fill2 = 'rgba(107,140,255,.10)';
const host = document.querySelector('#chart');
const body = `
    <ellipse cx="200" cy="35" rx="55" ry="20" fill="rgba(232,192,105,.20)" stroke="${gold}" stroke-width="1.8"/>
    <text x="200" y="39" text-anchor="middle" fill="${gold}" font-size="11" font-weight="700">자격 충족?</text>
    <line x1="180" y1="55" x2="100" y2="90" stroke="${stroke}" stroke-width="1.2"/>
    <line x1="220" y1="55" x2="300" y2="90" stroke="${stroke}" stroke-width="1.2"/>
    <text x="135" y="78" fill="${rose}" font-size="10" font-weight="700">No</text>
    <text x="255" y="78" fill="${teal}" font-size="10" font-weight="700">Yes</text>
    <ellipse cx="100" cy="105" rx="50" ry="18" fill="rgba(224,122,159,.18)" stroke="${rose}" stroke-width="1.5"/>
    <text x="100" y="109" text-anchor="middle" fill="${fg}" font-size="10" font-weight="600">예외 처리</text>
    <ellipse cx="300" cy="105" rx="55" ry="20" fill="${fill1}" stroke="${royal}" stroke-width="1.5"/>
    <text x="300" y="109" text-anchor="middle" fill="${fg}" font-size="11" font-weight="600">서류 검토</text>
    <line x1="278" y1="125" x2="220" y2="160" stroke="${stroke}" stroke-width="1.2"/>
    <line x1="322" y1="125" x2="360" y2="160" stroke="${stroke}" stroke-width="1.2"/>
    <text x="240" y="150" fill="${rose}" font-size="10" font-weight="700">No</text>
    <text x="335" y="150" fill="${teal}" font-size="10" font-weight="700">Yes</text>
    <rect x="170" y="166" width="100" height="30" rx="6" fill="rgba(224,122,159,.16)" stroke="${rose}" stroke-width="1.5"/>
    <text x="220" y="186" text-anchor="middle" fill="${fg}" font-size="11" font-weight="600">탈락</text>
    <rect x="310" y="166" width="80" height="30" rx="6" fill="rgba(109,210,196,.16)" stroke="${teal}" stroke-width="1.5"/>
    <text x="350" y="186" text-anchor="middle" fill="${fg}" font-size="11" font-weight="600">합격</text>
    <text x="200" y="225" text-anchor="middle" fill="${sub}" font-size="11">루트 → Y/N 분기 → 잎 결론</text>
  `;
host.innerHTML = '<svg viewBox="0 0 400 240" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" style="overflow:visible">' + (typeof body === 'string' ? body : '') + '</svg>';
```

## 원본 factory (갤러리 정본 발췌)
- file: `frontend/js/graph-gallery/main.js`
- lines: 3911-4470
- gallery: https://graph.heal7.com/#SCH-30
- raw js: https://graph.heal7.com/sku/SCH-30.js

```js
`
    <ellipse cx="200" cy="35" rx="55" ry="20" fill="rgba(232,192,105,.20)" stroke="${gold}" stroke-width="1.8"/>
    <text x="200" y="39" text-anchor="middle" fill="${gold}" font-size="11" font-weight="700">자격 충족?</text>
    <line x1="180" y1="55" x2="100" y2="90" stroke="${stroke}" stroke-width="1.2"/>
    <line x1="220" y1="55" x2="300" y2="90" stroke="${stroke}" stroke-width="1.2"/>
    <text x="135" y="78" fill="${rose}" font-size="10" font-weight="700">No</text>
    <text x="255" y="78" fill="${teal}" font-size="10" font-weight="700">Yes</text>
    <ellipse cx="100" cy="105" rx="50" ry="18" fill="rgba(224,122,159,.18)" stroke="${rose}" stroke-width="1.5"/>
    <text x="100" y="109" text-anchor="middle" fill="${fg}" font-size="10" font-weight="600">예외 처리</text>
    <ellipse cx="300" cy="105" rx="55" ry="20" fill="${fill1}" stroke="${royal}" stroke-width="1.5"/>
    <text x="300" y="109" text-anchor="middle" fill="${fg}" font-size="11" font-weight="600">서류 검토</text>
    <line x1="278" y1="125" x2="220" y2="160" stroke="${stroke}" stroke-width="1.2"/>
    <line x1="322" y1="125" x2="360" y2="160" stroke="${stroke}" stroke-width="1.2"/>
    <text x="240" y="150" fill="${rose}" font-size="10" font-weight="700">No</text>
    <text x="335" y="150" fill="${teal}" font-size="10" font-weight="700">Yes</text>
    <rect x="170" y="166" width="100" height="30" rx="6" fill="rgba(224,122,159,.16)" stroke="${rose}" stroke-width="1.5"/>
    <text x="220" y="186" text-anchor="middle" fill="${fg}" font-size="11" font-weight="600">탈락</text>
    <rect x="310" y="166" width="80" height="30" rx="6" fill="rgba(109,210,196,.16)" stroke="${teal}" stroke-width="1.5"/>
    <text x="350" y="186" text-anchor="middle" fill="${fg}" font-size="11" font-weight="600">합격</text>
    <text x="200" y="225" text-anchor="middle" fill="${sub}" font-size="11">루트 → Y/N 분기 → 잎 결론</text>
  `
```

## 시나리오
- 정책 분기 — 자격 판정
- 트러블슈팅 체크리스트
- 분류 모델 설명 (XAI)
- 보험 인수 의사결정

## 관련 SKU
`c-sch-userflow`, `c-sch-ia`

