xgboost预测滑坡易发性代码
时间: 2024-10-24 09:14:00 浏览: 26
XGBoost是一个强大的梯度 boosting 库,用于机器学习,特别是数据科学竞赛中的分类和回归任务。对于预测滑坡易发性,我们通常会采用一种监督学习方法,先收集历史地理、地质、气候等特征数据,然后使用 XGBoost 进行训练。以下是基本步骤的代码示例(假设你已经有了数据集 `data.csv` 和标签列 `slippery`):
```python
# 导入所需库
import pandas as pd
from sklearn.model_selection import train_test_split
import xgboost as xgb
# 加载数据
df = pd.read_csv('data.csv')
# 数据预处理(例如填充缺失值,编码类别变量)
X = df.drop(columns='slippery')
y = df['slippery']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义 XGBoost 模型
model = xgb.XGBClassifier(objective='binary:logistic') # 对于二分类问题
# 训练模型
model.fit(X_train, y_train)
# 预测滑坡易发性
predictions = model.predict(X_test)
# 评估模型性能
from sklearn.metrics import accuracy_score, confusion_matrix
accuracy = accuracy_score(y_test, predictions)
conf_mat = confusion_matrix(y_test, predictions)
print("Accuracy:", accuracy)
print("Confusion Matrix:\n", conf_mat)
# 如果需要进一步优化,可以调整超参数或使用交叉验证
```
阅读全文