回归(python代码案例+图展示)

15 篇文章 10 订阅
10 篇文章 0 订阅

回归:从大量的结果和自变量反推函数表达式的过程就是回归

而回归的过程通常采用拟合的方法(找函数)来实现。

拟合可能出现过拟合和欠拟合:

过拟合的危害:(1)描述复杂   (2)泛化能力差

              原因: (1)训练样本少  (2)力求完美

欠拟和的原因:(1)参数过少导致模型不准确

                         (2)拟合方法不当导致模型太差

 

=======================================================================================

#!/usr/bin/env python
# encoding: utf-8
""
@Company:华中科技大学电气学院聚变与等离子实验室
@version: V1.0
@author: YEXIN
@contact: 1650996069@qq.com 2018--2020
@software: PyCharm
@file: Regession2.py
@time: 2018/8/14 10:39
@Desc:线性回归的案例,详细求解a,b
"""
import numpy as np
import matplotlib.pyplot as plt

#原始数据
x = [1,2,3,4,5,6,7,8,9]
y = [0.199,0.389,0.580,0.783,0.980,1.177,1.382,1.575,1.771]

t1 = t2 = t3 = t4 = 0
n =  len(x)
for i in range(n):
    ###求和
    t1 += y[i]
    t2 += x[i]
    t3 += y[i]*x[i]
    t4 += x[i]**2

a = (t1*t2/n -t3) / (t2**2/n -t4)
b = (t1 - a*t2)/n

x = np.array(x)
y = np.array(y)

##画图
plt.plot(x,y,'o',label = "Original data",markersize = 8)
plt.plot(x,a*x + b,'r',label = '拟合曲线')
plt.show()
print(a,b)

======================================================================================

#!/usr/bin/env python
# encoding: utf-8
"""
@Company:华中科技大学电气学院聚变与等离子研究所

@version: V1.0
@author: YEXIN
@contact: 1650996069@qq.com 2018--2020
@software: PyCharm
@file: Regression_Line.py
@time: 2018/8/14 9:48
@Desc:线性回归的案例
"""
import numpy as np
import matplotlib.pyplot as plt

#原始数据
x = [1,2,3,4,5,6,7,8,9]
y = [0.199,0.389,0.580,0.783,0.980,1.177,1.382,1.575,1.771]

A = np.vstack([x,np.ones(len(x))]).T  #B.T表示取B的转置

#调用最小二乘法函数
a, b = np.linalg.lstsq(A,y,rcond=-1)[0]

#转换成numpy array
x = np.array(x)
y = np.array(y)

print(a,b)

#画图
plt.plot(x,y,'o',label = "Original data",markersize = 8)
plt.plot(x,a*x + b,'r',label = '拟合曲线')
plt.show()

print(a,b)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值