变量重要性取决于其他变量的 ML 算法 - 指定条件

数据挖掘 机器学习 r 贝叶斯
2022-03-07 10:45:14

我正在设计一种可以检测国际象棋游戏中作弊的算法。

我有一个被版主标记为作弊的玩家数据库,以及一些游戏级别的特征,例如黑白棋的移动时间和移动精度(由国际象棋引擎确定)。

让我们指定一个简单的回归:

cheatflag ~ whiteMoveTime + blackMoveTime + whiteMoveAccuracy + blackMoveAccuracy

假设cheatflag 是一个因子级变量,如果没有作弊者,则为0,如果白色是作弊者,则为1,如果黑色是作弊者,则为2。

问题是 whiteMoveTime 和 whiteMoveAccuracy 等变量的预测值关键取决于谁在作弊。如果白人作弊,则这些变量的系数应该与黑人作弊时的系数不同。据我所知,运行大多数黑盒算法将得出所有作弊情况的平均系数,而无需了解变量的层次性质。

这个问题带有某种条件假设的贝叶斯风格——如果黑棋作弊,那么这些变量很重要;如果白人作弊,这些变量很重要,依此类推。

我该如何处理这个问题?

1个回答

一个简单的起点是先对白人结果进行逻辑回归,然后对黑人结果进行逻辑回归。如果没有作弊,则将 cheatflag 设置为 0,如果白色作弊,则设置为 1,然后运行回归。再做一次,但是如果没有作弊,则将 cheatflag 设置为 0,如果黑棋作弊,则将其设置为 1。