栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

回归:最小二乘法求解回归模型代码

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

回归:最小二乘法求解回归模型代码

import numpy as np
import matplotlib.pyplot as plt
def least_square(X,Y):
    '''
    最小二乘法
    :param X:矩阵,样本特征矩阵
    :param Y: 矩阵,标签向量
    :return: 矩阵,回归系数
    '''

    W = (X * X.T).I * X * Y.T#教材公式
    return W

temperatures = [15,20,25,30,35,40]
flowers = [136,140,155,160,157,175]

X = np.mat([[1,1,1,1,1,1],temperatures])
print("X",X)

Y = np.mat(flowers)
print("Y",Y)

W =least_square(X,Y)
print("W",W)

plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签
plt.rcParams['axes.unicode_minus']=False ##运行配置参数总的轴(axes)正常显示正负号(minus)
plt.scatter(temperatures, flowers, color="green", label="花朵数量", linewidth=2)#散点图
plt.plot(temperatures,flowers,linewidth=1)#折线图
x1=np.linspace(15, 40, 100)#来创建等差数列,x横坐标

y1 = W[1,0]*x1 + W[0,0] #创建x对应的纵坐标,W中存放权重和偏置,
plt.plot(x1, y1, color="red", label="拟合直线", linewidth=2,linestyle=':')
plt.legend(loc='lower right')#调整图例位置,右下
plt.show()

new_tempera = [18,22,33]
new_tempera = (np.mat(new_tempera)).T#矩阵转置
pro_num = W[1,0]*new_tempera+W[0,0]
print("pro_num",pro_num)#回归拟合

运行图像

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/859290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号