以下是一个使用Python编写的决策树案例代码示例:
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import metrics
# 读取数据集
data = pd.read_csv("iris.csv")
# 将目标变量从文本转换为数字
data['species'] = pd.factorize(data.species)[0]
# 将特征列和目标变量分离
X = data.drop('species', axis=1)
y = data['species']
# 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
# 创建决策树分类器对象,并将其拟合到训练数据上
clf = DecisionTreeClassifier()
clf.fit(X_train,y_train)
# 预测测试集上的类别,并计算准确度得分
y_pred = clf.predict(X_test)
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
# 可视化决策树模型
from sklearn.tree import export_graphviz
from IPython.display import Image
import pydotplus
dot_data = export_graphviz(clf, out_file=None,
feature_names=X.columns,
class_names=['setosa', 'versicolor', 'virginica'],
filled=True, rounded=True,
special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data)
Image(graph.create_png())
在上面的代码中,我们首先使用Pandas库读取名为“iris.csv”的数据集。然后,我们将目标变量从文本转换为数字,并将特征列和目标变量分离。接下来,我们使用train_test_split()
函数将数据集拆分为训练集和测试集。
然后,我们创建了一个DecisionTreeClassifier
对象,并使用fit()
方法将其拟合到训练数据上。我们使用测试集上的数据预测类别,并计算准确度得分。
最后,我们使用export_graphviz()
函数可视化决策树模型,并用Pydotplus库渲染它。您可以在代码中修改特征名称、目标变量名称和类别名称以适应您自己的数据集。