这里是问题 下方导入的”params”字典包含了我们想要更新的Logistic Regression函数的参数。下方也导入了并调用了LogisticRegression函数,其定义方式与我们通常定义函数的方式相同。由于我们没有提供任何参数,输出包含了函数的默认参数。将”params”字典作为输入传递给LogisticRegression函数,以更新函数的参数(一行代码)
params = {"C" : 0.01, "class_weight" : "balanced", "max_iter" : 10000, "n_jobs" : -1, "penalty" : "l1", "random_state" : 42}from sklearn.linear_model import LogisticRegressionuse=['{}={}'.format(x,y) for (x,y) in params.items()]print(use)LogisticRegression(use)
我这样做但它将输入放到了”Penalty”中
回答:
使用** 字典解包 将字典的键/值对解包到函数调用中:
params = {"C" : 0.01, "class_weight" : "balanced", "max_iter" : 10000, "n_jobs" : -1, "penalty" : "l1", "random_state" : 42}from sklearn.linear_model import LogisticRegressionLogisticRegression(**params)LogisticRegression(C=0.01, class_weight='balanced', dual=False, fit_intercept=True, intercept_scaling=1, l1_ratio=None, max_iter=10000, multi_class='auto', n_jobs=-1, penalty='l1', random_state=42, solver='lbfgs', tol=0.0001, verbose=0, warm_start=False)