线性回归

import sklearn
from sklearn.linear_model import LinearRegression
X= [[0, 0], [1, 2], [2, 4]]
y = [, , ]
clf = LinearRegression()
#fit_intercept=True
#默认值为 True,表示计算随机变量, False 表示不计算随机变量
#normalize=False
#默认值为 False,表示在回归前是否对回归因子 X 进行归一化, True 表示是
#copy_X=True 表示是否保存副本
# n_jobs=1 在运行时几核并行运算
clf.fit(X, y) #训练
print(clf.coef_) #获取训练会的线性函数X参数的权值
print(clf.intercept_) # 训练后模型截距
print(clf.predict([[,]])) #根据输出值进行预测
print(clf._decision_function([[,]]))#根据输入进行预测的第二种方法
print(clf.score([[,]],[1.79])) #对预测结果进行评估打分
print(clf.get_params())#获取本次训练模型的参数值
print(clf.set_params(normalize=True)) #修改模型的参数值
print(clf.get_params())#重新显示模型训练参数值

Ridge 回归 (岭回归)

Ridge 回归用于解决两类问题:一是样本少于变量个数,二是变量间存在共线性

from sklearn import linear_model
reg = linear_model.Ridge (alpha = .) #导入模型并传入一个数
reg.fit ([[, ], [, ], [, ]], [, ., ]) #训练模型
#Ridge(alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None,
# normalize=False, random_state=None, solver='auto', tol=0.001)
print(reg.coef_) #获取权重w1...wn print(reg.intercept_) #获取截距w0 reg.set_params(alpha=0.6)#重新设置参数alpha=0.6
#Ridge(alpha=0.6, copy_X=True, fit_intercept=True, max_iter=None,
# normalize=False, random_state=None, solver='auto', tol=0.001)
#tol收敛精度
reg.fit ([[, ], [, ], [, ]], [, ., ])#重新训练模型
#Ridge(alpha=0.6, copy_X=True, fit_intercept=True, max_iter=None,
# normalize=False, random_state=None, solver='auto', tol=0.001)
print(reg.coef_)
print(reg.intercept_)

RidgeCV:多个阿尔法,得出多个对应最佳的w,然后得到最佳的w及对应的阿尔法

from sklearn import linear_model #导入模型
reg = linear_model.RidgeCV(alphas=[0.1, 1.0, 10.0])#导入模型传入数组
reg.fit([[, ], [, ], [, ]], [, ., ]) #训练模型
#RidgeCV(alphas=[0.1, 1.0, 10.0], cv=None, fit_intercept=True, scoring=None,normalize=False)
print(reg.alpha_) #获取权重

Lasso 监督分类
估计稀疏系数的线性模型
适用于参数少的情况,因其产生稀疏矩阵,可用与特征提取

from sklearn import linear_model # 导入模型参数
reg = linear_model.Lasso(alpha = 0.1)#导入模型传入参数alpha=0.1
reg.fit([[, ], [, ]], [, ])#训练数据
#Lasso(alpha=0.1, copy_X=True, fit_intercept=True, max_iter=,normalize=False, positive=False, precompute=False, random_state=None,selection='cyclic', tol=0.0001, warm_start=False)
#max_iter:迭代次数,tol:收敛精度
print(reg.predict([[, ]]))#模型预测

sklearn中更多的回归问题

  Elastic Net
    
是一个使用 L1 和 L2 训练的线性模型,适合于在参数很少的情况下(如 Lasso)并保持 Ridge
    性能的情况, 既是多种影响因素依赖与另外一种因素。继承 Ridge 的旋转稳定性。

  Multi-task Lasso
    用于估计 y 值不是一元的回归问题
    用于估计联合多元回归问题的稀疏系数, y 是一个 2 维矩阵(n_samples,n_tasks)。对于所
    有的回归问题,选的的因素必须相同,也叫 tasks。
    使用: clf = linear_model.MultiTaskLasso(alpha=0.1)

  贝叶斯回归(Bayesian Regression)
    
可以再估计过程包含正则化参数,参数可以手动设置,用于估计概率回归问题
    优点:
      适用于手边数据
      可用于在估计过程中包含正规化参数
    缺点:
      耗时

  逻辑回归
    可以做概率预测,也可用于分类
    仅能用于线性问题
    通过计算真实值与预测值的概率,然后变换成损失函数,求损失函数最小值来计算模型参数
    从而得出模型
    使用:
      clf_l1_LR = LogisticRegression(C=C, penalty='l1', tol=0.01)
      clf_l2_LR = LogisticRegression(C=C, penalty='l2', tol=0.01)
      clf_l1_LR.fit(X, y)
      clf_l2_LR.fit(X, y)

想了解更多sklearn内容,请访问https://wenku.baidu.com/view/b5e9383c1a37f111f0855b0f.html

