线性回归

作者: 预眸丶 | 来源:发表于2021-04-11 23:00 被阅读0次

    线性回归的基本思想在于,输入x与y,通过一个k让y = kx+b,而输入的x可能不止一个数值,可能有许多个数值x1,x2,x3等,故而使用x_vector来表示输入的x值,而相对于的k则为k_vector,通过矩阵乘法,将其变成一个数值。

    线性回归的核心在于,通过多组数据的输入获得K值,所使用的方法有两个一个是最小二乘法,一个是梯度下降法:

    TX 最小二乘法

    梯度下降法(求导)求极值:

    最小二乘法代码实现:

    """

    if __name__ =='__main__':

    X = np.random.normal(5, 1, size=20)

    Y = [2 * x +2 * np.random.rand()for xin X]

    fig = plt.figure()

    ax = fig.add_subplot(111)

    ax.set_xlabel('x')

    ax.set_ylabel('y')

    ax.scatter(X, Y, c='blue', marker='o', s=30)

    # plt.show()

        len =len(X)

    X = np.mat(np.vstack((X,np.ones(len)))).T

    Y = np.mat(Y).T

    res = (X.T*X).I* X.T * Y

    print(res.shape)

    b =float(res[1][0])

    w =float(res[0][0])

    plt.plot([2, 8], [w *2 + b, w *8 + b])

    plt.show()

    """

    相关文章

      网友评论

        本文标题:线性回归

        本文链接:https://www.haomeiwen.com/subject/htozkltx.html