import pandas as pd
import xgboost as xgb
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 读取CSV文件
data = pd.read_csv('your_file.csv')
# 假设最后一列是目标变量
X = data.iloc[:, :-1] # 特征数据
y = data.iloc[:, -1] # 目标变量
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 将数据转换为DMatrix,这是Xgboost所需的数据格式
dtrain = xgb.DMatrix(X_train, label=y_train)
dtest = xgb.DMatrix(X_test, label=y_test)
# 设置Xgboost参数
param = {
'max_depth': 3, # 树的最大深度
'eta': 0.3, # 学习率
'objective': 'binary:logistic' # 目标函数,二分类问题
}
# 训练模型
model = xgb.train(param, dtrain, num_boost_round=100)
# 进行预测
preds = model.predict(dtest)
# 评估模型
accuracy = accuracy_score(y_test, preds)
print(f'Accuracy: {accuracy}')
04-14
3898
