XGbosst线性回归Python实现代码
时间: 2023-11-05 08:59:23 浏览: 49
以下是使用XGBoost库实现线性回归的Python代码示例:
```python
import xgboost as xgb
import numpy as np
import pandas as pd
# 生成数据集
X = np.random.rand(100, 5)
y = np.random.rand(100)
# 将数据集转换为DMatrix格式
dtrain = xgb.DMatrix(X, label=y)
# 设置XGBoost参数
params = {
'booster': 'gblinear',
'objective': 'reg:linear',
'eval_metric': 'rmse'
}
# 训练模型
model = xgb.train(params, dtrain)
# 预测结果
X_test = np.random.rand(10, 5)
dtest = xgb.DMatrix(X_test)
y_pred = model.predict(dtest)
# 输出预测结果
print(y_pred)
```
上述代码中,首先生成了100个样本,每个样本由5个特征组成,以及对应的输出标签。然后将这些数据转换为XGBoost中的DMatrix格式。接着设置XGBoost的参数,包括使用线性模型('gblinear'),目标函数为回归('reg:linear'),评估指标为均方根误差('rmse')。最后训练模型,并使用模型对10个测试样本进行预测,输出预测结果。
相关问题
线性回归python代码实现
以下是一个简单的线性回归 Python 代码实现:
```python
import numpy as np
class LinearRegression:
def __init__(self):
self.w = None
def fit(self, X, y):
X = np.insert(X, 0, 1, axis=1)
self.w = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y)
def predict(self, X):
X = np.insert(X, 0, 1, axis=1)
return X.dot(self.w)
```
其中,`fit` 方法用于训练模型,`predict` 方法用于预测。`X` 和 `y` 分别是训练数据的特征和标签,`w` 是模型的参数。在 `fit` 方法中,我们首先在 `X` 的第一列插入一列全为 1 的向量,然后使用最小二乘法求解参数 `w`。在 `predict` 方法中,我们同样在 `X` 的第一列插入一列全为 1 的向量,然后使用求解得到的参数 `w` 进行预测。
线性回归模型 Python代码实现
下面是一个简单的线性回归模型Python代码实现,使用scikit-learn库:
```python
from sklearn.linear_model import LinearRegression
import numpy as np
# 创建示例数据
X = np.array([[1, 2], [2, 4], [3, 6], [4, 8]])
y = np.array([2, 4, 6, 8])
# 创建线性回归模型
model = LinearRegression()
# 拟合模型
model.fit(X, y)
# 预测新数据
new_X = np.array([[5, 10], [6, 12]])
predicted_y = model.predict(new_X)
print(predicted_y)
```
输出:
```
[10. 12.]
```
这个例子中,我们创建了一个包含两个特征的简单数据集,每个特征都是目标变量的两倍。我们使用`LinearRegression`类创建了一个线性回归模型,然后拟合数据并预测新数据。在这个例子中,我们预测了两个新数据点的目标值,它们都是输入特征的两倍。