python – Sklearn – 自动定义get_params()
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Sklearn – 自动定义get_params(),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1210字,纯文字阅读大概需要2分钟。
内容图文
![python – Sklearn – 自动定义get_params()](/upload/InfoBanner/zyjiaocheng/747/38c9fab5a39447e1948ea37c12a37a9a.jpg)
我正在尝试定义一个符合Sklearn估算器的类,例如:
class MyEstimator():
def __init__(self,verbose=False):
self.verbose = verbose
def get_params(self, deep=False):
return {
'verbose': self.verbose,
}
def set_params(self, **parameters):
for parameter, value in parameters.items():
setattr(self, parameter, value)
return self
# Also def fit() and other stuff ...
题
可以在不明确列出所有参数名称的情况下定义set_params().有没有办法以类似的方式定义get_params()?
我需要Sklearn的是GridsearchCV,根据我的尝试,似乎get_params确定在交叉验证期间可以注入哪些参数.
解决方法:
只需从BaseEstimator继承您的类,它将为您实现get_params()和set_params().
演示:
In [21]: from sklearn.base import BaseEstimator, ClassifierMixin, RegressorMixin, ClusterMixin
In [22]: from sklearn.base import BaseEstimator
...:
...: class MyEstimator(BaseEstimator):
...: def __init__(self,verbose=False):
...: self.verbose = verbose
In [23]: est = MyEstimator(verbose=True)
In [24]: est.get_params()
Out[24]: {'verbose': True}
In [25]: est.set_params(verbose=False)
Out[25]: MyEstimator(verbose=False)
In [26]: est.get_params()
Out[26]: {'verbose': False}
PS你也可能想从(ClassifierMixin,RegressorMixin,ClusterMixin)中的一个继承你的估算器,这取决于你要实现的估算器类型……
内容总结
以上是互联网集市为您收集整理的python – Sklearn – 自动定义get_params()全部内容,希望文章能够帮你解决python – Sklearn – 自动定义get_params()所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。