SK-learn 的机器学习算法需要大量参数,我很难找出应该为随机搜索调整算法分配哪个间隔。我目前使用 7 种不同的 ML 算法(SVM、LDA、LR、DT、GBC、KNN),但让我们以随机森林为例。
X, y = df.something().....
from sklearn.ensemble import RandomForestClassifier
param_dist = {"criterion": ["gini", "entropy"],
"max_features": ['auto', 'sqrt', 'log2'],
"max_depth": randint(1, 100),
"min_samples_split": randint(2, 150),
"min_samples_leaf": randint(1, 150),
"max_leaf_nodes": randint(2, 100),
"n_estimators": randint(2, 200)}
model = RandomForestClassifier()
ts_rs = run_randomsearch(X, y, model, param_dist, cv=5, n_iter_search=100)
总体:如何分配最佳参数分布以进行搜索? 更具体地说:我如何确定在 [1:10000] 中搜索最大深度是否更好,而不是说;[1:10]?任何人都可以推荐任何最佳选择吗?(甚至可能有来源)目前,这是我得到的最接近的:How to tune parameters in Random Forest, using Scikit Learn?