我有以下字典:
hyper_params = {'penalty': ['l1', 'l2'], 'class_weight': [None, 'balanced'], 'max_iter': [500, 1000]}
我需要訓練所有可能LogisticRegression的sklearn引陣列合hyper_params,例如:
from sklearn.linear_model import LogisticRegression
LogisticRegression(penalty='l1', class_weight=None, max_iter=500)
LogisticRegression(penalty='l2', class_weight=None, max_iter=500)
etc.
如何創建這 3 個引數的所有可能組合,以便我可以將它們**args_comination作為LogisticRegression.
我無法使用超引數優化庫。因此,我正在尋找一種自定義方法來列舉hyper_params.
uj5u.com熱心網友回復:
基于串列串列的所有組合,您可以通過itertools.product(). 所以:
import itertools
hyper_params = {
'penalty': ['l1', 'l2'],
'class_weight': [None, 'balanced'],
'max_iter': [500, 1000]
}
a = hyper_params.values()
combinations = list(itertools.product(*a))
for c in combinations:
LogisticRegression(penalty=c[0], class_weight=c[1], max_iter=c[2])
或者,如果這些是您的LogisticRegression函式中的位置引數,您甚至可以這樣做:
for c in combinations:
LogisticRegression(*c)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444425.html
