ML之4PolyR:利用四次多项式回归4PolyR模型+两种正则化(Lasso/Ridge)在披萨数据集上拟合(train)、价格回归预测(test)-阿里云开发者社区

开发者社区> 一个处女座的程序猿> 正文

ML之4PolyR:利用四次多项式回归4PolyR模型+两种正则化(Lasso/Ridge)在披萨数据集上拟合(train)、价格回归预测(test)

简介: ML之4PolyR:利用四次多项式回归4PolyR模型+两种正则化(Lasso/Ridge)在披萨数据集上拟合(train)、价格回归预测(test)
+关注继续查看

输出结

image.png

image.png

image.png

 

设计思

image.png

image.png

 

核心代

lasso_poly4 = Lasso()

lasso_poly4.fit(X_train_poly4, y_train)

ridge_poly4 = Ridge()

ridge_poly4.fit(X_train_poly4, y_train)


class Lasso(ElasticNet):

   """Linear Model trained with L1 prior as regularizer (aka the Lasso)

   

   The optimization objective for Lasso is::

   

   (1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1

   

   Technically the Lasso model is optimizing the same objective function as

   the Elastic Net with ``l1_ratio=1.0`` (no L2 penalty).

   

   Read more in the :ref:`User Guide <lasso>`.

   

   Parameters

   ----------

   alpha : float, optional

   Constant that multiplies the L1 term. Defaults to 1.0.

   ``alpha = 0`` is equivalent to an ordinary least square, solved

   by the :class:`LinearRegression` object. For numerical

   reasons, using ``alpha = 0`` with the ``Lasso`` object is not advised.

   Given this, you should use the :class:`LinearRegression` object.

   

   fit_intercept : boolean

   whether to calculate the intercept for this model. If set

   to false, no intercept will be used in calculations

   (e.g. data is expected to be already centered).

   

   normalize : boolean, optional, default False

   This parameter is ignored when ``fit_intercept`` is set to False.

   If True, the regressors X will be normalized before regression by

   subtracting the mean and dividing by the l2-norm.

   If you wish to standardize, please use

   :class:`sklearn.preprocessing.StandardScaler` before calling ``fit``

   on an estimator with ``normalize=False``.

   

   precompute : True | False | array-like, default=False

   Whether to use a precomputed Gram matrix to speed up

   calculations. If set to ``'auto'`` let us decide. The Gram

   matrix can also be passed as argument. For sparse input

   this option is always ``True`` to preserve sparsity.

   

   copy_X : boolean, optional, default True

   If ``True``, X will be copied; else, it may be overwritten.

   

   max_iter : int, optional

   The maximum number of iterations

   

   tol : float, optional

   The tolerance for the optimization: if the updates are

   smaller than ``tol``, the optimization code checks the

   dual gap for optimality and continues until it is smaller

   than ``tol``.

   

   warm_start : bool, optional

   When set to True, reuse the solution of the previous call to fit as

   initialization, otherwise, just erase the previous solution.

   

   positive : bool, optional

   When set to ``True``, forces the coefficients to be positive.

   

   random_state : int, RandomState instance or None, optional, default

    None

   The seed of the pseudo random number generator that selects a

    random

   feature to update.  If int, random_state is the seed used by the random

   number generator; If RandomState instance, random_state is the

    random

   number generator; If None, the random number generator is the

   RandomState instance used by `np.random`. Used when ``selection`` ==

   'random'.

   

   selection : str, default 'cyclic'

   If set to 'random', a random coefficient is updated every iteration

   rather than looping over features sequentially by default. This

   (setting to 'random') often leads to significantly faster convergence

   especially when tol is higher than 1e-4.

   

   Attributes

   ----------

   coef_ : array, shape (n_features,) | (n_targets, n_features)

   parameter vector (w in the cost function formula)

   

   sparse_coef_ : scipy.sparse matrix, shape (n_features, 1) | \

   (n_targets, n_features)

   ``sparse_coef_`` is a readonly property derived from ``coef_``

   

   intercept_ : float | array, shape (n_targets,)

   independent term in decision function.

   

   n_iter_ : int | array-like, shape (n_targets,)

   number of iterations run by the coordinate descent solver to reach

   the specified tolerance.

   

   Examples

   --------

   >>> from sklearn import linear_model

   >>> clf = linear_model.Lasso(alpha=0.1)

   >>> clf.fit([[0,0], [1, 1], [2, 2]], [0, 1, 2])

   Lasso(alpha=0.1, copy_X=True, fit_intercept=True, max_iter=1000,

   normalize=False, positive=False, precompute=False,

    random_state=None,

   selection='cyclic', tol=0.0001, warm_start=False)

   >>> print(clf.coef_)

   [ 0.85  0.  ]

   >>> print(clf.intercept_)

   0.15

   

   See also

   --------

   lars_path

   lasso_path

   LassoLars

   LassoCV

   LassoLarsCV

   sklearn.decomposition.sparse_encode

   

   Notes

   -----

   The algorithm used to fit the model is coordinate descent.

   

   To avoid unnecessary memory duplication the X argument of the fit

    method

   should be directly passed as a Fortran-contiguous numpy array.

   """

   path = staticmethod(enet_path)

   def __init__(self, alpha=1.0, fit_intercept=True, normalize=False,

       precompute=False, copy_X=True, max_iter=1000,

       tol=1e-4, warm_start=False, positive=False,

       random_state=None, selection='cyclic'):

       super(Lasso, self).__init__(alpha=alpha, l1_ratio=1.0,

        fit_intercept=fit_intercept, normalize=normalize,

        precompute=precompute, copy_X=copy_X, max_iter=max_iter, tol=tol,

        warm_start=warm_start, positive=positive, random_state=random_state,

        selection=selection)

