问题描述
在mutual_info_regression
预装n_neighbors=3
此代码适用于 n_neighbors=3
:
selector = SelectKBest(mutual_info_regression,k='all').fit(X,y)
对 n_neighbors=2
中的 mutual_info_regression
的请求?
不工作变体:
selector = SelectKBest(mutual_info_regression,y,**{'n_neighbors':2})
selector = SelectKBest(mutual_info_regression(**{'n_neighbors':2}),y)
selector = SelectKBest(mutual_info_regression(n_neighbors=2),y)
selector = SelectKBest(mutual_info_regression,n_neighbors=2,y)
scoring = make_scorer(mutual_info_regression,greater_is_better=True,n_neighbors = 2)
selector = SelectKBest(scoring,k='all').fit(feat,targ)
解决方法
您可以使用 python 的 partial
函数创建具有非默认值的记分器:
from functools import partial
scorer_function = partial(mutual_info_regression,n_neighbors=2)
selector = SelectKBest(scorer_function,k='all').fit(X,y)