对于这些变量的文档分类,我应该使用什么分类算法?

2024-06-06 04:19:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图对页面进行分类,特别是搜索页面,在文档中基于单词包、页面布局、是否包含表格、是否有粗体标题等。在此前提下,我为每个文档创建了一个pandas.DataFrame,如下所示:

    page  totalCharCount  matchesOfWordX  matchesOfWordY          hasFeaturesX     hasFeaturesY   hasTable      score
0    0.0           608.0             0.0             2.0                   0.0              0.0        0.0        0.0
1    1.0          3292.0             1.0            24.0                   7.0              0.0        0.0        0.0
2    2.0          3302.0             0.0            15.0                   1.0              0.0        1.0        0.0
3    3.0            26.0             0.0             0.0                   0.0              1.0        1.0        1.0
4    4.0          1851.0             3.0            25.0                  20.0              7.0        0.0        0.0
5    5.0          2159.0             0.0            27.0                   6.0              0.0        0.0        0.0
6    6.0          1906.0             0.0             9.0                  15.0              3.0        0.0        0.0
7    7.0          1825.0             0.0            24.0                   9.0              0.0        0.0        0.0
8    8.0          2053.0             0.0            20.0                  10.0              2.0        0.0        0.0
9    9.0          2082.0             2.0            16.0                   3.0              2.0        0.0        0.0
10  10.0          2206.0             0.0            30.0                   1.0              0.0        0.0        0.0
11  11.0          1746.0             3.0            31.0                   3.0              0.0        0.0        0.0
12  12.0          1759.0             0.0            38.0                   3.0              1.0        0.0        0.0
13  13.0          1790.0             0.0            21.0                   0.0              0.0        0.0        0.0
14  14.0          1759.0             0.0            11.0                   6.0              0.0        0.0        0.0
15  15.0          1539.0             0.0            20.0                   3.0              0.0        0.0        0.0
16  16.0          1891.0             0.0            13.0                   6.0              1.0        0.0        0.0
17  17.0          1101.0             0.0             4.0                   0.0              1.0        0.0        0.0
18  18.0          2247.0             0.0            16.0                   5.0              5.0        0.0        0.0
19  19.0           598.0             2.0             3.0                   1.0              1.0        0.0        0.0
20  20.0          1014.0             2.0             1.0                  16.0              3.0        0.0        0.0
21  21.0           337.0             1.0             2.0                   1.0              1.0        0.0        0.0
22  22.0           258.0             0.0             0.0                   0.0              0.0        0.0        0.0

我正在研究朴素的Bayes和SVM算法,但我不确定哪个更适合这个问题。变量是独立的。它们中的一些必须出现才能增加分数,而另一些则与相反的文档频率匹配,如totalCharCount

有什么帮助吗?

非常感谢!


Tags: 文档标题dataframepandaspage分类页面布局
2条回答

一般来说,很难说什么方法最有效:我假设你有更多的数据,而问题很大程度上取决于数据。不过,还是有一些想法:

  • 尽管您是说特性是独立的,但看起来totalCharCount和{}是相互依赖的。我认为有理由假设文档中的字符越多,匹配的可能就越多。这对天真的贝耶斯是一个强烈的信号。

  • 一个二元逻辑回归看起来更好,将是我的第一个候选人。一个建议是规范化totalCharCount特性,因为它的规模似乎比其他特性大得多。

  • 除非您有更多的类1的培训示例,否则您的数据是不平衡的。如果是这样,您很可能会进入constant prediction problem。一个可能的解决方案是使用weighted cross entropy损失函数。

  • 除了SVM classifier,还要考虑^{}。这两种方法都能给出很好的准确度。

因为连续得分,我假设这是你的标签,这是一个回归问题。支持向量机对于分类问题更为常见。有很多可能的算法。逻辑回归在解决这类问题时很常见。在

编辑

既然你编辑了你的帖子,你的问题就变成了一个分类问题:-)

分类=您希望数据分类为布尔型(真、假)或多项式(大、中、小、非常小)的类

回归=连续值(0到1之间的所有实数)

现在,您可以尝试您的支持向量机,看看它是否适合您的数据。在

看看@Maxim的回答他有一些优点(平衡,缩放)

相关问题 更多 >