xgboost python多个输入数据
时间: 2023-08-11 09:21:29 浏览: 77
XGBoost Python 支持多种输入数据格式,包括 NumPy 数组,Pandas DataFrame 和 DMatrix 对象。如果要使用多个输入数据,你可以将它们组合成一个大的数据矩阵或数据框架,或者将它们分别转换为 DMatrix 对象,然后使用 XGBoost 的多输入数据接口。
以下是使用 NumPy 数组和 Pandas DataFrame 的示例:
```python
import numpy as np
import pandas as pd
import xgboost as xgb
# 使用 NumPy 数组
X1 = np.random.rand(100, 10)
X2 = np.random.rand(100, 5)
X = np.hstack((X1, X2))
y = np.random.rand(100)
dtrain = xgb.DMatrix(X, label=y)
# 使用 Pandas DataFrame
df1 = pd.DataFrame(X1, columns=[f"col{i}" for i in range(X1.shape[1])])
df2 = pd.DataFrame(X2, columns=[f"col{i+X1.shape[1]}" for i in range(X2.shape[1])])
df = pd.concat([df1, df2], axis=1)
dtrain = xgb.DMatrix(df, label=y)
```
使用多个 DMatrix 对象的示例:
```python
dtrain1 = xgb.DMatrix(X1, label=y)
dtrain2 = xgb.DMatrix(X2, label=y)
dtrain_all = [dtrain1, dtrain2]
params = {'objective': 'reg:squarederror'}
model = xgb.train(params, dtrain_all)
```