为了账号安全,请及时绑定邮箱和手机立即绑定

Python实现线性回归

难度初级
时长 1小时 5分
学习人数
综合评分8.77
32人评价 查看评价
9.0 内容实用
8.8 简洁易懂
8.5 逻辑清晰
  • temp=dataset.iloc[:,2:5]

    读取数据方法——定义了一个函数 iloc()

    temp = dataset.iloc[:,2:5]

    把X读出来

    temp['x0']=1

    偏移

    X=temp.iloc[:,[3,0,1,2]]

    显示顺序  第3列  第0列  第1列  第2列


    查看全部
    0 采集 收起 来源:回归分析实战

    2018-12-08

  • 回归分析实战

    import numpy as np

    from numpy.linalg import inv

    from numpy import dot

    from numpy import mat

    import pandas as pd;


    查看全部
    0 采集 收起 来源:回归分析实战

    2018-12-08

  • 同步更新

    for i in range(10000):

        temp[0]=theta[0] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0

        temp[1]=theta[1] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0

        temp[2]=theta[2] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0

        temp[3]=theta[3] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0

        theta=temp


    查看全部
    0 采集 收起 来源:回归分析实战

    2018-12-08

  • 梯度下降:

    查看全部
    0 采集 收起 来源:梯度下降

    2018-12-07

  • 直接计算公式存在的问题

    查看全部
    0 采集 收起 来源:梯度下降

    2018-12-07

  • 最小二乘模型

    查看全部
    0 采集 收起 来源:最小二乘法

    2018-12-07

  • 课程安排:

    查看全部
    0 采集 收起 来源:课程安排

    2018-12-07

  • 掌握python梯度下降求解线性分析模型参数

    θ=theta

    alpha是学习速率[0,1]——

            //保证梯度下降的速率不要太快,在一个合适的区间之内,是函数迅速收敛,找到局部最小值

    theta=theta-alpha(theta * X - Y)*X

    np.sum()/组数——加权平均

    >>> import numpy as np

    >>> from numpy.linalg import inv

    >>> from numpy import dot

    >>> from numpy import mat

    >>> X=mat([1,2,3]).reshape(3,1)

    >>> Y=2*X

    >>> theta=1.0

    >>> alpha=0.1

    >>> for i in range(100):

    ...     theta=theta + np.sum(alpha*(Y-dot(X,theta))*X.reshape(1,3))/3.0

    ...

    >>> print(theta)

    2.0

    >>>


    查看全部
  • inv: 矩阵求逆

    dot: 矩阵点乘

    mat: 二维矩阵

    array: 一维数组

    .T:  矩阵的转置

    .reshape : 重新构置矩阵

    查看全部
    1 采集 收起 来源:开发准备

    2018-12-06

  • 理解通过梯度下降进行参数求解过程

    直接计算的问题


    矩阵是否满秩(Python矩阵运算对于不是满秩矩阵的情况适用模糊近似处理)

    运算性能


    梯度下降法近似的计算,解决了直接计算的问题


    查看全部
    0 采集 收起 来源:梯度下降

    2018-12-05

  • 不满秩或者不正定的时候,存在多个解,并不是没有解,即解不唯一。此时选择哪一个解作为最后模型的参数呢?一是通过既定的选择便好来决定;二是采用梯度下降来近似。我觉得性能问题倒不是主要原因,主要原因是因为存在多个解

    查看全部
    0 采集 收起 来源:梯度下降

    2018-12-05

  • 理解向量运算进行参数求解过程

    向量表示

        Y=θX,θ和X是矩阵


    L=1/2(θX-Y)^T(θX-Y)

    第二行为损失函数(欧几里得距离/向量中向量空间的距离)

                //这个损失函数是线性的,而神经网络的损失函数是非线性的


    查看全部
    0 采集 收起 来源:最小二乘法

    2018-12-04

  • 理解向量运算进行参数求解过程

    向量表示

        Y=θX,θ和X是矩阵


    L=1/2(θX-Y)^T(θX-Y)

    第二行为损失函数(欧几里得距离/向量中向量空间的距离)

                //这个损失函数是线性的,而神经网络的损失函数是非线性的


    查看全部
    0 采集 收起 来源:最小二乘法

    2018-12-04

  • 线性回归的一般化模型的数学表示

    θ^0表示一维时的截距

                    也表示为多维时的偏移量


    查看全部
  • Y = θX

    通过训练,得到θ的过程,就是线性回归算法。


    查看全部

举报

0/150
提交
取消
课程须知
1、有机器学习基础 2、有一定的python基础
老师告诉你能学到什么?
1、线性回归的概念 2、最小二乘法的python实现 3、梯度下降的python实际 4、编程处理线性回归分析的一般方法

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!