sklearn—LinearRegression,Ridge,RidgeCV,Lasso线性回归模型简单使用的更多相关文章

  1. 时间序列预测——深度好文,ARIMA是最难用的(数据预处理过程不适合工业应用),线性回归模型简单适用,预测趋势很不错,xgboost的话,不太适合趋势预测,如果数据平稳也可以使用。

    补充:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-15-276 如果用arima的话,还不如使用随机森 ...

  2. 多元线性回归模型的特征压缩:岭回归和Lasso回归

    多元线性回归模型中,如果所有特征一起上,容易造成过拟合使测试数据误差方差过大:因此减少不必要的特征,简化模型是减小方差的一个重要步骤.除了直接对特征筛选,来也可以进行特征压缩,减少某些不重要的特征系数 ...

  3. 线性回归大结局(岭(Ridge)、 Lasso回归原理、公式推导),你想要的这里都有

    本文已参与「新人创作礼」活动,一起开启掘金创作之路. 线性模型简介 所谓线性模型就是通过数据的线性组合来拟合一个数据,比如对于一个数据 \(X\) \[X = (x_1, x_2, x_3, ..., ...

  4. Python机器学习/LinearRegression(线性回归模型)(附源码)

    LinearRegression(线性回归) 2019-02-20  20:25:47 1.线性回归简介 线性回归定义: 百科中解释 我个人的理解就是:线性回归算法就是一个使用线性函数作为模型框架($ ...

  5. 用Tensorflow完成简单的线性回归模型

    思路:在数据上选择一条直线y=Wx+b,在这条直线上附件随机生成一些数据点如下图,让TensorFlow建立回归模型,去学习什么样的W和b能更好去拟合这些数据点. 1)随机生成1000个数据点,围绕在 ...

  6. (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探

    一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...

  7. 吴裕雄 数据挖掘与分析案例实战(7)——岭回归与LASSO回归模型

    # 导入第三方模块import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn import mod ...

  8. 大白话5分钟带你走进人工智能-第十五节L1和L2正则几何解释和Ridge,Lasso,Elastic Net回归

    第十五节L1和L2正则几何解释和Ridge,Lasso,Elastic Net回归 上一节中我们讲解了L1和L2正则的概念,知道了L1和L2都会使不重要的维度权重下降得多,重要的维度权重下降得少,引入 ...

  9. 【scikit-learn】scikit-learn的线性回归模型

     内容概要 怎样使用pandas读入数据 怎样使用seaborn进行数据的可视化 scikit-learn的线性回归模型和用法 线性回归模型的评估測度 特征选择的方法 作为有监督学习,分类问题是预 ...

随机推荐

  1. 企业面试题|最常问的MySQL面试题集合(一)

    问题1:char.varchar的区别是什么?varchar是变长而char的长度是固定的.如果你的内容是固定大小的,你会得到更好的性能. 问题2: TRUNCATE和DELETE的区别是什么?DEL ...

  2. ip - Linux IPv4 协议实现

    SYNOPSIS(总览) #include <sys/socket.h> #include <net/netinet.h> tcp_socket = socket(PF_INE ...

  3. 关于AP如何获取station的rssi

    最近在研究一个问题:如何通过AP来获取station的rssi. 具体可以拆分为以下三种情况: 1.首先station如果已经连接到AP上,这种情况很容易就能够得到station的RSSI.这里就不讨 ...

  4. Android仿支付宝扣款顺序,动态改变ListView各Item次序

    前言:今天遇到个需求,需要让用户动态选择语音传输方式的次序,突然想起支付宝选择扣款顺序的功能,恰好能满足需要,就花了点时间写了个demo,在此权当学习记录 先上效果图 支付宝的效果 demo的效果 思 ...

  5. docker python3环境搭建

    1.使用镜像为daocloud的python镜像 docker run -it --rm --name my-running-script -v "$PWD":/usr/src/m ...

  6. Vue 上传图片压缩 的问题

    前言 也是很少来写博客了,也是赖吧,哈哈 最近新的进度里有上传图片太大,需要前台进行图片压缩问题,然后查阅了相关资料 上传图片大于100* 1024 的用canvas 来压缩来解决 然后IOS拍照上传 ...

  7. python实例31[生成随即的密码]

    代码: import random import string import time # strong.high = 3  #random for the whole passwd #storng. ...

  8. 【ipc-mq】根据mq的key查看使用进程

    使用ipcs -q可以得到key与msqid的对应关系,从而找到msgid webadmin@172.172.179.3:/usr/local/webapps/test_ma[17:17:36]$ i ...

  9. Python基础(四)

    一.迭代器       让不同数据类型具有相同的遍历方式:list.dict.str.tuple.set 1.特点: ①省内存 ②只能向前,不能反复 ③惰性机制 2.可迭代对象 ###dir() 查看 ...

  10. UVa 1596 Bug Hunt (string::find && map && 模拟)

    题意 : 给出几组由数组定义与赋值构成的编程语句, 有可能有两种BUG, 第一种为数组下标越界, 第二种为使用尚未定义的数组元素, 叫你找出最早出现BUG的一行并输出, 每组以' . '号分隔, 当有 ...