python语言实现lassocv中的可视化显示_python – 继承自scikit-learn的LassoCV模型

本文介绍了如何实现一个继承自scikit-learn的LassoCV模型,并确保其兼容性,以便利用scikit-learn的克隆、网格搜索等特性。关键在于理解scikit-learn估算器的要求,特别是需要在`__init__`方法中明确声明所有参数,以方便内部字段的获取和修改。以SGDClassifier为例,展示了如何正确初始化和定义参数。
摘要由CSDN通过智能技术生成

你可能想制作scikit-learn兼容模型,进一步使用scikit-learn功能.如果你这样做 – 你需要先阅读:

http://scikit-learn.org/stable/developers/contributing.html#rolling-your-own-estimator

简而言之:scikit-learn有许多功能,如估算器克隆(clone()函数),元算法,如GridSearch,Pipeline,Cross validation.所有这些都必须能够获取估算器内部字段的值,并更改这些字段的值(例如,GridSearch必须在每次评估之前更改估算器内部的参数),例如SGDClassifier中的参数alpha.要更改某个参数的值,必须知道它的名称.要获取BaseEstimator类中每个分类器方法get_params中的所有字段的名称(隐式继承),需要在类的__init__方法中指定所有参数,因为很容易内省__init__方法的所有参数名称(查看BaseEstimator ,这是抛出此错误的类).

所以它只是希望你删除所有的varargs

*args, **kwargs

来自__init__签名.您必须在__init__ signature中列出模型的所有参数,并初始化对象的所有内部字段.

以下是SGDClassifier的__init__方法的示例,它继承自BaseSGDClassifier:

def __init__(self, loss="hinge", penalty='l2', alpha=0.0001, l1_ratio=0.15,

fit_intercept=True, n_iter=5, shuffle=True, verbose=0,

epsilon=DEFAULT_EPSILON, n_jobs=1, random_state=None,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值