输出结果如图5所示 , 每个点表示真实的值,而直线表示预测的结果 。
(3).代码优化下面代码增加了几个优化措施,包括增加了斜率、 截距的计算,可视化绘图增加了散点到线性方程的距离线,增加了保存图片设置像素代码等 。这些优化都更好地帮助我们分析真实的数据集 。
# -*- coding: utf-8 -*-# By:Eastmount CSDN 2021-07-03from sklearn import datasetsimport numpy as npfrom sklearn import linear_modelimport matplotlib.pyplot as plt#第一步 数据集划分d = datasets.load_diabetes() #数据 10*442x = d.datax_one = x[:,np.newaxis, 2] #获取一个特征 第3列数据y = d.target #获取的正确结果x_train = x_one[:-42] #训练集X [ 0:400]x_test = x_one[-42:] #预测集X [401:442]y_train = y[:-42] #训练集Y [ 0:400]y_test = y[-42:] #预测集Y [401:442]#第二步 线性回归实现clf = linear_model.LinearRegression()print(clf)clf.fit(x_train, y_train)pre = clf.predict(x_test)print('预测结果', pre)print('真实结果', y_test)#第三步 评价结果cost = np.mean(y_test-pre)**2 #2次方print('平方和计算:', cost)print('系数', clf.coef_)print('截距', clf.intercept_)print('方差', clf.score(x_test, y_test))#第四步 绘图plt.plot(x_test, y_test, 'k.') #散点图plt.plot(x_test, pre, 'g-') #预测回归直线#绘制点到直线距离for idx, m in enumerate(x_test):plt.plot([m, m],[y_test[idx], pre[idx]], 'r-')plt.savefig('blog12-01.png', dpi=300) #保存图片plt.show()
绘制的图形如图6所示 。
输出结果如下:
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)预测结果 [ 196.51241167 109.98667708 121.31742804 245.95568858 204.75295782270.67732703 75.99442421 241.8354155 104.83633574 141.91879342126.46776938 208.8732309 234.62493762 152.21947611 159.42995399161.49009053 229.47459628 221.23405012 129.55797419 100.71606266118.22722323 168.70056841 227.41445974 115.13701842 163.55022706114.10695016 120.28735977 158.39988572 237.71514243 121.3174280498.65592612 123.37756458 205.78302609 95.56572131 154.27961264130.58804246 82.17483382 171.79077322 137.79852034 137.79852034190.33200206 83.20490209]真实结果 [ 175. 93. 168. 275. 293. 281. 72. 140. 189. 181. 209. 136.261. 113. 131. 174. 257. 55. 84. 42. 146. 212. 233. 91.111. 152. 120. 67. 310. 94. 183. 66. 173. 72. 49. 64.48. 178. 104. 132. 220. 57.]平方和计算: 83.192340827系数 [ 955.70303385]截距 153.000183957方差 0.427204267067
其中cost = np.mean(y_test-pre)**2表示计算预测结果和真实结果之间的平方和,为83.192340827,根据系数和截距得出其方程为:y = 955.70303385 * x + 153.000183957 。
三.多项式回归分析1.基础概念线性回归研究的是一个目标变量和一个自变量之间的回归问题,但有时候在很多实际问题中,影响目标变量的自变量往往不止一个 , 而是多个,比如绵羊的产毛量这一变量同时受到绵羊体重、胸围、体长等多个变量的影响,因此需要设计一个目标变量与多个自变量间的回归分析,即多元回归分析 。由于线性回归并不适用于所有的数据 , 我们需要建立曲线来适应我们的数据,现实世界中的曲线关系很多都是增加多项式实现的,比如一个二次函数模型:
再或者一个三次函数模型:
这两个模型我们绘制的图形如下所示:
多项式回归(Polynomial Regression)是研究一个因变量与一个或多个自变量间多项式的回归分析方法 。如果自变量只有一个时 , 称为一元多项式回归;如果自变量有多个时,称为多元多项式回归 。在一元回归分析中,如果依变量y与自变量x的关系为非线性的 , 但是又找不到适当的函数曲线来拟合,则可以采用一元多项式回归 。17.3小节主要讲解一元多次的多项式回归分析 , 一元m次多项式方程如下:
推荐阅读
- 医保查询+参保登记+缴费 肇庆粤医保小程序操作指南
- 青海大学附属医院单管核酸报告在哪里查询?
- 微信怎么查看银行卡余额 微信怎么查看银行卡余额查询
- 可以查询别人的社保吗? 可以查询别人的社保吗怎么查
- 常州社保查询个人账户缴费明细
- 男人约你动机查询表 男人约会动机查询表
- 收到违章短信但是12123上查询不到 12123上查询不到违章信息讲解
- 招行信用卡账单怎么查询 招行信用卡账单怎么查询不到
- 上海大众4s店 上海大众4s店地址查询
- 常州社保查询个人账户
