Scikit learn sklearn验证曲线中的多个参数
我试图在sklearn中使用validation_曲线函数Scikit learn sklearn验证曲线中的多个参数,scikit-learn,Scikit Learn,我试图在sklearn中使用validation_曲线函数 train_scores, test_scores = validation_curve(DecisionTreeClassifier(), X_train, y_train, param_name="max_depth", scoring="f1", param_range=list(range(5,15,2)), cv=5) 是否有一种方法可以传递
train_scores, test_scores = validation_curve(DecisionTreeClassifier(), X_train, y_train,
param_name="max_depth",
scoring="f1",
param_range=list(range(5,15,2)),
cv=5)
是否有一种方法可以传递多个参数来绘制此曲线。比如说
param_name=["max_depth","min_samples_split"]
我在网上查过,找不到这样的例子。有什么建议吗?您必须输入的文档:
参数名称:字符串
将要更改的参数的名称
参数范围:类似数组的形状(n_值)
将要计算的参数的值
这意味着您不能提供多个参数进行更改和测试。
事实上,生成的图是双变量的,即得分度量的序数轴和参数变化的横坐标
我相信,您可以通过测试一个参数,同时固定另一个参数来拟合两个参数,即为声明估计器时固定的第一个参数的不同值创建多个验证曲线
将这种方法翻译成代码,可以理解为:
max_depth_range = list(range(5, 15, 2))
min_samples_split = list(range(2, 10, 1))
for k in min_samples_split:
train_scores, test_scores = validation_curve(DecisionTreeClassifier(min_samples_split=k),
X_train, y_train,
param_name="max_depth",
scoring="f1",
param_range=max_depth_range,
cv=5)
#do something here with train_scores & test_scores
你能给我解释一下你的问题吗?绘制这个需要非常长的时间-你能不能不绘制网格搜索的结果?实际上你正在探索DecisionTreeClassifier的不同设置的验证曲线,你确实需要迭代这些不同的集。为了缩短所需时间,您必须对cv折叠进行操作(通过减少它们)或采样您的训练数据。很抱歉,您说我需要使用验证曲线?你花了多长时间运行上面的。。非常感谢。。