如果按如下方式计算验证曲线:
PolynomialRegression(degree=2,**kwargs):
return make_pipeline(PolynomialFeatures(degree),LinearRegression(**kwargs))
# ...
degree=np.arange(0,21)
train_score,val_score=validation_curve(PolynomialRegression(),X,y,"polynomialfeatures__degree",degree,cv=7)
函数声明参数“param_name”,即要计算的参数的名称(“param_range”)。在本例中,它是多项式特征__度。但是:
1.一般来说,我从哪里得到“param_name”的字符串,特别是从哪里得到“polynomialfeatures__degree”的字符串,因为我在任何文档中都找不到这个param_name ......“function__param name”是指向函数的param_name的常用方法吗?
- validation_curve函数可以用于哪些估计量?
2条答案
按热度按时间sg2wtvxw1#
第一部分
问题1的答案:
作为
param_name
,您可以使用您选择的估计量的可用参数之一。例如:假设您选择估计器:
LinearRegression
。从这个link中,你可以看到可用的参数/自变量是fit_intercept=True, normalize=False, copy_X=True, n_jobs=1
。所以现在你知道了特定估计量的可用参数是什么。现在,从这个链接我们可以看到如何定义
param_name
和param_range
。此链接中的部分示例:
编辑1:
对于您所称的“字符串”:如果我没理解错话,你想做的是:
实验结果:
这些是多项式特征的可用param_names。
编辑2:
查看
param_names
的另一种方法是查看源代码。例如,在这里的链接中,您可以在第1149-1160行看到
PolynomialFeatures
估计量的参数字符串。最后,在这里的链接中,您可以在第421-444行中看到
LinearRegression
估计量的参数字符串。编辑3:
其他方法获取和设置sklearn中估计器的参数。
实验结果:
现在您知道了参数,您可以建立参数:
然后,您可以在估算器中对它们进行解包:
实验结果:
第二部分:
问题2的答案:
我认为在
sklearn
模块的情况下,可以使用validation_curve
作为所有的估计器。希望这对你有帮助
bgibtngc2#
polynomialfeatures__degree
是函数PolynomialRegression()
的参数之一。您可以获得如下所示的参数列表:结果
该参数设置为默认值2。此值将由
validation_curve()
函数改变