gaxgboost心脏病代码
时间: 2024-05-02 22:14:55 浏览: 16
XGBoost(eXtreme Gradient Boosting)是一种基于梯度提升树的机器学习算法,它在许多数据科学竞赛和实际应用中都表现出色。XGBoost可以用于分类和回归问题,并且在处理结构化数据时非常有效。
下面是一个使用XGBoost进行心脏病分类的示例代码:
```python
# 导入所需的库
import pandas as pd
import xgboost as xgb
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 读取数据集
data = pd.read_csv('heart.csv')
# 划分特征和标签
X = data.drop('target', axis=1)
y = data['target']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义模型参数
params = {
'objective': 'binary:logistic',
'eval_metric': 'logloss',
'eta': 0.1,
'max_depth': 3
}
# 转换数据为DMatrix格式
dtrain = xgb.DMatrix(X_train, label=y_train)
dtest = xgb.DMatrix(X_test, label=y_test)
# 训练模型
model = xgb.train(params, dtrain, num_boost_round=100)
# 预测
y_pred = model.predict(dtest)
y_pred = [round(value) for value in y_pred]
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
```
这段代码使用了XGBoost库进行心脏病分类。首先,我们导入所需的库,然后读取心脏病数据集。接下来,我们将数据集划分为特征和标签,并将其分为训练集和测试集。然后,我们定义了模型参数,包括目标函数、评估指标、学习率和树的最大深度。接着,我们将数据转换为DMatrix格式,这是XGBoost所需的数据格式。然后,我们使用训练集训练模型,并使用测试集进行预测。最后,我们计算准确率并打印出来。