回归是统计学和机器学习中的一种分析方法,用于研究变量之间的关系。具体而言,回归分析用于建立一个模型来描述自变量(特征)与因变量(目标)之间的关系,并且该关系通常用一个函数来表示。

在回归中,我们通常考虑的是连续型的因变量。回归分析的目标是找到一个适当的模型,以最好地拟合已知数据,并用于对未知数据的预测。回归模型的形式可以是线性的或非线性的,具体选择取决于问题的性质和数据的特点。

以下是一些常见的回归模型:

线性回归(Linear Regression):假设自变量与因变量之间的关系是线性的。

多项式回归(Polynomial Regression):考虑自变量的高次项,使得模型可以拟合非线性关系。

岭回归(Ridge Regression)和Lasso回归(Lasso Regression):用于处理多重共线性问题,同时对参数进行正则化。

逻辑回归(Logistic Regression):用于处理二分类问题,输出是概率值,并通过一个逻辑函数将概率映射到0和1之间。

支持向量回归(Support Vector Regression,SVR):适用于处理非线性关系,利用支持向量机的思想。

..............

本期我们使用线性回归实现对数据的预测(数据来源:文件 (lanzoui.com))

我们将我们的样本复制到我们的工程目录

接着我们导入我们的相关库包括:pandas库用来读取数据,线性回归模型以及画图库。


import pandas as pd
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

读取csv文件的第一列和第二列,用X和Y存储。


df = pd.read_csv('data.csv')
X = df.iloc[:, 0:1]  # 第一列
y = df.iloc[:, 1]    # 第二列

接着创建一个线性回归模型,对我们的X和Y进行线性回归拟合


model = LinearRegression()
# 训练模型
model.fit(X, y)
# 获取模型参数
slope = model.coef_[0]
intercept = model.intercept_

绘制出我们的线性回归模型:


# 绘制原始数据和线性回归模型的拟合曲线
plt.scatter(X, y, color='black')
plt.plot(X, model.predict(X), color='blue', linewidth=3, label='函数: y = {:.2f}X + {:.2f}'.format(slope, intercept))
plt.xlabel('X')
plt.ylabel('y')
plt.title('xian xing hui guiw')
plt.legend()
plt.show()

可以看到我们的线性回归曲线被打印了出来、


我们也可以用R-sqared来评估我们的线性回归曲线。


r_squared = model.score(X, y)
print('R-squared:', r_squared)

可以看到我们的R-squared为0.9618,非常的接近1,说明我们的模型非常的成功。


最后我们也可以调用我们的模型进行预测


predicted_y = model.predict([[0.5]])#因为是二维
print('Predicted y:', predicted_y)
# 第一列y=df.iloc:,1#
#训练模型model.fit(X, y)#
嘉立创PCB

还没有评论,抢个沙发!