[javascript] Chart.js에서의 의사 결정 트리 시각화

의사 결정 트리는 데이터를 분석하고 예측하기 위해 사용되는 강력한 기계 학습 알고리즘입니다. 이러한 트리 구조를 시각화하는 것은 데이터의 패턴을 이해하고 모델의 의사 결정 규칙을 시각적으로 파악하는 데 도움이 됩니다.

Chart.js는 웹 개발자들에게 인기있는 JavaScript 라이브러리로, 다양한 종류의 그래프와 차트를 생성하는 데 사용됩니다. 이 포스트에서는 Chart.js를 사용하여 의사 결정 트리를 시각화하는 방법에 대해 알아보겠습니다.

Chart.js 설치

Chart.js를 사용하기 위해 먼저 해당 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 npm으로 Chart.js를 설치할 수 있습니다.

npm install chart.js

의사 결정 트리 데이터

데이터를 시각화하기 전에 의사 결정 트리를 만들기 위한 샘플 데이터가 필요합니다. 이 예시에서는 내장된 iris 데이터셋을 사용하겠습니다. 다음은 iris 데이터셋을 로드하여 의사 결정 트리 모델을 훈련시키는 코드입니다.

const irisData = require('ml-dataset-iris');

const decisionTree = require('decision-tree');

const trainingData = irisData.map((row) => ({
  input: row.splice(0, 4),
  output: row
}));

const dt = new decisionTree(trainingData, ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']);

Chart.js 그래프 생성

의사 결정 트리를 시각화하기 위해 Chart.js의 Chart 클래스를 사용하여 그래프를 생성합니다. 다음은 Chart.js를 사용하여 의사 결정 트리를 시각화하는 코드입니다.

const decisionTreeGraph = dt.toJSON();

const ctx = document.getElementById('decisionTreeChart').getContext('2d');

const decisionTreeChart = new Chart(ctx, {
  type: 'line',
  data: {
    labels: Object.keys(decisionTreeGraph),
    datasets: [{
      label: 'Decision Tree',
      data: Object.values(decisionTreeGraph),
      fill: false,
      borderColor: 'rgba(75, 192, 192, 1)',
      tension: 0.1
    }]
  },
  options: {
    scales: {
      y: {
        beginAtZero: true
      }
    }
  }
});

위의 코드에서 decisionTreeGraph 변수는 의사 결정 트리를 텍스트 기반의 그래프 데이터로 변환한 결과입니다. decisionTreeChart 객체를 사용하여 그래프를 생성하고 그래프의 속성을 설정합니다.

결과

위의 코드를 실행하면 의사 결정 트리가 decisionTreeChart 객체를 통해 시각화됩니다. 그래프는 라인 차트로 표시되며, 각각의 노드와 엣지가 데이터의 흐름을 보여줍니다.

Chart.js를 사용하여 의사 결정 트리를 시각화하는 방법에 대해 알아보았습니다. 이를 통해 데이터의 패턴과 의사 결정 규칙을 시각적으로 이해할 수 있기 때문에, 데이터 분석 및 모델 개선에 도움이 될 것입니다.

참고 자료