【发布时间】:2021-01-07 08:16:28
【问题描述】:
在我的数据库中,我有一个来自以下列的表:Model_type、Train_score、Best_params。
-
model_type 中有 3 个唯一值:LOGREG、RF、XGBOOST,
-
train_score 列保存每个模型针对不同参数的 auc_score。
-
best_params 保留使用的参数。
我使用下面的代码得到每个模型的最佳参数
bests = worker_out.iloc[worker_out.groupby(['MODEL_TYPE'])['TRAIN_SCORE'].idxmax()][["MODEL_TYPE","BEST_PARAMS"]]
bests.set_index("MODEL_TYPE", inplace=True)
LOGREG = bests.loc["LOGREG"][0]
RF = bests.loc["RF"][0]
XGBOOST = bests.loc["XGBOOST"][0]
例如,LOGREG 保持
print(LOGREG)
print(type(LOGREG))
LogisticRegression(C=0.01,class_weight='balanced',l1_ratio=0.2,max_iter=2000,penalty='elasticnet',solver='saga')
<class 'str'>
LOGREG 现在只是一个字符串,但是我可以将它用作分类器。你可以在下面的代码中看到我想要做什么。
LOGREG = LogisticRegression(C=0.01,class_weight='balanced',l1_ratio=0.2,max_iter=2000,penalty='elasticnet',solver='saga')
【问题讨论】:
-
你把模型和参数的所有组合都存储在表中了吗?还是只存储为每个模型存储的更好的那个?
标签: python pandas machine-learning