python数据分析——在python中实现线性回归

osc_s4e6jr85 2021-01-23 12:40:21
Python 机器学习 numpy scikit-learn


线性回归是基本的统计和机器学习技术之一。经济,计算机科学,社会科学等等学科中,无论是统计分析,或者是机器学习,还是科学计算,都有很大的机会需要用到线性模型。建议先学习它,然后再尝试更复杂的方法。

本文主要介绍如何逐步在Python中实现线性回归。而至于线性回归的数学推导、线性回归具体怎样工作,参数选择如何改进回归模型将在以后说明。

回归

回归分析是统计和机器学习中最重要的领域之一。有许多可用的回归方法。线性回归就是其中之一。而线性回归可能是最重要且使用最广泛的回归技术之一。这是最简单的回归方法之一。它的主要优点之一是线性回归得到的结果十分容易解释。那么回归主要有:

  • 简单线性回归

  • 多元线性回归

  • 多项式回归

如何在python中实现线性回归

用到的packages

  • NumPy

NumPy是Python的基础科学软件包,它允许在单维和多维数组上执行许多高性能操作。

  • scikit-learn

scikit-learn是在NumPy和其他一些软件包的基础上广泛使用的Python机器学习库。它提供了预处理数据,减少维数,实现回归,分类,聚类等的方法。

  • statsmodels

如果要实现线性回归并且需要功能超出scikit-learn的范围,则应考虑使用statsmodels可以用于估算统计模型,执行测试等。

scikit-learn的简单线性回归

1.导入用到的packages和类

import numpy as np
from sklearn.linear_model import LinearRegression

2.创建数据

x = np.array([5, 15, 25, 35, 45, 55]).reshape((-1, 1))
y = np.array([5, 20, 14, 32, 22, 38])

现在就生成了两个数组:输入x(回归变量)输出y(预测变量),来看看

>>> print(x)
[[ 5]
[15]
[25]
[35]
[45]
[55]]
>>> print(y)
[ 5 20 14 32 22 38]







可以看到x是二维的而y是一维的,因为在复杂一点的模型中,系数不只一个。这里就用到了.reshape()来进行转换。

3.建立模型

创建一个类的实例LinearRegression,它将代表回归模型:

model = LinearRegression()

现在开始拟合模型,首先可以调用.fit()函数来得到优的

版权声明
本文为[osc_s4e6jr85]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4299292/blog/4921495

  1. Mandatory conversion of Python data type
  2. Django reported an error: 'key' ID 'not found in' xxx '. Choices are: xxx'
  3. Python 400 sets of large video, starting from the right direction to learn, a complete set to you
  4. 只需十四步:从零开始掌握Python机器学习(附资源)
  5. Just 14 steps: Master Python machine learning from scratch (resources attached)
  6. Python|文件读写
  7. 安利一个Python界神奇得网站
  8. Python | file reading and writing
  9. Amway is a marvelous website in Python world
  10. 第二热门语言:从入门到精通,Python数据科学简洁教程
  11. The second popular language: from introduction to mastery, python data science concise tutorial
  12. 以我的亲身经历,聊聊学python的流程,同时推荐学python的书
  13. With my own experience, I'd like to talk about the process of learning Python and recommend books for learning python
  14. 以我的亲身经历,聊聊学python的流程,同时推荐学python的书
  15. With my own experience, I'd like to talk about the process of learning Python and recommend books for learning python
  16. Django url 路由匹配过程
  17. Django URL routing matching process
  18. 强者一出,谁与争锋?与Python相比,C++的运行速度究竟有多快?
  19. Who will fight against the strong? How fast is C + + running compared with Python?
  20. python 学习体会
  21. Experience of learning Python
  22. python7、8章
  23. Chapter 7 and 8 of Python
  24. python bool和str转换
  25. python——循环(for循环、while循环)及练习
  26. python变量和常量命名、注释规范
  27. python自定义异常捕获异常处理异常
  28. python 类型转换与数值操作
  29. python 元组(tuple)和列表(list)区别
  30. 解决python tkinter 与 sleep 延迟问题
  31. python字符串截取操作
  32. Python bool and STR conversion
  33. Python -- loop (for loop, while loop) and Practice
  34. Specification for naming and annotating variables and constants in Python
  35. Python custom exception capture exception handling exception
  36. Python type conversion and numerical operation
  37. The difference between tuple and list in Python
  38. Solve the delay problem of Python Tkinter and sleep
  39. Python string interception operation
  40. Python 100天速成中文教程,GitHub标星7700
  41. Python 100 day quick Chinese course, GitHub standard star 7700
  42. 以我的親身經歷,聊聊學python的流程,同時推薦學python的書
  43. With my own experience, I'd like to talk about the process of learning Python and recommend books for learning python
  44. python爬虫获取起点中文网人气排行Top100(快速入门,新手必备!)
  45. Python crawler to get the starting point of Chinese network popularity ranking Top100 (quick start, novice necessary!)
  46. 【Python常用包】itertools
  47. Itertools
  48. (国内首发)最新python初学者上手练习
  49. (国内首发)最新python初学者上手练习
  50. (first in China) the latest practice for beginners of Python
  51. (first in China) the latest practice for beginners of Python
  52. (数据科学学习手札104)Python+Dash快速web应用开发——回调交互篇(上)
  53. (data science learning notes 104) Python + dash rapid web application development -- callback interaction (Part 1)
  54. (数据科学学习手札104)Python+Dash快速web应用开发——回调交互篇(上)
  55. (data science learning notes 104) Python + dash rapid web application development -- callback interaction (Part 1)
  56. (資料科學學習手札104)Python+Dash快速web應用開發——回撥互動篇(上)
  57. (materials science learning notes 104) Python + dash rapid web application development -- callback interaction (Part 1)
  58. Python OpenCV 图片高斯模糊
  59. Python OpenCV image Gaussian blur
  60. Stargan V2: converse image synthesis for multiple domains reading notes and Python code analysis