
回归是统计学和机器学习中的一种分析方法,用于研究变量之间的关系。具体而言,回归分析用于建立一个模型来描述自变量(特征)与因变量(目标)之间的关系,并且该关系通常用一个函数来表示。
在回归中,我们通常考虑的是连续型的因变量。回归分析的目标是找到一个适当的模型,以最好地拟合已知数据,并用于对未知数据的预测。回归模型的形式可以是线性的或非线性的,具体选择取决于问题的性质和数据的特点。
以下是一些常见的回归模型:
线性回归(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)


登录 或 注册 后才可以进行评论哦!
还没有评论,抢个沙发!