我在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