编写一个决策树python代码
时间: 2024-02-07 17:03:44 浏览: 19
以下是一个简单的决策树Python代码:
```
# 导入所需的库
from sklearn import tree
import pandas as pd
# 创建数据集
data = pd.DataFrame({'Outlook': ['Sunny', 'Sunny', 'Overcast', 'Rainy', 'Rainy', 'Rainy', 'Overcast', 'Sunny', 'Sunny', 'Rainy', 'Sunny', 'Overcast', 'Overcast', 'Rainy'],
'Temperature': ['Hot', 'Hot', 'Hot', 'Mild', 'Cool', 'Cool', 'Cool', 'Mild', 'Cool', 'Mild', 'Mild', 'Mild', 'Hot', 'Mild'],
'Humidity': ['High', 'High', 'High', 'High', 'Normal', 'Normal', 'Normal', 'High', 'Normal', 'Normal', 'Normal', 'High', 'Normal', 'High'],
'Wind': ['Weak', 'Strong', 'Weak', 'Weak', 'Weak', 'Strong', 'Strong', 'Weak', 'Weak', 'Weak', 'Strong', 'Strong', 'Weak', 'Strong'],
'Play': ['No', 'No', 'Yes', 'Yes', 'Yes', 'No', 'Yes', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No']})
# 将分类变量编码为数字
data = data.apply(lambda x: pd.factorize(x)[0])
# 创建决策树分类器
clf = tree.DecisionTreeClassifier()
# 将数据拆分为特征和目标变量
X = data.iloc[:, :-1]
y = data.iloc[:, -1]
# 拟合决策树分类器
clf.fit(X, y)
# 预测新的实例
new_instance = [[0, 1, 0, 0]] # Sunny, Mild, High, Weak
prediction = clf.predict(new_instance)
print('预测结果:', prediction)
```
该代码实现了一个简单的分类问题,数据集包括天气状况和是否打球。使用决策树分类器对数据进行拟合,并对新实例进行预测。