我在sklearn中使用SelectKBest()
类来进行特征选择。 SelectKBest()
可以将可调用的分数函数作为输入。在这种情况下,我想使用mutual_info_regression
作为分数函数。 mutual_info_regression
可以采取一些我想设置自己的参数。例如,我想设置random_state = 0
。问题是我不知道如何将参数传入分数函数,因为分数函数本身就是SelectKBest()
中的一个参数。很显然,SelectKBest(score_func = mutual_info_classif(random_state=0))
之类的东西将不起作用,因为将直接调用mutal_info_classif
函数。我觉得这可能是关于python类的一个非常基本的问题,但我似乎无法找到任何解决我所寻找的问题。在此先感谢您的时间!如何在sklearn中设置参数以评分函数SelectKBest()
1
A
回答
2
您可以创建调用mutual_info_regression另一个函数,并通过它来代替:
def my_score(X, y):
return mutual_info_regression(X, y, random_state=0)
SelectKBest(score_func=my_score)
Python标准库提供了一个有用的帮手,创造这样的功能 - 它被称为functools.partial。它允许创建具有预设参数的函数;而不是“手动” my_score定义的,你可以写
from functools import partial
my_score = partial(mutual_info_regression, random_state=0)
SelectKBest(score_func=my_score)
当然,你也可以通过直接partial
,这让你很接近你的例子:
from functools import partial
SelectKBest(score_func=partial(mutual_info_classif, random_state=0))
相关问题
- 1. 如何在函数参数中设置ggplot参数
- 2. 如何在Swift 3中将函数设置为函数参数
- 3. 在sklearn上评估多个分数cross_val_score
- 4. Sklearn:如何Feed数据,以sklearn RandomForestClassifier
- 5. 如何在MathNet.Symbolics中设置双精度评估函数?
- 6. Rcpp:如何在函数中设置字符参数?
- 7. 如何在Backbone.Model中设置参数来处理.fetch()函数?
- 8. 如何在别名中设置函数参数?
- 9. 在构造函数中设置默认函数参数
- 10. 如何在函数调用中评估参数?
- 11. 在一个函数中如何评估多个参数C
- 12. 如何设置函数以启动以前在Javascript中结束?
- 13. Lucene评分函数
- 14. 如何在X509_STORE_CTX_init中设置链参数?
- 15. 如何在jQuery中设置@ Url.Content参数?
- 16. 在R中评估函数之前将函数改为参数?
- 17. 使用参考参数评估函数
- 18. sklearn,ExtraTreesClassifier混淆评分
- 19. 如何在函数参数中包含函数参数?
- 20. 如何在PHP中为assocc数组函数参数设置默认值?
- 21. Python:为函数中的函数设置参数
- 22. 如何在Haskell评估之前打印函数的参数?
- 23. 如何设置JVM参数
- 24. 在elasticsearch中更改评分函数
- 25. 编程评估SOMAXCONN的值,以设置监听backlog参数
- 26. 检查函数参数是否设置
- 27. 将Matlab函数参数设置为uint8
- 28. python:重置部分函数参数
- 29. 如何分割函数调用参数
- 30. 如何将参数传递给Bootstrap UI模式函数以设置模板?
啊,是我看到的。万分感谢! – Skip