python分类回归决策树 CART代码
时间: 2023-08-06 18:13:42 浏览: 25
以下是使用Python实现分类回归决策树(CART)的代码示例:
首先,我们需要导入必要的库:
```python
from sklearn.tree import DecisionTreeClassifier, DecisionTreeRegressor
from sklearn.datasets import load_iris, load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, mean_squared_error
```
接下来,我们可以使用`load_iris`和`load_boston`函数分别加载鸢尾花数据集和波士顿房价数据集:
```python
# 加载鸢尾花数据集
iris = load_iris()
X, y = iris.data, iris.target
# 加载波士顿房价数据集
boston = load_boston()
X_reg, y_reg = boston.data, boston.target
```
然后,我们可以将数据集划分为训练集和测试集:
```python
# 分割鸢尾花数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 分割波士顿房价数据集为训练集和测试集
X_train_reg, X_test_reg, y_train_reg, y_test_reg = train_test_split(X_reg, y_reg, test_size=0.2, random_state=42)
```
接下来,我们可以使用`DecisionTreeClassifier`和`DecisionTreeRegressor`类来构建分类回归决策树:
```python
# 构建分类决策树模型并拟合训练集
clf = DecisionTreeClassifier(random_state=42)
clf.fit(X_train, y_train)
# 构建回归决策树模型并拟合训练集
reg = DecisionTreeRegressor(random_state=42)
reg.fit(X_train_reg, y_train_reg)
```
然后,我们可以使用测试集来评估模型的性能:
```python
# 计算分类决策树模型在测试集上的准确率
y_pred = clf.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print(f"Accuracy: {acc:.2f}")
# 计算回归决策树模型在测试集上的均方误差
y_pred_reg = reg.predict(X_test_reg)
mse = mean_squared_error(y_test_reg, y_pred_reg)
print(f"MSE: {mse:.2f}")
```
最后,我们可以绘制决策树的图形以可视化模型的决策过程:
```python
from sklearn.tree import plot_tree
import matplotlib.pyplot as plt
# 绘制分类决策树模型的图形
plt.figure(figsize=(12, 6))
plot_tree(clf, filled=True)
plt.show()
# 绘制回归决策树模型的图形
plt.figure(figsize=(12, 6))
plot_tree(reg, filled=True)
plt.show()
```
以上就是使用Python实现分类回归决策树(CART)的代码示例。
相关推荐

















