Scikit-learn实战之线性模型
来源:互联网 发布:淘宝橘子的俄罗斯代购 编辑:程序博客网 时间:2024/06/03 17:02
下面是一系列的用于回归的方法,这些方法的目标值(target value)是由输入变量的线性组合而成。在数学概念上,如果
在整个模块中,我们指定向量
为系数,并且
1. 普通最小二乘法
LinearRegression是一个线性模型,它的系数 最小化数据集中的观测结果和线性预测结果之间的残差和。它解决的问题在数学上可以形式化为:
LinearRegression 的 fit 方法接收数组 X,y 作为其参数,并且会将线性模型的的系数
>>> from sklearn import linear_model>>> reg = linear_model.LinearRegression()>>> reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)>>> reg.coef_array([ 0.5, 0.5])
然而由普通最小二乘法估计的系数依赖于模型项之间的独立性。当所有的项是相关的,并且设计矩阵X 的列有一个近似的线性相关性。设计矩阵接近奇异,并且作为一个结果,最小二乘估计将对观察值的随机误差高度敏感,产生一个较大的差异。这种情况下,多重共线性的可能性将会增加。例如,数据没有按照实验设计来收集。
1.1 普通最小二乘法的复杂性
这种方法使用矩阵 X 的奇异值分解来计算最小二乘解。如果矩阵 X的尺寸是
2. 岭回归
Ridge 回归通过引入系数的惩罚项来处理普通最小二乘法的一些问题:
在这里,
和其它的线性模型一样,Ridge 的 fit 方法接收数组 X,y 作为其参数,并且会将线性模型的的系数
>>> from sklearn import linear_model>>> reg = linear_model.Ridge (alpha = .5)>>> reg.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1]) Ridge(alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None, normalize=False, random_state=None, solver='auto', tol=0.001)>>> reg.coef_array([ 0.34545455, 0.34545455])>>> reg.intercept_ 0.13636...
2.2 Ridge的复杂性
Ridge 的算法复杂性与普通最小二乘的复杂度一致。
2.3 设置正则化参数:广义交叉验证
RidgeCV实现了一个内置
>>> from sklearn import linear_model>>> reg = linear_model.RidgeCV(alphas=[0.1, 1.0, 10.0])>>> reg.fit([[0, 0], [0, 0], [1, 1]], [0, .1, 1]) RidgeCV(alphas=[0.1, 1.0, 10.0], cv=None, fit_intercept=True, scoring=None, normalize=False)>>> reg.alpha_ 0.1
3. Lasso
Lasso 线性模型估计稀疏系数。他在某些情况下是非常有用的,在这些情况下更倾向于更少的参数的解决方案。它有效地减少在给定解决方案上独立变量的个数。
持续更新中。。。
- Scikit-learn实战之线性模型
- scikit-learn广义线性模型之最小二乘法
- scikit-learn实现线性回归之LinearRegression模型
- scikit-learn实现线性回归之Lassolars模型
- scikit-learn广义线性模型之岭回归
- 线性回归之scikit-learn
- 【scikit-learn】scikit-learn的线性回归模型
- 【scikit-learn】scikit-learn的线性回归模型
- 【scikit-learn】scikit-learn的线性回归模型
- scikit-learn : 线性回归模型性能评估
- 【Scikit-Learn 中文文档】广义线性模型
- 【Scikit-Learn 中文文档】广义线性模型
- 【Scikit-Learn 中文文档】广义线性模型
- 【Scikit-Learn 中文文档】广义线性模型
- 【Scikit-Learn 中文文档】广义线性模型
- 【Scikit-Learn 中文文档】广义线性模型
- 【Scikit-Learn 中文文档】广义线性模型
- 【Scikit-Learn 中文文档】广义线性模型
- pat甲1066. Root of AVL Tree(AVL树)
- 将opencv的窗口嵌入到MFC的picture control中
- ecshop对接微信小程序接口:获取商品分类
- Linux设备驱动程序学习(19)-USB 驱动程序(四)
- codeforces C. Queue (思维)
- Scikit-learn实战之线性模型
- python网络编程
- 浅谈GCC/Clang生成和链接静态库/动态库
- mysql安装程序出现2502、2503错误解决方法
- align-self
- Mybatis Generator完整配置详解
- 常见对象_Calendar类的概述和获取日历字段的方法
- 使用Trie树实现的MAP
- 【MySql】检索数据SELECT语句