如何使用分类预测器提高预测分类结果的模型准确性?

时间:2018-06-19 15:56:28

标签: python pandas machine-learning scikit-learn

我正在尝试使用Para来预测Col。我的数据采用以下格式:

Record ID Para  Col2     Col3
1          A        x      a
1          A        x      b
2          B        y      a
2          B        y      b
1          A        z      c
1          C        x      a

到目前为止,我已经尝试对以下转换后的数据应用一次热编码(OHE)并运行算法:

Record Para  a     b      c    x   y  z 
1       A    1     1      1    1   0  1
1       C    1     1      1    1   0  1
2       B    1     1      0    0   1  0 

准确性一直低劣,采用Logistic回归分析最高可达到27%。我尝试了kNN,随机森林,决策树。

接下来,我尝试将Col编码为序数变量,然后重新运行算法(逻辑回归除外)。结果同样差。

我做错了什么吗?如何提高准确性?

原始数据为249681 rows × 9 columns。结果和预测变量列都是分类的。在进行OHE时,数据为5534 rows × 865 columns

我想尝试的一件事是朴素贝叶斯(Naive Bayes),它计算P(结果|预测变量),然后将最高概率预测变量分配给结果。这是一个合理的方法吗?

1 个答案:

答案 0 :(得分:0)

如果您的类别是排他性的,则可能应该看看Softmax Regression

  

Softmax回归(或多项式Lo​​gistic回归)是对我们要处理多个类的情况的Logistic回归的概括。在逻辑回归中,我们假设标签是二进制的:y(i)∈{0,1}。我们使用这种分类器来区分两种手写数字。 Softmax回归使我们能够处理y(i)∈{1,…,K},其中K是类数。