写一段python代码,对 Excel 文件,以第17、18、19、20列作为特征输入,第39列作为目标输出。构建可视化决策树,以图片形式可视化决策树,最后显示准确率,要求输入一组数据要预测出结果
时间: 2023-06-24 21:02:59 浏览: 109
下面是一个示例代码,可以实现对Excel文件的处理,构建可视化决策树,以及预测结果并显示准确率。
```python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier, export_graphviz
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import graphviz
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 提取特征输入和目标输出
X = df.iloc[:, [16, 17, 18, 19]].values
y = df.iloc[:, 38].values
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 构建决策树模型
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
# 可视化决策树
dot_data = export_graphviz(model,
out_file=None,
feature_names=['f1', 'f2', 'f3', 'f4'],
class_names=['class1', 'class2'],
filled=True, rounded=True)
graph = graphviz.Source(dot_data)
graph.render('decision_tree')
# 预测结果并显示准确率
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
# 预测一组数据
sample = [[1, 2, 3, 4]]
prediction = model.predict(sample)
print("Prediction:", prediction)
```
注意:以上代码只是一个示例,实际应用中需要根据具体情况进行修改和调整。
阅读全文