监督学习之广义线性模型(最小二乘法)

本文主要搬运的是sklearn中文文档,然后自己又在此基础上补充了一些,欢迎转发学习。

广义线性模型

本章主要讲述一些用于回归的方法,其中目标值 y 是输入变量 x 的线性组合。 数学概念表示为:如果\hat{y} 是预测值,那么有:

                                \hat{y}(w,x) = w_{0}+  w_{1}x_{1}+w_{2}x_{2}+...+w_{p}x_{p}

在整个模块中,我们定义向量 w = (w_{1} , ..., w_{p})作为 coef_ ,定义w_{0} 为 intercept_ 。(coef的英文意思是系数,intercept的英文意思是截断,正好对应着线性回归中的斜率和截距,不过这个斜率是由很多个权重组成的)。

1、普通最小二乘法

主要用到sklearn中的linearRegression类,LinearRegression 拟合一个带有系数的线性模型,使得数据集实际观测数据和预测数据(估计值)之间的残差平方和最小。其数学表达式为:

                                                        min(\vert \vert Xw - y \vert  \vert _{2}) ^2

如下图所示:

线性模型示例

下面介绍一下sklearn中LinearRegression的用法:

class sklearn.linear_model.LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs=1)

参数:

fit_intercept::布尔型,默认为True

说明:是否对训练数据进行中心化,即是否需要b值,若果为False,则不需要。

normalize:布尔型,默认为False

说明:是否对数据进行归一化处理。

copy_X:布尔型,默认为True

说明:是否对X复制,如果选择False,则直接对原数据进行覆盖。(即经过中心化,归一化后,是否把新数据覆盖到原数据上),true则赋值X。

n_jobs :整型, 默认为1

说明:计算时设置的任务个数(number of jobs)。如果选择-1则代表使用所有的CPU。这一参数的对于目标个数>1(n_targets>1)且足够大规模的问题有加速作用。

属性:

coef_ :数组型变量, 形状为(n_features,)或(n_targets, n_features)

说明:对于线性回归问题计算得到的feature的系数,即权重向量。如果输入的是多目标问题,则返回一个二维数组(n_targets, n_features);如果是单目标问题,返回一个一维数组(n_features,)。

intercept_ :数组型变量

说明:线性模型中的独立项,即b值。

singular_ :数组,形状为 (min(X, y),)

说明:矩阵X的奇异值,仅在X为密集矩阵时有效

rank_ : 整型

说明:矩阵X的秩,尽在X为密集矩阵时有效。

方法:

后续练习的时候会遇到,这里先放个截图。

参见Method

方法中参数解读:

fit(X,y,sample_weight=None):目的是拟合这个模型

            X:形状是(n_samples, n_features),是训练数据。

            y:形状是(n_samples, )或者(n_samples, n_targets),是目标值。

            samples_weight : 形状是(n_samples, ),默认值是None,是每个样本的权重。

get_params(deep=True):目的是获得这个estimator的参数值。函数返回是个字典,参数名映射到它们的值。

            deep:布尔类型,默认值为True,如果为真,将返回这个估计器的参数和包含的子对象,这些子对象是估计器。

predict(X) : 目的是利用这个模型进行预测。返回预测值,形状是(n_samples,),返回值是个浮点数。

            X:样本,形状是(n_samples, n_features)

            score(X,y,sample_weight = None):目的是决定系数R^2R^2解释如下:

set_params(**params) : 目的是获得这个评估器的参数,返回的是评估器实例。

            **params:是个字典,里面是评估器参数。


实例:

线性回归官网实例

补充说明:参数return_X_y控制输出数据的结构,若选为True,则将因变量和自变量独立导出

普通最小二乘法的复杂度:

该方法使用 X 的奇异值分解来计算最小二乘解。如果 X 是一个形状为 (n_samples, n_features)的矩阵,设n_{samples} \geq n_{features} ​​ , 则该方法的复杂度为 O(n_{samples} n_{fearures}^2)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,576评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,515评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,017评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,626评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,625评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,255评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,825评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,729评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,271评论 1 320
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,363评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,498评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,183评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,867评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,338评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,458评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,906评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,507评论 2 359

推荐阅读更多精彩内容