Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Scitkit学习GridSearchCV最佳功能_Python_Machine Learning_Scikit Learn_Random Forest - Fatal编程技术网

Python Scitkit学习GridSearchCV最佳功能

Python Scitkit学习GridSearchCV最佳功能,python,machine-learning,scikit-learn,random-forest,Python,Machine Learning,Scikit Learn,Random Forest,我对我建造的管道有些困惑。它相当简单——由我构建的名为QueryQuality()的转换器组成,每次都以相同的方式转换数据,还包括我提供了一些参数的随机森林回归器。我试图使用GridSearchCV为随机林选择最佳参数 一切运行正常,但当我检查模型时。最佳参数表明我的随机林在模型时仅使用1个特征效果最佳。最佳估计器u。命名步骤['rfr']。n_特征表明最佳随机林有3个特征。有什么好处?(遗憾的是,我目前无法提供可复制的示例。) 更新: 仔细阅读文档,它似乎是模型。最佳估计器\uu。命名为\u步

我对我建造的管道有些困惑。它相当简单——由我构建的名为
QueryQuality()
的转换器组成,每次都以相同的方式转换数据,还包括我提供了一些参数的随机森林回归器。我试图使用
GridSearchCV
为随机林选择最佳参数

一切运行正常,但当我检查
模型时。最佳参数
表明我的随机林在
模型时仅使用1个特征效果最佳。最佳估计器u。命名步骤['rfr']。n_特征
表明最佳随机林有3个特征。有什么好处?(遗憾的是,我目前无法提供可复制的示例。)

更新: 仔细阅读文档,它似乎是
模型。最佳估计器\uu。命名为\u步骤['rfr']。n\u features\uu
返回随机林适合的特征数量,因此3是有意义的。真正让我头疼的是,我检查了森林中的一些基本估计量,其中许多显然在决策规则中有多种特征。然而,这些文件值得一提

注意:在至少找到节点样本的一个有效分区之前,对拆分的搜索不会停止,即使它需要有效地检查多于max_的功能

我怀疑这就是原因。虽然这仍然有点混乱

np.random.seed(2016)
estimators = [('qq', QueryQuality()), ('rfr', RandomForestRegressor(n_estimators=50, n_jobs=-1))]
clf = Pipeline(estimators)
param_grid = {'rfr__max_features': [1,2,3], 'rfr__min_weight_fraction_leaf': [.01, .02, .04, .1]}
model = GridSearchCV(estimator=clf, param_grid=param_grid, n_jobs=-1, verbose=3, scoring=rmse_scorer, cv=6)
model.fit(train_X, train_y)

# Check performance
model.best_params_ # returns {'rfr__max_features': 1, 'rfr__min_weight_fraction_leaf': 0.04}
model.best_estimator_.named_steps['rfr'].n_features_ # returns 3