Python实现最小二乘法线性回归

研一第一学期刚学习完数值分析,赶上期末复习,复习的时候正好复习到最小二乘法,把离散的点拟合为线性函数,就顺便用python实现一下。正好准备学习机器学习算法这方面,就当是预热吧,我知道机器学习的算法肯定比这个难很多,我还是个新手,不当之处还请大神指点,轻喷。

首先上一下公式:

因为书上记笔记画的很乱就不拍书了,直接百度也能搜到最小二乘法的公式:

Python实现最小二乘法线性回归_第1张图片

解方程组得到的解(a0,a1......an)就是拟合函数的系数。这里是简单的一次线性函数,因此只要求a0,a1即可。

读取的数据是读取的csv文件里的x与y

Python实现最小二乘法线性回归_第2张图片

下载地址:链接:https://pan.baidu.com/s/1jn2fS9z-eHoWy75nN5y9IA 密码:ynov

下面是代码:

#离散型数据利用最小二乘法拟合为一次线性函数
import csv
import numpy as np
from numpy.linalg import *
import matplotlib.pyplot as plt
'''
#手动输入数据使用
i=0;X=[];Y=[]
m=int(input('请输入x的个数:'))
while i

运行效果图:

Python实现最小二乘法线性回归_第3张图片

 

Python实现最小二乘法线性回归_第4张图片

 

菜鸟一枚,望大神轻喷,欢迎评论,谢谢!

 

你可能感兴趣的:(最小二乘法,线性回归,Python,算法)