Matlab は決定木アルゴリズムを実装しています (複数の完全なシミュレーション ソース コードが添付されています)

デシジョン ツリーは、分類問題と回帰問題の両方に使用できる一般的な機械学習アルゴリズムです。この記事では、Matlab を使用して決定木アルゴリズムを実装する方法を紹介します。

1. データの前処理

デシジョン ツリー アルゴリズムを使用する前に、データ クリーニング、欠損値の処理、特徴の選択など、データを前処理する必要があります。この記事では、例として UCI Machine Learning Repository の Iris データセットを使用します。アヤメのデータセットには 3 つの異なるアヤメの花が含まれており、それぞれががく片の長さ、がく片の幅、花弁の長さ、花弁の幅という 4 つの特徴を備えています。

まず、データ セットをトレーニング セットとテスト セットに分割し、後続の処理のためにデータ セットを表形式に変換する必要があります。

% 加载数据集
load iris_dataset.mat

% 将数据集转换为表格形式
irisTable = table(meas, species);

% 分割数据集为训练集和测试集
cv = cvpartition(height(irisTable), 'HoldOut', 0.3);
trainData = irisTable(training(cv), :);
testData = irisTable(test(cv), :);

次に、各特徴の平均が 0、標準偏差が 1 になるように特徴を標準化する必要があります。

% 对特征进行标准化处理
trainData.meas = zscore(trainData.meas);
testData.meas = zscore(testData.meas);

2. デシジョンツリーモデルを構築する

Matlab では、関数 ClassificationTree を使用してデシジョン ツリー モデルを構築できます。この関数は、ツリーの最大深さ、リーフ ノードの最小数など、多くのパラメータを設定できます。

% 构建决策树模型
tree = fitctree(trainData, 'species', 'PredictorNames', {
    
    'meas1', 'meas2', 'meas3', 'meas4'}, 'MaxNumSplits', 10);

上記のコードでは、ツリーの最大深さを 10 に設定しています。つまり、ツリーには最大 10 のレイヤーがあります。また、PredictorNames パラメーターを設定して、特徴の名前を指定します。

3. テストモデル

トレーニングが完了したら、テスト セットを使用してモデルをテストし、モデルの精度を計算できます。

% 使用测试集测试模型
predSpecies = predict(tree, testData(:, 1:4));
accuracy = sum(strcmp(predSpecies, testData.species))/length(testData.species);
fprintf('准确率:%.2f%%\n', accuracy*100);

上記のコードでは、predict 関数を使用してテスト セットを予測し、モデルの精度を計算します。

4. デシジョンツリーの視覚化

Matlab は、デシジョン ツリー モデルを簡単に視覚化できるビュー機能を提供します。

% 可视化决策树
view(tree, 'Mode', 'graph');

上記のコードでは、view 関数を使用してデシジョン ツリー モデルを視覚化しました。

5. まとめ

この記事では、Matlab を使用してデシジョン ツリー アルゴリズムを実装する方法を紹介し、デモンストレーションの例として Iris データ セットを使用します。デシジョン ツリーは、分類問題と回帰問題の両方に使用できる一般的な機械学習アルゴリズムです。実際のアプリケーションでは、実際の状況に応じて決定木アルゴリズムのパラメーターを調整して、より良いパフォーマンスを得ることができます。

6. 完全なシミュレーション ソース コードのダウンロード

Matlab に基づくデシジョン ツリーとランダム フォレスト アルゴリズムの実装 (完全なソース コード + ドキュメント + データ).rar: https://download.csdn.net/download/m0_62143653/87959445

Matlab に基づくデシジョン ツリー C4.5 アルゴリズムの実装 (完全なソース コード + ドキュメント + データ).rar: https://download.csdn.net/download/m0_62143653/87864281

Matlab デシジョン ツリーに基づくニュース データ予測シミュレーション (完全なソース コード + ドキュメント + データ).rar: https://download.csdn.net/download/m0_62143653/87864136

Matlab に基づく乳がん診断におけるデシジョン ツリー分類器のアプリケーション研究シミュレーション (完全なソース コード + ドキュメント + データ).rar: https://download.csdn.net/download/m0_62143653/87782291

おすすめ

転載: blog.csdn.net/m0_62143653/article/details/131181769