对于具有无数特征的文本分类,如何选择 MLPClassifier 的神经元数和层数?

数据挖掘 深度学习 scikit-学习 文本挖掘
2022-02-18 02:48:55

在我的文本分类用例(从 10 个作者的子集中识别作者)中,我发现使用三元组进行所有处理后,有 10 万个奇怪的特征需要训练近 5 万个观察/样本。

MLPClassifier决定为 my of配置的神经元和层数让我感到困惑scikit-learn如果我尝试像 250 个单层神经元这样的数字,我的笔记本电脑会在大约 5 分钟内挂起 :(

非常感谢您根据您的经验提出的建议。

1个回答

如您所知,您基本上可以通过选择最佳判别特征来减少特征数量。如果您使用 scikit-learn 向量化器(如 TF-IDF),它们有参数 max_features 可以选择n最适合您的功能。但我的观点是另外一回事:

我猜你使用的所有 BoW 模型都是无监督的。我强烈建议您使用特征和目标之间的互信息(您也可以搜索“Supervised TF-IDF”以获得更多洞察力)并更有效地选择您最好的特征。最后你需要选择n神经元作为输入层,但通过这种方式,您可以从更少的特征中获得最大的收益。

如果您熟悉自动编码器,它们也是有效减少特征数量的一种非常有效的方法。

希望能帮助到你!