机器学习——将同一行训练数据映射到多个目标
Machine Learning - Map same line of training data to multiple targets
首先我要说的是,在机器学习方面我完全是菜鸟,所以如果这是一个愚蠢的问题,请原谅。
我正在按照这个 tutorial 制作一个 MultinomialNB 模型。
我想知道是否有办法将单行映射到多个目标 类.
例如,我有句子 "Jesus cures cancer" 并希望它映射到 both 'sci.med' 和 'soc.religion.christian'。
有没有办法在 SciKit 中做到这一点?
我可以针对不同的目标将相同的句子重复两次吗,否则会扭曲最终模型吗?
你要做的是多标签class化;一些 scikit-learn classifiers 支持它,here's the documentation with more details.
如果你将同一个句子两次放入一个试图预测一个结果的模型中,它只会混淆模型,因为一个训练示例说它是一个 class 而另一个说它是不同的 class 并且它只学习预测一个 class。
是的,scikit 的 multinomialNB 可以实现为多标签。
from sklearn.multiclass import OneVsRestClassifier
from sklearn.naive_bayes import MultinomialNB
classifier=OneVsRestClassifier(MultinomialNB)
您现在可以使用 "classifier" 来拟合您的训练数据。
您可以了解有关 OneVsRestClassifier 的更多信息here
首先我要说的是,在机器学习方面我完全是菜鸟,所以如果这是一个愚蠢的问题,请原谅。
我正在按照这个 tutorial 制作一个 MultinomialNB 模型。
我想知道是否有办法将单行映射到多个目标 类.
例如,我有句子 "Jesus cures cancer" 并希望它映射到 both 'sci.med' 和 'soc.religion.christian'。
有没有办法在 SciKit 中做到这一点?
我可以针对不同的目标将相同的句子重复两次吗,否则会扭曲最终模型吗?
你要做的是多标签class化;一些 scikit-learn classifiers 支持它,here's the documentation with more details.
如果你将同一个句子两次放入一个试图预测一个结果的模型中,它只会混淆模型,因为一个训练示例说它是一个 class 而另一个说它是不同的 class 并且它只学习预测一个 class。
是的,scikit 的 multinomialNB 可以实现为多标签。
from sklearn.multiclass import OneVsRestClassifier
from sklearn.naive_bayes import MultinomialNB
classifier=OneVsRestClassifier(MultinomialNB)
您现在可以使用 "classifier" 来拟合您的训练数据。
您可以了解有关 OneVsRestClassifier 的更多信息here