TruncatedSVD get_params([deep]) 到底有什么作用?

用户77005

我不明白sklearn 中get_params([deep])可用方法TruncatedSVD有人可以向我解释一下吗?

维维克·库马尔

在此处查看 get_params 的来源:https : //github.com/scikit-learn/scikit-learn/blob/a24c8b46/sklearn/base.py#L213

不仅仅是 TruncatedSVD,基本上所有的 scikit-estimator 都包含这个方法,因为它们都从 BaseEstimator 类继承了这个方法。

Ans 顾名思义,它会给出类中设置的参数的值。在您的情况下,请查看此处的参数列表:http : //scikit-learn.org/stable/modules/generated/sklearn.decomposition.TruncatedSVD.html

n_components : int, default = 2
algorithm : string, default = “randomized"
n_iter : int, optional (default 5)
random_state : int, RandomState instance or None, optional, default = None
tol : float, optional

假设您使用以下代码初始化 TruncatedSVD:

svd = TruncatedSVD(n_components=5, n_iter=7, random_state=42)

输出将是:

{'algorithm': 'randomized',
 'n_components': 5,
 'n_iter': 7,
 'random_state': 42,
 'tol': 0.0}

这对于创建对象的克隆很有用,并广泛用于各种 scikit 学习实用程序,如 cross_val_score、GridSearchCV、Pipeline 等。

如果 deep=True,它将只返回内部估计器的参数(如果有)。例如拿这个代码:

from sklearn import svm
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import f_regression
from sklearn.pipeline import Pipeline
anova_filter = SelectKBest(f_regression, k=5)
clf = svm.SVC(kernel='linear')
anova_svm = Pipeline([('anova', anova_filter), ('svc', clf)])

的输出anova_svm.get_params(deep=False)如下:

{'memory': None,
 'steps': [('anova',
   SelectKBest(k=5, score_func=<function f_regression at 0x7fb34d50ede8>)),
  ('svc', SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
     decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',
     max_iter=-1, probability=False, random_state=None, shrinking=True,
     tol=0.001, verbose=False))]}

下面是代码anova_svm.get_params(True)

{'anova': SelectKBest(k=5, score_func=<function f_regression at 0x7fb34d50ede8>),
 'anova__k': 5,
 'anova__score_func': <function sklearn.feature_selection.univariate_selection.f_regression>,
 'memory': None,
 'steps': [('anova',
   SelectKBest(k=5, score_func=<function f_regression at 0x7fb34d50ede8>)),
  ('svc', SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
     decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',
     max_iter=-1, probability=False, random_state=None, shrinking=True,
     tol=0.001, verbose=False))],
 'svc': SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
   decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',
   max_iter=-1, probability=False, random_state=None, shrinking=True,
   tol=0.001, verbose=False),
 'svc__C': 1.0,
 'svc__cache_size': 200,
 'svc__class_weight': None,
 'svc__coef0': 0.0,
 'svc__decision_function_shape': 'ovr',
 'svc__degree': 3,
 'svc__gamma': 'auto',
 'svc__kernel': 'linear',
 'svc__max_iter': -1,
 'svc__probability': False,
 'svc__random_state': None,
 'svc__shrinking': True,
 'svc__tol': 0.001,
 'svc__verbose': False}

您可以看到现在输出包含 svm 和 selectkbest 的参数值,它们是管道估计器的内部估计器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Get-Content中的-raw开关参数在Powershell中到底有什么作用?查找有用的文档

maxSwallowSize 到底有什么作用?

比较Integers与==到底有什么作用?

zpool export 到底有什么作用?

PCA,TruncatedSVD和ICA在细节上有什么区别?

为什么Sklearn TruncatedSVD解释的方差比率不是降序排列?

spring.cloud.stream.source 到底有什么作用?

`-C`标志在`scp`中到底有什么作用?

“引用”在Delphi中到底有什么作用?

gulp-release-tasks到底有什么作用?

scrollView 中的 fillViewPort 到底有什么作用?

echo $ {((2#$ 1)))到底有什么作用?

ctypes.cdll.LoadLibrary 到底有什么作用?

为什么scikit-learn truncatedSVD默认使用“随机化”算法?

#define到底有什么用?

BIOS到底有什么限制?

没有其他选项的“ git update-index -g”到底有什么作用?

rx-vlan-offload和tx-vlan-offload ethtool选项到底有什么作用?

R8完全模式到底有什么作用(积极的优化)?

“与Windows一起安装”功能到底有什么作用?

这种表达语言$ {pageContext.request.contextPath}在JSP EL中到底有什么作用?

$'text'在Bash中到底有什么作用?可以在Zsh中使用吗?

JavaScript的严格模式对隐式全局声明到底有什么作用?

eclipse命令行参数“ -clean”到底有什么作用?

“ make oldconfig”在Linux内核makefile中到底有什么作用?

npm / yarn安装期间的“链接依赖项”到底有什么作用?

c下划线表达式`c_`到底有什么作用?

在初始化变量时将大括号放在变量周围到底有什么作用?

从多任务列表中“删除应用程序”到底有什么作用?