jupyter中cart决策树算法
时间: 2025-05-23 08:02:48 浏览: 12
### 实现CART决策树算法
要在Jupyter Notebook中实现和使用CART(Classification and Regression Tree)决策树算法,可以按照以下方法完成。此过程涉及数据准备、模型训练以及可视化等内容。
#### 数据准备
为了演示目的,可以选择一个经典的数据集,比如`scikit-learn`库自带的鸢尾花(Iris)数据集作为例子[^1]。该数据集包含了三种不同类别的鸢尾花卉样本及其特征值。
```python
from sklearn.datasets import load_iris
import pandas as pd
data = load_iris()
df = pd.DataFrame(data.data, columns=data.feature_names)
df['target'] = data.target
```
#### 构建 CART 决策树模型
利用 `sklearn.tree.DecisionTreeClassifier` 类构建未剪枝的 CART 决策树分类器[^2]。这里设置参数 `criterion='gini'` 来指定采用基尼指数进行节点分裂的选择标准。
```python
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
X_train, X_test, y_train, y_test = train_test_split(df[data.feature_names], df['target'], test_size=0.3, random_state=42)
clf = DecisionTreeClassifier(criterion="gini", max_depth=None)
clf.fit(X_train, y_train)
```
#### 模型评估
通过计算测试集上的预测精度来验证所建立模型的效果。
```python
accuracy = clf.score(X_test, y_test)
print(f"Accuracy on the test set: {accuracy:.2f}")
```
#### 可视化决策树结构
借助 `export_graphviz` 函数导出决策树图形表示并转换成 PNG 文件形式展示于 Jupyter Notebook 中[^3]。
```python
from sklearn.tree import export_graphviz
import graphviz
dot_data = export_graphviz(clf, out_file=None,
feature_names=data.feature_names,
class_names=data.target_names,
filled=True, rounded=True,
special_characters=True)
graph = graphviz.Source(dot_data)
graph.render("decision_tree") # 将生成名为 decision_tree.pdf 的文件
graph
```
以上就是在 Jupyter Notebook 环境下运用 Python 编程语言实现 CART 决策树的一个基本流程[^1][^2][^3]。
阅读全文
相关推荐


















