python - 机器学习二分类
问题描述
我正在尝试使用多层感知器进行二进制分类。
它基本上是句子的情感分析。目前只有二进制。正面与负面(目前我的数据中没有中性),所以它是二进制的。
我发现的一件奇怪的事情是,当正编码为 1(正 = 1,负 = 0)和负编码为 1(正 = 0,负 = 1)。当然,我使用了相同的 X 数据集和相同的模型(架构)。仅更改了标签编码。
当正例编码为 1 时,平均 f1 分数约为 89。(我运行相同的模型 10 次)当负例编码为 1 时,平均 f1 分数约为 50。(我运行相同的模型 10 次)
我对这个结果感到很困惑。我认为应该没有任何显着差异。
解决方案
F1-score 是准确率和召回率的调和平均值,他的公式由下式给出:
TP/(TP + 1/2(FP + FN))。更多细节在这里:https ://en.wikipedia.org/wiki/F-score 。
因此,您可以观察到公式中没有太多对称性,并且偏向于真阳性。准确性如何?
推荐阅读
- html - 如何在css的帮助下从表中删除tr
- c++ - 如何访问其他 .cc 文件中命名空间中定义的函数
- html - 如何使 Bootstrap 按钮适合 Bootstrap 表格单元格内
- git - Github 将现有的 repo 转换为 fork
- angular - 是否可以从 Create React App 或 Vue CLI 创建内存树?
- bash - Bash alias to wrap around Git commit
- javascript - body-parser json() 和 urlencoded() 函数是否替换了 express json() 和 urlencoded() 函数?
- ngrx - 应该在哪里创建/分配新数据对象的“id”?
- c++ - Are there any platform-specific limitations to `std::this_thread::sleep_for()`?
- ios - Location sensor not giving location on ios when enabled on Delphi