Python+scikit-learn实现简单决策树分析

明俊数据分析 2024-02-22 04:49:40

决策树是一种常用的机器学习算法,用于分类和回归任务。在Python中,可以使用scikit-learn库(简称sklearn)来构建和训练决策树模型。以下是一个基于scikit-learn的决策树分析的示例,它演示了如何使用决策树进行分类。

示例:使用决策树进行鸢尾花(Iris)分类from sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_splitfrom sklearn.tree import DecisionTreeClassifier, plot_treeimport matplotlib.pyplot as plt# 加载鸢尾花数据集iris = load_iris()X = iris.datay = iris.target# 将数据集分为训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)# 创建决策树分类器clf = DecisionTreeClassifier()# 训练决策树分类器clf.fit(X_train, y_train)# 使用测试集评估模型性能score = clf.score(X_test, y_test)print(f"Model Accuracy: {score:.2f}")# 绘制决策树plt.figure(figsize=(12, 8))plot_tree(clf, filled=True, feature_names=iris.feature_names,_names=iris.target_names)plt.show()

在这个例子中:

使用scikit-learn加载了著名的鸢尾花数据集。将数据集划分为训练集和测试集。创建了一个DecisionTreeClassifier实例。使用训练集数据训练了决策树模型。计算了模型在测试集上的准确率。使用matplotlib绘制了决策树的图形表示。注意事项:决策树容易过拟合,特别是当树变得很深时。可以通过设置DecisionTreeClassifier的参数(如max_depth)来控制树的深度。在实际应用中,可能需要进行更复杂的参数调整和模型评估来获得最佳性能。plot_tree函数提供了一种直观的方式来查看决策树的结构,有助于理解模型是如何做出预测的。

0 阅读:0

明俊数据分析

简介:感谢大家的关注