zoukankan      html  css  js  c++  java
  • 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

    运行后得出线性回归图:

  • 相关阅读:
    sql server版本、组件和管理工具
    asp.net WebService如何去掉asmx后缀
    通过C#发送自定义的html格式邮件
    asp.net上传图片到服务器
    分享一个C#自定义事件的实际应用
    推荐一个ASP.NET网站内容管理系统源码
    asp.net读取模版并写入文本文件
    Win10命令提示符(cmd)怎么复制粘贴
    配置IIS的通配符应用程序映射
    用c-free 5写一个入门的程序
  • 原文地址:https://www.cnblogs.com/av10492/p/12752152.html
Copyright © 2011-2022 走看看