决策树算法模式评估心脏病预测代码
时间: 2023-10-02 13:12:11 浏览: 127
基于决策树算法完成鸢尾花卉品种预测任务
5星 · 资源好评率100%
以下是使用Python中的sklearn库实现决策树算法模型评估的心脏病预测代码示例:
```
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.metrics import accuracy_score
# 加载数据集
data = pd.read_csv('heart.csv')
X = data.drop(columns=['target'])
y = data['target']
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义决策树模型
dt = DecisionTreeClassifier()
# 使用交叉验证方法评估模型
scores = cross_val_score(dt, X_train, y_train, cv=5) # 5折交叉验证
print("5折交叉验证的准确率:", scores.mean())
# 训练模型并进行预测
dt.fit(X_train, y_train)
y_pred = dt.predict(X_test)
# 计算模型的准确率
acc = accuracy_score(y_test, y_pred)
print("测试集的准确率:", acc)
```
在上述代码中,我们首先加载了心脏病数据集,并将其分为特征矩阵X和目标向量y。然后,我们将数据集分为训练集和测试集,其中测试集占总数据集的20%。接着,我们定义了一个默认配置的决策树分类器,并使用交叉验证方法进行模型评估。在这里,我们选择了5折交叉验证,即将训练集分成5份,每次使用其中4份作为训练集,1份作为验证集,重复5次,最终得到5个模型评估指标。最后,我们计算这5个评估指标的平均值作为模型的最终评估指标。接着,我们使用训练集训练模型,并使用测试集进行预测,最后计算模型在测试集上的准确率。
阅读全文