将非数字数据值转换为等效排名分数

数据挖掘 相关性 排行 主成分分析 计分
2021-10-14 07:38:33

考虑一个类似于所示的数据框(实际的数据框要大得多

ID EDUCATION   OCCUPATION      BINARY_VAR
1  Undergrad   Student              1
2  Grad        Business Owner       1
3  Undergrad   Unemployed           0
4  PhD         Other                1

最终目标是根据单元格中各个值的离散“等级”分数对各个配置文件 ( ) 应用PRIDIT评分。ID这些排名可以被认为是指标变量,将用于集体评价任何IDi

因此,例如,排名可能意味着某些IDi进行欺诈:

1 : Low
2 : Medium
3 : High

该变量BINARY_VAR类似于“训练变量”或更确切地说是“预测变量”,这样

Var=0:欺诈罪

Var=1:非欺诈

根据这个推理,失业的本科生将是 3 级简介。

为了应用 PRIDIT,我必须首先将非数字变量转换为分数或级别。

目前的做法是对每列应用对应分析BINARY_VAR,然后计算列贡献分数与非欺诈行贡献分数的距离。

行和列分数看起来像这样(分别):

            CONTR
0           1.654
1           98.346
------------------------------
                  CONTR
Undergraduate     2.803602e-04
Graduate          3.147824e+00
PhD               9.176451e+00
Other             1.179664e+01

获得的距离(假设)给出了该级别所需的分数,该分数作为等级写回数据帧(更高的值导致更高的等级)。

我对这种技术的主要担忧是:

  • 数据框非常大,资源有限——这是一种计算成本很高的方法。

  • 它涉及很多步骤,并且无法真正验证评分的结果(可以吗?)

我的问题是:

  • 这种技术看起来可行吗?
  • 将“等级”分配给非数字变量的更好方法是什么?
2个回答

对我来说,这种方法看起来过于复杂。如果您不限于一种算法,请使用 one-hot 编码并尝试各种分类器。他们中的许多人可以预测您可以用来计算排名的概率。

抱歉无法评论。

根据PRIDIT,“具有不同类别的可能响应值或连续变量的有序分类变量”,该模型应该能够支持“连续变量”(Rank)和“可能响应值的类别”(非数字数据) . 我不知道你的实现,但这个模型应该能够支持类别变量。换句话说,您不需要将非数字数据转换为连续变量来拟合模型。或者您只需要为任何整数分配一个类别。

这种技术看起来可行吗?

  • 该技术是将类别嵌入到具有一维的向量中。

  • 优点:易于显示与类别和预测值的关系

  • 缺点:如果结果取决于类别的组合,则不好

将“等级”分配给非数字变量的更好方法是什么?

  • 我建议保留当前许多模型支持的类别和类别(一个热向量)。它可以防止丢失数据

PS,您可能不会使用整个数据框进行分析,选择一定数量的随机记录总是会给出准确的结果。在您的情况下,您可以在每个唯一类别的数量相等的情况下选择一定数量。