我有大量数据。数据具有13个参数,这些参数相互依赖,并且依赖关系由某些规则建立。
示例:-如果说parameter_one为“ A”,parameter_two为“ B”,并且有规则说明parameter_one == A和parameter_two == B => parameter_three == C,则parameter_three应该为C(理想情况下) )。因此,基本上是很多if / else语句。
现在,我只拥有数据,我们必须使机器学习模型学习规则,以便每当有任何不遵守规则的数据出现时:-如上例所示,如果parameter_three本来是' D”而不是“ C”,则违反了该规则。如何使模型学习这些规则?
此外,由于存在很多规则且无法扩展,因此无法手动编写规则。
我的尝试
我想到了使用自动编码器并通过它传递训练数据。之后,对于每个数据,我们将使用重建损失来检查是否属于违规案例。但是,它过度拟合,无法在测试数据上很好地工作。
我以前也曾尝试使用深度神经网络,但在那儿没有帮助。有人可以帮我从这里出去吗?
谢谢。
答案 0 :(得分:0)
您可以使用Apriori或FP-Growth之类的关联规则挖掘算法来生成频繁项集。
从常用项目集中,您可以生成关联规则。
一旦有了关联规则,就可以为每个规则分配权重(或使用一些参数,例如规则的置信度/提升度)。
要在新数据条目上进行测试时,请进行加权求和(如果新条目满足规则,则使用规则的权重来计算新条目的得分/总和)。
如果为新条目生成的分数大于所选阈值,则可以说新条目通过了预设规则,否则违反规则。
加权求和使您可以灵活地为关联规则分配重要性。您也可以这样做,如果新条目甚至不满足其中一个关联规则,则它违反了预设规则。