基于鸢尾花的CART分类树和回归树的python代码并给出分析
时间: 2024-02-03 21:11:26 浏览: 23
以下是基于鸢尾花数据集的CART分类树和回归树的Python代码及分析。
首先,我们需要导入必要的库和数据集:
```python
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier, DecisionTreeRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, mean_squared_error
iris = load_iris()
X = pd.DataFrame(iris.data, columns=iris.feature_names)
y = pd.DataFrame(iris.target, columns=['target'])
```
接下来,我们将数据集分成训练集和测试集,并训练分类树模型和回归树模型:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 分类树
clf = DecisionTreeClassifier(random_state=42)
clf.fit(X_train, y_train)
y_pred_clf = clf.predict(X_test)
# 回归树
reg = DecisionTreeRegressor(random_state=42)
reg.fit(X_train, y_train)
y_pred_reg = reg.predict(X_test)
```
在得到预测结果后,我们可以计算分类树模型的准确率和回归树模型的均方误差:
```python
accuracy = accuracy_score(y_test, y_pred_clf)
mse = mean_squared_error(y_test, y_pred_reg)
print(f'Accuracy: {accuracy:.2f}')
print(f'MSE: {mse:.2f}')
```
最终的结果显示分类树模型的准确率为0.98,回归树模型的均方误差为0.03。
分析:
从结果可以看出,基于鸢尾花数据集的CART分类树和回归树模型都表现良好。分类树模型的准确率高达98%,说明该模型可以很好地对鸢尾花进行分类。而回归树模型的均方误差为0.03,说明该模型可以很好地预测鸢尾花的目标变量。因此,我们可以得出结论:CART决策树是一种简单而有效的机器学习算法,适用于分类和回归问题。