我用sklearn训练了SVM和NN模型两个类。一个班级有24000条微博,另一个班级有32000条微博。你知道吗
当我做验证的时候,它给出了这样的结果
用于-
text_clf = Pipeline([('vect', CountVectorizer(stop_words='english')), ('tfidf',TfidfTransformer(use_idf=True)),('clf',MLPClassifier(activation="relu", solver='adam', alpha=0.001, hidden_layer_sizes=(5, 2), random_state=1)),])
precision recall f1-score support
disaster 1.00 1.00 1.00 12862
nondisaster 1.00 1.00 1.00 9543
micro avg 1.00 1.00 1.00 22405
macro avg 1.00 1.00 1.00 22405
weighted avg 1.00 1.00 1.00 22405
为了
text_clf = Pipeline([('vect', CountVectorizer(stop_words='english')), ('tfidf',TfidfTransformer(use_idf=True)),('clf',SGDClassifier(loss='hinge', penalty='l2', alpha=1e-3, random_state=42, verbose=1)),])
text_clf.fit(X_train, y_train)
precision recall f1-score support
disaster 1.00 1.00 1.00 6360
nondisaster 1.00 1.00 1.00 4842
micro avg 1.00 1.00 1.00 11202
macro avg 1.00 1.00 1.00 11202
weighted avg 1.00 1.00 1.00 11202
当我将NN模型中的alpha
值从0.001更改为0.00001时
precision recall f1-score support
disaster 1.00 0.99 0.99 12739
nondisaster 0.98 1.00 0.99 9666
micro avg 0.99 0.99 0.99 22405
macro avg 0.99 0.99 0.99 22405
weighted avg 0.99 0.99 0.99 22405
当我测试很少的记录时,它总是偏向于一个类。例如,支持向量机预测每一个非灾难输入,神经网络预测灾难类。你知道吗
有什么想法或建议我如何微调这个模型?你知道吗
据我所知,当数据集有偏差时就会发生这种情况。我相信垃圾进-垃圾出的概念。你知道吗
这将有助于您可视化您的列车测试数据。我认为这是有偏见的。你知道吗
话虽如此,假设您的用例是通过tweet预测灾难,可以理解的是,如果您随机选择一组tweet,那么1000个tweet中就没有一个是关于灾难的。你知道吗
因此,明智的做法是将查询范围缩小到一个经过优化的主题和用户,以便获得足够好的数据集。你知道吗
有什么想法?你知道吗
谢谢 阿伦
相关问题 更多 >
编程相关推荐