我正试图解决一个二元分类问题。我的标签是滥用(1)和非滥用(0)。我的数据集不平衡(超过0),我使用过抽样的少数类标签(即1)来平衡我的数据集。我也做了预处理,特征工程使用TF-以色列国防军,然后通过三个分类算法,即逻辑回归,支持向量机和决策树输入到管道数据集。
我的评估指标是:
Logistic Regression:
[[376 33]
[ 18 69]]
precision recall f1-score support
0 0.95 0.92 0.94 409
1 0.68 0.79 0.73 87
accuracy 0.90 496
macro avg 0.82 0.86 0.83 496
weighted avg 0.91 0.90 0.90 496
SVM:
[[383 26]
[ 23 64]]
precision recall f1-score support
0 0.94 0.94 0.94 409
1 0.71 0.74 0.72 87
accuracy 0.90 496
macro avg 0.83 0.84 0.83 496
weighted avg 0.90 0.90 0.90 496
Decision Tree:
[[383 26]
[ 28 59]]
precision recall f1-score support
0 0.93 0.94 0.93 409
1 0.69 0.68 0.69 87
accuracy 0.89 496
macro avg 0.81 0.81 0.81 496
weighted avg 0.89 0.89 0.89 496
我面临的问题是某些新的辱骂性文本被视为非滥用性的。我认为我的假阳性(FP)和假阴性率(FN)太高,需要减少。你有什么建议,如何减少FP和FN或其他建议,以满足我的问题?谢谢。
发布于 2021-05-26 20:56:52
所有3种算法都给出了非常相似的结果。而从评价样本的大小上看,我认为训练样本并不太大。它告诉我,如果有任何机会,那就是:( a)在特性工程中,( b)对于不太自信的案例,( c)获取更多的数据,以训练更复杂的阿尔法
( a)特征工程- TFIDF或计数向量器在训练词汇之外有一个真实的测试单词问题。如果您可以使用通用语言词汇表嵌入训练和测试集,那么结果应该会提高。有一些开源的、经过预先培训的嵌入,比如USE、Glove等。
( b)预测置信度--在进行类预测的同时,还可以得到分类的概率。然后检查一下--如果你的F1分数过低,那么这个概率的截止值就会降低。不要预测那些低概率的情况。大多数实际系统都接受人工智能的局限性。
( c)更多的数据可以让你通过更复杂的算法学习,比如增强算法,这样可以提高结果。希望您已经进行了交叉验证。
此外,根据错误的成本,您可以决定FP或FN是否应该被排序。相应地,优化精度/召回。
https://datascience.stackexchange.com/questions/94935
复制相似问题