写一段python代码,读取Excel 表格数据,建立决策树模型并且筛选出第9、10、11、12列的数据作为特征,第24、25、26、27、28、29列的数据作为标签,然后利用决策树算法进行训练和预测,并输出模型的准确率。
时间: 2023-12-28 07:51:14 浏览: 137
以下是基于scikit-learn库实现的代码:
```python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
# 读取Excel表格数据
data = pd.read_excel('data.xlsx')
# 筛选特征和标签
features = data.iloc[:, 8:12].values
labels = data.iloc[:, 23:29].values
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.2, random_state=0)
# 建立决策树模型
clf = DecisionTreeClassifier(criterion='entropy', random_state=0)
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集结果
y_pred = clf.predict(X_test)
# 输出模型准确率
accuracy = clf.score(X_test, y_test)
print('模型准确率为:', accuracy)
```
其中,`data.xlsx`是Excel表格的文件名,需要将其与代码文件放在同一目录下。`iloc[:, 8:12]`表示选取第9-12列数据,`iloc[:, 23:29]`表示选取第24-29列数据。`train_test_split`函数用于将数据集划分为训练集和测试集,其中`test_size=0.2`表示测试集占总数据集的20%。`DecisionTreeClassifier`函数用于建立决策树模型,其中`criterion='entropy'`表示使用信息熵作为划分标准,`random_state=0`表示设置随机种子,保证每次运行结果相同。`fit`函数用于训练模型,`predict`函数用于预测测试集结果,`score`函数用于计算模型的准确率。
阅读全文