我遇到了这个例子,它涉及到测试数据集的面部完成。这里,将max_features
的32
值传递给ExtraTreesRegressor()
函数。我学到了决策树的构造,它从输入数据集中选择随机特征。对于上面链接的例子,图像被用作训练和测试数据集。这个wiki页面描述了各种类型的图像特性。现在我无法理解sklearn.ensemble.ExtraTreeRegressor
从作为输入的图像数据集中寻找或提取哪些特征来构建随机森林。此外,如何确定32
的值对于max_features
是最优的。
随机森林不做特征提取。他们使用给定数据集中的特征,在这个例子中,这些特征只是来自Olivetti面部数据集的像素强度。
ExtraTreesRegressor
的max_features
参数决定了"寻找最佳分割时要考虑的特征数量"(在由森林采用的决策树学习算法中)。
值32可能是经验确定的。
这里使用的特征是原始像素值。由于数据集中的图像是对齐的并且非常相似,这似乎对任务足够了。
正如其他人所说:在这个简单的例子中没有特征提取:额外的树只是使用原始像素作为特征。
在更现实的计算机视觉设置中,执行手动调整的特征提取很可能会产生更有趣的模型。要提取的特征类型取决于您想要实现的计算机视觉任务。阅读文献或来自OpenCV库的示例,了解计算机视觉的最新技术(目前将基于神经网络的表示学习作为前沿研究搁置一边)。
该参数的32个值可以随机搜索。查看主分支中的示例:
http://scikit-learn.org/dev/auto_examples/randomized_search.html example-randomized-search-py