`
huangyongxing310
  • 浏览: 490517 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

线性回归 例子

 
阅读更多
线性回归



多项式回归
多项式就是多元回归的一个变种,只不过是原来需要传入的是X向量,而多项式则只要一个x值就行。通过将x扩展为指定阶数的向量,就可以使用LinearRegression进行回归了。


多项式回归,正则化
在用多项式回归时,可能会使得结果过拟合,为了防止过拟合,加入了正则化项,使得高阶的系数很小或为0,随着阶数的增加,它的系数项会不断增大

https://blog.csdn.net/lyf52010/article/details/79795056(线性回归(Ridge,Lasso)的正则化)




sklearn已经提供了扩展的方法——sklearn.preprocessing.PolynomialFeatures。利用这个类可以轻松的将x扩展为X向量,

使用方法:
>>> from sklearn.preprocessing import PolynomialFeatures
>>> X_train = [[1],[2],[3],[4]]
>>> quadratic_featurizer = PolynomialFeatures(degree=2)
>>> X_train_quadratic = quadratic_featurizer.fit_transform(X_train)
>>> print(X_train_quadratic)
[[ 1  1  1]
 [ 1  2  4]
 [ 1  3  9]
 [ 1  4 16]]



它是使用多项式的方法来进行的,如果有a,b两个特征,那么它的2次多项式为(1,a,b,a^2,ab, b^2)。

PolynomialFeatures有三个参数
degree:控制多项式的度

interaction_only: 默认为False,如果指定为True,那么就不会有特征自己和自己结合的项,上面的二次项中没有a^2和b^2。

include_bias:默认为True。如果为True的话,那么就会有上面的 1那一项。





from sklearn import datasets
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt


X = [[1, 2], [3, 4], [5, 7], [6, 9], [7, 8]]  #两个自变量
# y = [[4], [10], [17], [20], [21]] #Y=2*X1+X2
y = [[4], [10], [17], [20.5], [21.7]] #Y=2*X1+X2

#使用以后的数据集进行线性回归
model = LinearRegression()
model.fit(X, y)                       #X有可能是多维的,调用之后会得到一个对上述数据线性回归的模型

#
print(model.coef_)                    #系数,返回一个list
print(model.intercept_)               #截距

#有模型了就可对数据进行预测了
print(model.predict([[10, 12]]))      #预测值

# #给训练模型打分,注意用在LinearR中使用R^2 conefficient of determination打分
print(model.score(X,y))

XTest = [[7, 8],[10, 12]]
yTest = [[22],[32]]
print(model.score(XTest, yTest))


#使用生成线性回归的数据集,最后的数据集结果用散点图表示(因为这里X为二维的,而scatter中只能取一维)
xTemp =[]
for temp in X:
    xTemp.append(temp[0])

xTemp2 =[]
for temp in X:
    xTemp2.append(temp[1])

#画散点图
plt.scatter(xTemp,y)
plt.scatter(xTemp2,y)
plt.show()







局部加权线性回归(Locally Weighted Linear Regression,LWLR)(就是增加高次项,如x的平方,x的立方等)


此外,局部加权线性回归也存在一定的问题,相对于普通的线性回归,由于引入了权重,大大增加了计算量,虽然取得了不错的拟合效果,但也相应地付出了计算量的代价。我们发现,在k=0.01时,大多的数据点的权重都接近0,所以,如果我们能避免这些计算,将一定程度上减少程序运行的时间,从而缓解计算量增加带来的问题。


稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,



https://www.cnblogs.com/why957/p/9321752.html

https://www.cnblogs.com/crawer-1/p/8548312.html(sklearn—LinearRegression,Ridge,RidgeCV,Lasso线性回归模型简单使用)



https://blog.csdn.net/qq_35693580/article/details/80497023
分享到:
评论

相关推荐

    线性回归例子

    线性回归是一种广泛应用的统计分析方法,用于建立因变量(目标变量)与一个或多个自变量(预测变量)之间的...通过这个简单的线性回归例子,我们可以深入理解这种统计方法,并学习如何在实际问题中运用MATLAB进行分析。

    matlab一元线性回归例子

    在提供的`5341846_一元线性回归例子.pdf`文件中,可能包含了一个具体的MATLAB代码示例和解释,这将有助于加深理解并实际操作一元线性回归。对于MATLAB初学者来说,这是一个极好的学习资源,可以帮助你逐步掌握这种...

    线性回归的python例子

    线性回归是一种广泛应用的统计分析方法,用于建立因变量(目标变量)与一个或多个自变量(预测因子)之间的线性关系模型。在Python中,我们可以利用强大的数据分析库,如NumPy、Pandas以及Scikit-learn来实现线性...

    一个简单的机器学习的线性回归实例

    线性回归是机器学习中最基础且重要的算法之一,它主要用于预测连续数值型的输出结果。在本实例中,我们将深入探讨“一个简单的机器学习的线性回归实例”。这个实例涉及了如何使用Python编程语言,特别是Python 3.7...

    python线性回归实用教程带注释.rar

    下面是一个使用 `sklearn` 的简单线性回归例子: ```python from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared...

    基于matlab开发的用rvm作线性回归的例子,matlab写的.rar

    在本资源中,我们主要探讨的是如何利用...通过深入学习和实践这个基于MATLAB的RVM线性回归例子,用户不仅可以提升MATLAB编程技能,还能增强对机器学习尤其是非线性建模的理解,为后续的科研或工程应用打下坚实的基础。

    基于spss的一元线性回归与多元线性回归案例.rar

    一元线性回归和多元线性回归是统计学中常用的数据分析方法,它们在预测和探索变量间关系方面发挥着重要作用。本案例资料基于SPSS软件进行讲解,适合学习者进行实战练习。SPSS(Statistical Product and Service ...

    一个线性回归的例子

    一个线性回归模型

    Matlab非线性回归的小程序和例子

    在提供的“Matlab 非线性回归的例子.txt”文件中,很可能包含了一个具体的非线性回归问题的代码示例,详细展示了如何定义模型函数、准备数据、调用`lsqcurvefit`以及绘图的过程。同时,“nlinreg”可能是另一个相关...

    回归分析-非线性回归及岭回归

    在这个例子中,我们关注的是非线性回归和岭回归,这两种方法在数据挖掘、人工智能和机器学习领域中都有广泛应用。 首先,银行的案例是一个典型的回归分析问题,旨在理解不良贷款的成因。通过分析25家分行的2002年...

    在spss中进行非线性回归的方法说明(含举例)

    SPSS 非线性回归方法详解 在数据分析中,非线性回归是一种常用的方法,特别是在自变量和因变量之间的关系不能简单地表示为线性方程时。SPSS 软件提供了非线性回归“Nonlinear”过程,以下将通过一个实例来介绍非...

    sklearn+python:线性回归案例

    线性回归是一种广泛应用的统计学方法,用于建立输入变量(特征)与输出变量(目标)之间的线性关系。在这个案例中,我们使用Python的机器学习库scikit-learn(sklearn)来实现线性回归模型,以预测波士顿地区的房价...

    机器学习——线性回归demo

    文件名"手撕线性回归预测数字"暗示了这个例子可能涉及预测数字序列,这可能是一个简单的回归问题,例如预测房价、股票价格等。在实践中,我们首先需要准备数据集,包括输入特征和对应的输出值。然后,我们会分为训练...

    Matlab 非线性回归

    本篇文章将深入探讨Matlab中的非线性回归,并结合提供的小程序和例子进行详细讲解。 一、Matlab非线性回归基础 1. **模型定义**:非线性回归涉及拟合数据到一个非线性的函数形式,如f(x) = a*x^b + c,其中a、b和c...

    Python 实现一元线性回归 Jupyter Notebook 源代码和数据.zip

    一元线性回归是一种基本的统计学方法,用于分析两个变量间的关系,其中一个变量作为自变量(x),另一个变量作为因变量(y)。在给定的资料中,“Python实现一元线性回归Jupyter Notebook源代码和数据.zip”提供了一...

    数据分析实战 - 线性回归-女性身高与体重数据分析

    在数据分析实战中,线性回归是一种常用的方法,用于探究两个或多个变量之间的关系。在这个案例中,我们将关注女性身高与体重的关系,通过Python编程实现简单线性回归和多项式回归模型。以下是详细的知识点解析: 1....

    数据挖掘中线性回归分析的研究.pdf

    为了具体说明如何建立线性回归模型,文档举了一个例子,使用某国2008年至2010年季度消费价格指数(CPI)数据,通过函数lm()进行线性回归分析。在数据准备阶段,作者创建了数据集并绘制散布图,以便直观展现数据的...

    贝叶斯线性回归介绍 高斯回归基础

    ### 贝叶斯线性回归与高斯过程回归的基础 #### 一、引言 在机器学习领域,贝叶斯线性回归是一种强大的方法,它不仅能够处理预测任务,还能提供模型不确定性的度量。这种方法的核心优势在于其能够通过先验分布来...

Global site tag (gtag.js) - Google Analytics