• 5.线性回归算法


    1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性

    线性回归是用一个直线描述数据之间的关系,然后再根据直线的趋势来进行预测,比如当我们知道x值的时候,就能够预测出他的y值。

    2.思考线性回归算法可以用来做什么?

    最近出了一款新游戏叫《集合啦!动物森友会》,游戏里面有一种农作物大头菜的售价每天都会发生变化,我们利用线性回归可以分析购入与售卖的关系,从而来预测大头菜的价格。(其实已经有玩家做出了许多预测工具了,下图是其中的一种)

    3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)

     还是跟上次作业一样,选择使用二手车价格和已行驶里程数这两个数据,先从网上爬下来的csv文档中选取数据:

     下面列出具体代码:

    import pandas as pd
    import matplotlib.pyplot as plt
    import numpy as np
    
    # 线性回归分析
    car = pd.read_csv('./data/201706120189翟梓乐.csv')
    #获取二手车的价格行驶里程,转换Series为ndarray
    x = car['价格/万'].values
    y = car['行驶里程/万公里'].values
    
    x = x.reshape(len(x),1)
    y = y.reshape(len(y),1)
    
    #导入Sklearn机器学习扩展包中线性回归模型,然后进行训练和预测
    from sklearn.linear_model import LinearRegression
    clf = LinearRegression()
    
    clf.fit(x,y)# 拟合分类器模型
    pre = clf.predict(x)# 预测x的值
    
    plt.scatter(x,y,s=100)# 绘制散点图
    plt.plot(x,pre,'r-',linewidth=4)# 画出x预测值的直线
    for idx, m in enumerate(x):  
        plt.plot([m,m],[y[idx],pre[idx]], 'g-')
    plt.show()
    plt.savefig("xianxinghuigui.png")
    
    
    #对该算法进行评估
    print(u"系数", clf.coef_)# 计出系数
    print(u"截距", clf.intercept_)# 基础截距
    print(np.mean(y-pre)**2)
    print(clf.predict([[60.0]]))# 根据价格x预测出行驶里程y

    运行后得出线性回归图:

  • 相关阅读:
    jenkins+docker+rancher+zikui 部署
    利用jenkins直接构件docker镜像并发布到docker服务器
    docker+Rancher+K3S
    windows使用VSCode进行Shell开发
    v-drag 弹框拖拽的实现
    vue3兄弟组件传值
    vue3 组件传值
    Azure Computer Vision 之 Smart Crop 智能裁剪图片
    ASP.NET Core 单元测试
    ASP.NET Core Static Files
  • 原文地址:https://www.cnblogs.com/av10492/p/12752152.html
Copyright © 2020-2023  润新知