scikit-learn-监督学习

309 阅读2分钟

1.监督学习

1.1 广义线性模型

1.1.1 普通最小二乘法

1.1.1.1 代码

from sklearn import linear_model
reg = linear_model.LinearRegression()
reg.fit (X_train,y_train)
reg.coef_   # 返回线性回归的权重
reg.intercept_  # 返回线性回归的偏置
reg.predict(X_test)

1.1.1.2 知识点

  1. 普通最小二乘的系数估计问题,依赖于模型各项的相互独立性。当各项是相关的,且设计矩阵 X的各列近似线性相关,那么, 设计矩阵会趋向于奇异矩阵,这会导致最小二乘估计对于随机误差非常敏感,产生很大的方差。
  2. 普通最小二乘法复杂度:如果 X 是一个 size 为 (n, p) 的矩阵,设 n>=p ,则该方法的复杂度为O(np^2)

1.1.2 岭回归

1.2.2.1 代码

from sklearn import linear_model
reg = linear_model.Ridge (alpha = .5)
reg.fit (X_train,y_train)

1.1.2.2 基本概念

  1. Ridge 回归通过对系数的大小施加L2惩罚来解决普通最小二乘法的一些问题, 岭回归系数最小化的是带罚项的残差平方和。
    其中, alpha>=0 是控制系数收缩量的复杂性参数: alpha的值越大,收缩量越大,这样系数对共线性的鲁棒性也更强。
  2. 利用RidgeCV内置的交叉验证寻找最优的alpha,默认使用的广义交叉验证(GCV),属于留一法(LOO-CV)
reg = linear_model.RidgeCV(alphas=[0.1, 1.0, 10.0], cv=None) #cv默认为None,为留一法,当设置为10时,为十折交叉验证
reg.fit (X_train,y_train)

1.1.3 Lasso

1.1.3.1

  1. The Lasso 是估计稀疏系数的线性模型。它在一些情况下是有用的,因为它倾向于使用具有较少参数值的情况,有效地减少给定解决方案所依赖变量的数量。 因此,Lasso 及其变体是压缩感知领域的基础。
  2. 在数学公式表达上,它由一个带有L1先验的正则项的线性模型组成。 其最小化的目标函数是: