C14.1
随机森林分类器(RandomForest分类器)
教材页 第14章
数据 鸢尾花数据集
任务 建立随机森林分类模型。
Python

from sklearn.ensemble import RandomForestClassifier;
import sklearn.datasets as datasets;
from sklearn.model_selection import train_test_split;
import numpy as np

ds = datasets.load_iris();
X = ds.data;
y = ds.target ;
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state=14);
clf = RandomForestClassifier(); #建立随机森林分类器
clf = clf.fit(X_train, y_train); #模型训练
y_predicted = clf.predict(X_test); #模型预测
accuracy = np.mean(y_predicted == y_test); #计算准确率
print ("y_test\n",y_test);
print ("y_predicted\n",y_predicted);
print ("accuracy:",accuracy);

C++ #include "orsci.h"
#include "orsci_dm.h"
using namespace orsci;
using namespace dm;

cmdouble ds;
ds.dataset.load_iris();
cout << ds.model.randomforest.kOnce(0.8, true) << endl;

输出

Python输出:
y_test
[0 0 0 1 2 1 0 1 0 1 2 0 2 2 0 1 0 2 2 1 0 0 0 1 0 2 0 1 1 0]
y_predicted
[0 0 0 1 2 1 0 1 0 1 1 0 2 2 0 1 0 2 2 1 0 0 0 1 0 2 0 1 1 0]
accuracy: 0.9666666666666667(注:由于是一次随机划分数据集实验,因此结果也可能有所不同)

C++输出:
30 3 0.9 0.923077 0.9 0.911392 0.9 0.05,其中一次按照4:1随机划分数据集的准确率为0.9,该评价指标为初步评价。
可进一步限制树的深度等参数再进行评价。

书籍 姜维.《数据分析与数据挖掘》、《数据分析与数据挖掘建模与工具》,电子工业出版社, 2023,2024。
软件 Python,C++(附加orsci包)。