scikit-learn线性回归
时间: 2024-09-27 13:01:55 浏览: 49
scikit-learn是一个流行的Python机器学习库,其中包含了许多用于监督学习任务的算法。线性回归是scikit-learn中最基础的回归模型之一,它假设因变量与自变量之间存在线性关系。它的目标是最小化残差平方和,即预测值与实际值之间的差异。
在scikit-learn中,`LinearRegression`类是用于实现线性回归的主要工具。用户可以创建这个类的一个实例,并通过`.fit()`方法训练模型,传入特征数据(X)和目标值(y)。一旦模型训练完成,可以使用`.predict()`方法对新的输入数据进行预测。
例如:
```python
from sklearn.linear_model import LinearRegression
import numpy as np
# 创建线性回归模型
model = LinearRegression()
# 假设我们有特征数据 X 和目标值 y
X_train, y_train = np.random.rand(100, 5), np.random.rand(100)
# 训练模型
model.fit(X_train, y_train)
# 预测新数据
new_data = np.random.rand(5) # 新的5维输入
prediction = model.predict(new_data.reshape(1, -1))
```
相关问题
scikit-learn 线性回归
scikit-learn是一个Python机器学习库,其中的sklearn.linear_model提供了多种支持线性回归分析的类。线性回归是一种用于建立两种或两种以上变量之间关系的方法,它可以用于预测一个变量的值,基于另一个变量的值。scikit-learn中的线性回归类包括普通最小二乘回归、岭回归、Lasso回归、弹性网络回归等。这些类可以用于单变量线性回归、多变量线性回归、多项式回归等。如果想了解其他类的使用方法,可以查看scikit-learn官方文档。
scikit-learn 线性回归模型
scikit-learn是一个Python的机器学习库,提供了许多常用的机器学习算法,包括线性回归模型。下面介绍如何使用scikit-learn构建线性回归模型。
首先,我们需要导入相关的库和数据集。在这里我们使用scikit-learn自带的波士顿房价数据集。
```python
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
# 导入数据集
boston = load_boston()
X = boston.data
y = boston.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
接着,我们可以初始化线性回归模型并进行训练。
```python
# 初始化线性回归模型
lr = LinearRegression()
# 训练模型
lr.fit(X_train, y_train)
```
训练完成后,我们可以使用测试集进行预测,并计算模型的性能指标。
```python
# 预测测试集
y_pred = lr.predict(X_test)
# 计算模型的性能指标
from sklearn.metrics import mean_squared_error, r2_score
mse = mean_squared_error(y_test, y_pred)
rmse = np.sqrt(mse)
r2 = r2_score(y_test, y_pred)
print('MSE: {:.2f}, RMSE: {:.2f}, R2: {:.2f}'.format(mse, rmse, r2))
```
最后,我们可以使用模型进行预测。
```python
# 使用模型进行预测
new_data = np.array([[0.1, 20, 5, 1, 0.5, 6, 60, 3, 5, 300, 15, 400, 20]])
lr.predict(new_data)
```
以上就是使用scikit-learn构建线性回归模型的基本流程。
阅读全文