######################################################

#########################

# Functions for CV with paths functions


 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【技术干货】想要高效采集数据到阿里云Elasticsearch,这些方法你知道吗?
本文全面介绍了Elastic Beats、Logstash、语言客户端以及Kibana开发者工具的特性及数据采集到阿里云Elasticsearch(简称ES)服务中的解决方案。帮助您全面了解原理并选择符合自身业务特色的数据采集方案。
3247 0
使用PowerDesigner生成数据库测试数据
原文http://blog.csdn.net/horace20/article/details/6672081 特别说明:本文产生于个人工作总结,转载请注明原文出处http://blog.csdn.net/horace20 1、环境        PowerDesigner15.2.0.3042-BEAN+ MySQL5.5 + mysql-connector-odbc-5.1.8        以上软件在网上都很容易找到,这里就不再给出相关链接!系统环境为WindowsXP。
1029 0
PowerDesigner PDM表数据信息用表格展现
原文http://www.cnblogs.com/whitewolf/archive/2010/05/04/1726992.html       在前些日子,同事问我能不能把PowerDesigner的PDM 表信息表格来展现出来,如下面格式, 字段名 ...
643 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10886 0
SharePoint 2013 Designer系列之数据视图筛选
  在SharePoint中,我们经常需要对列表进行简单的筛选,这时,数据视图就有作用了,我们可以定制对于字段的筛选,来进行展示;特别的,筛选不同于搜索,并没有对于附件或者文档的全文检索,如果需要全文检索,可以使用列表的垂直搜索功能。
731 0
PowerDesigner教程系列(六)概念数据模型
原文http://www.cnblogs.com/yxonline/archive/2007/04/12/710816.html   目标:本文主要介绍联系的定义及使用。  一、 联系联系(Relationship)是指实体集这间或实体集内部实例之间的连接。
700 0
SharePoint 2013 Designer系列之数据视图
  在SharePoint使用中,数据展示是一块很重要的部分,很多时候我们会采用webpart的形式,但是有一些情况,我们不必使用开发,仅需使用Designer即可,下面让我简单介绍下数据视图的使用。   1、创建一个测试列表,以下为测试列表的字段,如下图:   2、插入一些测试数据(纯属捏...
668 0
C语言数据结构-稀疏多项式运算
稀疏多项式可以抽象成一个线性表,数据域存储指数和系数,指针域链接下一项,直到结束,操纵链表即可实现对多项式的运算!本文记录整个实现的过程,便于复查
4 0
+关注
一个处女座的程序猿
国内互联网圈知名博主、人工智能领域优秀创作者,全球最大中文IT社区博客专家、CSDN开发者联盟生态成员、中国开源社区专家、华为云社区专家、51CTO社区专家、Python社区专家等,曾受邀采访和评审十多次。仅在国内的CSDN平台,博客文章浏览量超过2500万,拥有超过57万的粉丝。
1701
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载