利用python读取CSV文件根据四个特征进行三种类别的建模,最终显示决策树
时间: 2024-03-10 10:45:20 浏览: 17
好的,我来回答你的问题。
首先,你需要导入pandas库来读取CSV文件,并且使用sklearn库中的DecisionTreeClassifier来构建决策树模型。以下是一个简单的示例代码:
```
# 导入所需库
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import metrics
from sklearn.tree import export_graphviz
from IPython.display import Image
from sklearn.externals.six import StringIO
import pydotplus
# 读取CSV文件
data = pd.read_csv('data.csv')
# 提取特征和目标列
X = data[['feature1', 'feature2', 'feature3', 'feature4']]
y = data['target']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)
# 构建决策树模型
dtc = DecisionTreeClassifier()
dtc.fit(X_train, y_train)
# 预测测试集结果
y_pred = dtc.predict(X_test)
# 计算准确率
accuracy = metrics.accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
# 生成决策树图像
dot_data = StringIO()
export_graphviz(dtc, out_file=dot_data,
filled=True, rounded=True,
special_characters=True, feature_names = X.columns,class_names=['class1','class2','class3'])
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())
```
这段代码做了以下几件事情:
1. 导入所需库。
2. 读取CSV文件,提取特征和目标列。
3. 划分训练集和测试集。
4. 构建决策树模型。
5. 预测测试集结果,并计算准确率。
6. 生成决策树图像。
其中,你需要替换代码中的data.csv文件名、特征列名和目标列名,以及类别名称。
希望这可以帮到你!