决策树模型python代码
时间: 2024-11-28 22:20:05 浏览: 15
决策树是一种常见的机器学习算法,用于分类和回归分析。在Python中,我们可以使用scikit-learn库中的`DecisionTreeClassifier`或`DecisionTreeRegressor`来构建决策树模型。这里是一个简单的例子,展示如何使用决策树对鸢尾花数据集做分类:
```python
# 导入必要的库
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建并训练决策树模型
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
# 可视化决策树(需要安装graphviz)
try:
from sklearn.tree import export_graphviz
import graphviz
dot_data = export_graphviz(clf, out_file=None, feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True)
graph = graphviz.Source(dot_data)
graph.view() # 如果在Jupyter notebook中运行,可以查看可视化结果
except ImportError:
print("To visualize the tree, install graphviz.")
```
这个示例首先加载数据,划分训练集和测试集,然后创建并训练了一个决策树分类器。最后,它预测了测试集的结果,并计算了分类的准确性。
阅读全文