lin_reg.coef_实例
时间: 2024-01-03 12:02:46 浏览: 117
假设我们有以下数据集:
| X | Y |
|---|---|
| 1 | 2 |
| 2 | 4 |
| 3 | 6 |
| 4 | 8 |
| 5 | 10 |
我们可以使用线性回归模型拟合这些数据并查看`lin_reg.coef_`的值:
```python
from sklearn.linear_model import LinearRegression
X = [[1], [2], [3], [4], [5]]
y = [2, 4, 6, 8, 10]
lin_reg = LinearRegression()
lin_reg.fit(X, y)
print(lin_reg.coef_) # 输出 [2.]
```
在这个例子中,`lin_reg.coef_`的值为2,这意味着在单变量线性回归中,斜率为2,也就是说,每增加1个X,Y就会增加2。
相关问题
Python线性回归实例教程
### 使用Python实现线性回归
为了展示如何利用`scikit-learn`中的`LinearRegression`模型来执行线性回归分析,下面提供了一个简单的实例教程。此过程涉及创建数据集、训练模型以及评估其性能。
#### 导入必要的库
首先,导入所需的Python包:
```python
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import matplotlib.pyplot as plt
```
#### 准备数据集
构建一个简单的一维数组作为特征X,并生成相应的标签y,这里假设两者之间存在线性关系并加入一些随机噪声模拟真实世界的数据分布[^1]。
```python
# 创建样本点
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
# 将数据划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
#### 构建与拟合模型
初始化`LinearRegression()`对象并将训练数据传递给它来进行参数估计[^2]。
```python
lin_reg = LinearRegression()
lin_reg.fit(X_train, y_train)
```
此时已经完成了一次完整的线性回归拟合操作,可以查看截距项(`intercept_`)和平滑系数(`coef_`)的具体数值了。
#### 预测新输入的结果
应用已训练好的模型对未知数据做出预测,并计算误差指标衡量模型的好坏程度[^3]。
```python
# 对测试集进行预测
y_pred = lin_reg.predict(X_test)
# 输出均方根误差(RMSE) 和 R²得分
rmse = np.sqrt(mean_squared_error(y_test, y_pred))
r2 = r2_score(y_test, y_pred)
print(f'Root Mean Squared Error: {rmse}')
print(f'R-squared Score: {r2}')
```
#### 可视化结果
最后一步是绘制图表直观地观察原始数据点及其对应的回归直线之间的匹配情况。
```python
plt.scatter(X_test, y_test, color='black', label="Actual Values")
plt.plot(X_test, y_pred, color='blue', linewidth=3, label="Predicted Line")
plt.xlabel('Feature')
plt.ylabel('Target Variable')
plt.title('Simple Linear Regression Example')
plt.legend(loc='upper left')
plt.show()
```
通过上述代码片段,能够清晰地理解整个流程是如何运作的——从准备数据直到最终呈现可视化图形。这不仅有助于加深对于理论概念的理解,同时也提供了实际动手实践的机会。
监管学习算法实例代码
### 监督学习算法示例
监督学习涉及模型从标记的历史数据中学习关系并据此对新样本进行预测。下面提供了一个简单的线性回归作为监督学习的例子,该例子展示了如何基于已知输入输出对来构建预测模型。
```python
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# 创建一些随机数据用于演示目的
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 使用Scikit-Learn库创建线性回归对象
lin_reg = LinearRegression()
# 训练模型
lin_reg.fit(X_train, y_train)
# 打印系数b_0 (intercept_) 和 b_1(coef_)
print(f'Intercept: {lin_reg.intercept_[0]}')
print(f'Coefficient: {lin_reg.coef_[0][0]}')
# 绘制拟合直线与原始数据点
plt.scatter(X_test, y_test, color='black', label="Data points")
plt.plot(X_test, lin_reg.predict(X_test), color='blue', linewidth=3, label="Fitted line")
plt.xlabel('Input feature')
plt.ylabel('Target value')
plt.title('Linear Regression Example')
plt.legend()
plt.show()
```
此代码片段实现了基本的线性回归过程,包括准备数据、分割成训练/测试子集、定义模型、执行训练以及可视化结果[^1]。
阅读全文