zoukankan      html  css  js  c++  java
  • 作业5

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

    2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)

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

    答:

    1.

    本节重点知识点是线性回归算法,它属于监督学习的一种,是评估自变量X与因变量Y之间的一种线性关系。当只有一个自变量的时候,称为一元线性回归,当具有多个自变量的时候, 称为多元线性回归。通俗的讲,就是将真实的数据,映射到坐标轴中,这些数据在坐标轴中,呈现偏向线状的形状,然后构建一个函数,需要最优解,并用来预测结果,如下图呈线性相关关系。

     

    2.线性回归算法可以用来预测结果,例如根据电脑的价格可以线性回归出电脑的配置,预测买到电脑的配置或者在自动驾驶碰到障碍物的时候,根据障碍物的大小预测轮子需要转动的角度是多少等等。

    3.

     截图如下:

    代码如下:

    import numpy as np

    from matplotlib import pyplot as plt

    def F(X,Y):

        X_avg = np.mean(X)

        Y_avg = np.mean(Y)

        n = len(X)

        # 定义分子和分母

        fen_zi = 0

        fen_mu = 0

        for i in range(0,n):

            fen_zi += (X[i] - X_avg) * (Y[i] - Y_avg)

            fen_mu += (X[i] - X_avg) ** 2

        b1 = fen_zi / float(fen_mu)

        b0 = Y_avg - X_avg * b1

        return b0,b1

    def predict(x,b0,b1):

        return b0 + x * b1

    X=[1.5,0.8,2.6,1.0,0.6,2.8,1.2,0.9,0.4,1.3,1.2,2.0,1.6,1.8,2.2]

    Y=[3.1,1.9,4.2,2.3,1.6,4.9,2.8,2.1,1.4,2.4,2.4,3.8,3.0,3.4,4.0]

    b0,b1 = F(X,Y)

    print('k = ',b1)

    print('b = ',b0)

    # 生成画板

    plt.figure()

    # 画散点图

    plt.scatter(X,Y)

    # 求出X参数的最小值

    X_min = min(X)

    # 求出X参数的最大值

    X_max = max(X)

    # 根据求得的b1,b0得到Y的最小值

    Y_min = b0 + b1 * X_min

    # 分局求得b1,b0得到Y的最大值

    Y_max = b0 + b1 * X_max

    # 画出预测的线性回归模型

    plt.plot([X_min,X_max],[Y_min,Y_max],'r')

    # 展示最终的效果

    plt.show()

  • 相关阅读:
    Google 地图小例子
    实现网站的中英文转换
    必须掌握的八个【cmd 命令行】
    C#发送email
    sql 参数化查询,添加,删除
    SqlDataReader使用序数索引器
    DataSet数据筛选和排序
    Connect Propertity
    SqlDataReader读取数据
    SqlDataReader读取数据
  • 原文地址:https://www.cnblogs.com/hongxinma/p/12904246.html
Copyright © 2011-2022 走看看