使用sklearn实现多元线性回归

多元线性回归

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import train_test_split%config InlineBackend.figure_format = 'svg'import seaborn as snsdata = pd.read_csv('/Users/jingjingdehnaa/Documents/sales.csv')data.corr()            TV        radio   newspaper  salesTV        1.000000  0.054809  0.056648  0.782224radio     0.054809  1.000000  0.354104  0.576223newspaper 0.056648  0.354104  1.000000  0.228299sales     0.782224  0.576223  0.228299  1.000000sns.pairplot(data,x_vars=['TV','radio','newspaper'], y_vars='sales', size=4, aspect=0.8,kind = 'reg')plt.show()

#建立模型的第一步我们将建立训练集和检测集

X_train,X_test,Y_train,Y_test = train_test_split(data.iloc[:,:3],data.sales,train_size = 0.8)

#将训练集中的特征值与标签值放入LinearRegression()模型中且使用fit函数进行训练

#得到所对应的方程式(线性回归方程式)需要利用函数中的intercept_与coef_。

model = LinearRegression()model.fit(X_train,Y_train)a = model.intercept_b = model.coef_print("最佳拟合线:截距",a,",回归系数:",b)print('拟合函数: y = %f * x+%f * x+%f * x+ %f'%(b[0],b[1],b[2],a))最佳拟合线:截距 2.8359172600679603 ,回归系数:[ 0.04636284  0.18702274 -0.00105945]拟合函数: y = 0.046363 * x+0.187023 * x+-0.001059 * x+ 2.835917

#对数据集进行预测与模型测评

#使用predict与score函数来获取所需要的预测值与得分

plt.rcParams['font.sans-serif'] = 'SimHei'score = model.score(X_test,Y_test)print(score)Y_test_pred = model.predict(X_test)plt.plot(range(len(Y_test_pred)),Y_test,label = 'test',color = 'b')plt.plot(range(len(Y_test_pred)),Y_test_pred,color = 'r',label = 'predict')plt.xlabel('投入')plt.ylabel('销量')plt.legend()plt.show()0.9261973226814358

使用statsmodels实现多元线性回归

import statsmodels.api as smimport numpy as npdata = pd.read_csv('/Users/jingjingdehnaa/Documents/sales.csv')x =data.iloc[:,:3]X = sm.add_constant(x)y = data.salesmodels = sm.OLS(y,X).fit()print(models.summary())print('拟合函数: y = %f*x+%f*x+%f*x+ %f'%(models.params[1],models.params[2],models.params[3],models.params[0]))                             OLS Regression Results                            ==============================================================================Dep. Variable:                  sales   R-squared:                       0.897Model:                            OLS   Adj. R-squared:                  0.896Method:                 Least Squares   F-statistic:                     570.3Date:                Sun, 25 Oct 2020   Prob (F-statistic):           1.58e-96Time:                        14:57:23   Log-Likelihood:                -386.18No. Observations:                 200   AIC:                             780.4Df Residuals:                     196   BIC:                             793.6Df Model:                           3                                         Covariance Type:            nonrobust                                         ==============================================================================                 coef    std err          t      P>|t|      [0.025      0.975]------------------------------------------------------------------------------const          2.9389      0.312      9.422      0.000       2.324       3.554TV             0.0458      0.001     32.809      0.000       0.043       0.049radio          0.1885      0.009     21.893      0.000       0.172       0.206newspaper     -0.0010      0.006     -0.177      0.860      -0.013       0.011==============================================================================Omnibus:                       60.414   Durbin-Watson:                   2.084Prob(Omnibus):                  0.000   Jarque-Bera (JB):              151.241Skew:                          -1.327   Prob(JB):                     1.44e-33Kurtosis:                       6.332   Cond. No.                         454.==============================================================================拟合函数: y = 0.045765*x+0.188530*x+-0.001037*x+ 2.938889

