采用python语言编写决策树算法,选取给定数据编号,色泽,根蒂,好瓜是 1,青绿,蜷缩,是 2,乌黑,蜷缩,是 3,乌黑,蜷缩,是 4,乌黑,稍蜷,否 5,青绿,硬挺,否的前60%数据构造分类决策树,剩余数据进行性能测试,并给出预测结果。
时间: 2023-08-15 19:08:42 浏览: 144
好的,这是一个典型的分类问题,我们可以采用决策树算法进行建模和分类。首先,我们需要导入相关的库和数据:
```python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier, plot_tree
from sklearn.metrics import accuracy_score
# 读入数据
data = pd.DataFrame({
'编号': [1, 2, 3, 4, 5],
'色泽': ['青绿', '青绿', '乌黑', '乌黑', '青绿'],
'根蒂': ['蜷缩', '蜷缩', '蜷缩', '稍蜷', '硬挺'],
'好瓜': ['是', '是', '是', '否', '否']
})
# 将分类变量转换为数值变量
data['色泽'] = pd.factorize(data['色泽'])[0]
data['根蒂'] = pd.factorize(data['根蒂'])[0]
data['好瓜'] = pd.factorize(data['好瓜'])[0]
# 取前60%数据作为训练集,后40%数据作为测试集
train = data.iloc[:3]
test = data.iloc[3:]
```
接下来,我们可以使用`DecisionTreeClassifier`函数构建分类决策树模型,并对测试集进行预测:
```python
# 构建分类决策树模型
model = DecisionTreeClassifier()
model.fit(train[['色泽', '根蒂']], train['好瓜'])
# 对测试集进行预测
y_pred = model.predict(test[['色泽', '根蒂']])
```
最后,我们可以计算模型的准确率并输出预测结果:
```python
# 计算模型的准确率
accuracy = accuracy_score(test['好瓜'], y_pred)
# 输出预测结果
print('测试集的真实标签为:', test['好瓜'].values)
print('测试集的预测标签为:', y_pred)
print('模型的准确率为:', accuracy)
```
完整的代码如下:
阅读全文