numpy多元线性回归_使用sklearn实现多元线性回归相关推荐

  1. sklearn 线性回归_使用sklearn库做线性回归拟合

    背景资料 随着海拔高度的上升,温度越来越低,经过气象专家的研究,在一定的海拔高度范围内,高度和温度呈线性关系.现有一组实测资料,我们需要对这些数据进行处理拟合,获得此线性关系. 解决思路 采用skle ...

  2. opencv机器学习线性回归_机器学习入门1---简单线性回归

    归纳整理昨日学习的知识点,学会记录是个好习惯. 什么是机器学习? 简单来说,就是使用机器学习算法来建立模型,输入新的数据通过模型进行评估预测. 机器学习步骤 提出问题→理解数据→清洗数据→构建模型→评 ...

  3. pythonsklearn多元回归回归_用sklearn进行多元线性回归

    我有一个时间序列是这样的:date var1 var2 var3 var4 var5 var6 0 2004-09-30 6.252216 10.502101 4.965370 26.828754 3 ...

  4. excel计算二元线性回归_怎么看懂Excel线性回归参数

    虽然之前用python做线性回归的时候看上去好像很简单,但是直到我在excel上实践了线性回归,发现有很多指标值得去参考,对于在python上实现有指导作用. 打开excel2016,先找个数据 我们 ...

  5. java 一元线性回归_算法笔记:一元线性回归及Java实现

    这是voidAlex原创的第四篇博文. 源码在我的GitHub 回归问题 回归问题是研究自变量和因变量之间关系的一种预测模型技术.例如我们可以通过回归模型去预测房价与房子面积之间的关系,一个人每周花在 ...

  6. 监督学习 | 线性回归 之多元线性回归原理及Sklearn实现

    文章目录 1. 线性回归 1.1 基本形式 1.2 成本函数 2. w 的计算方式 2.1 标准方程法 2.1.1 普通形式 2.1.2 向量形式 2.1.3 Python 实现 2.1.4 计算复杂 ...

  7. 【机器学习个人笔记】part3——用sklearn实现多元线性回归

    [机器学习个人笔记]part3--用sklearn实现多元线性回归 简单线性回归可以看做是y = ax + b的函数,多元线性函数则可以看做是y = ax1 + bx2 + cx3 + d的函数. 简 ...

  8. python 多元线性回归_多元统计分析之多元线性回归的R语言实现

    多元统计分析之多元线性回归的R语言实现 多元统计分析--multivariate statistical analysis 研究客观事物中多个变量之间相互依赖的统计规律性.或从数学上说, 如果个体的观 ...

  9. 多元统计分析最短距离法_(完整word版)多元统计分析模拟试题

    多元统计分析模拟试题(两套:每套含填空.判断各二十道) A卷 1)判别分析常用的判别方法有距离判别法.贝叶斯判别法.费歇判别法.逐步 判别法. 2)Q型聚类分析是对样品的分类,R型聚类分析是对变量_的 ...

最新文章

  1. R语言ggplot2可视化NHANES数据集年龄和身高的关系并按照性别因子分析男性和女性的差异
  2. SDR、DDR、QDR存储器的比较
  3. stm32官方例程在哪找_STM32开发学习资料合集
  4. 华为鸿蒙电脑操作系统测试版,官方公布教程:鸿蒙OS测试版返回EMUI 11
  5. VisualStudio2017下载与安装教程详解
  6. ES6实用方法Object.assign、defineProperty、Symbol
  7. Lucene的一些基本使用方法和概念 (JAVA)
  8. 用装饰器设计模式装饰
  9. linux系统ip占用,IP地址被占用的问题,折腾我好几天了 (已解决)
  10. [OS] 死锁相关知识点以及银行家算法详解
  11. linux mint下安装vnc,VNC远程连接Linux mint桌面
  12. TypeScript学习(五):数组的定义方式及常见数组操作方法使用
  13. ANDROID PAD版本号 PHONE版本号 源代码有什么 差别?
  14. vs2008 jQuery 智能提示失败可能是Jquery版本问题
  15. 【路径规划】基于matalb遗传算法机器人栅格地图路径规划【含Matlab源码 022期】
  16. sql日志文件查看工具
  17. js如何实现页面跳转(大全)
  18. 安装Sublime Text 3插件的方法:
  19. 阿里80亿贷款细节曝光 并购背后图谋大数据
  20. android 颜色透明度16进制换算

热门文章

  1. TCP/IP数据包结构具体解释
  2. [BZOJ 2957]楼房重建(THU2013集训)(线段树维护单调栈)
  3. 修改environment导致重启不能登录的问题解决
  4. linux gd结构体,U-Boot中gd的定义和使用
  5. crout分解计算例题_矩阵与数值计算(2)——矩阵三角分解LU、PALU、Cholesky三角分解、QR分解...
  6. 数据结构 快速排序的三种实现 (hoare版本 挖坑法 前后指针版本)与非递归实现
  7. android studio怎么输入中文,怎么在linux版的AndroidStudio输入中文?
  8. 3文件提取器_奇淫巧技 | 快速批量提取 PPT 中所有图片素材方法
  9. linux mysql 文件夹权限_Linux 中文件和文件夹获取 MySQL 权限(SELinux)
  10. android 模仿uc标签页,android模仿UC首页天气效果