在会计中,代表交易的数据集被称为“总分类账”,其形式如下:

请注意,“日记帐”即事务由两个行项目组成。例如,事务处理(日记帐号)%1有两行。现金和收入的收据。公司也可以有交易(日记帐),其中可以包含3个或更多行项目。
我是否首先需要清理数据,以便每个日志只有一个行项目?即把上面的8行清理成4行。
有没有什么python机器学习算法可以让我在不做进一步操作的情况下对上面的数据进行聚类?
这样做的目的是检测交易数据中的异常。我不知道异常是什么样子的,所以这需要无监督学习。
发布于 2019-04-05 06:15:55
在数据的每个维度上使用高斯来确定什么是异常。每个维度的均值和方差都会回退,如果该维度上的新数据点的值低于阈值,那么它就被认为是异常值。这将为每个维度创建一个高斯。你可以在这里使用一些特征工程,而不仅仅是在原始数据上拟合高斯。
如果特征看起来不是高斯的(绘制其直方图),则使用log(x)或sqrt(x)等数据转换来更改它们,直到它们看起来更好。
如果监督学习不可用,或者如果您希望发现以前未见过的新的异常类型(例如发电厂故障,或者某人行为可疑而不是某人是男性/女性),请使用异常检测
错误分析:然而,如果p(x),一个例子不是一个异常的概率,对于所有的例子来说都很大,该怎么办?添加另一个维度,希望它有助于显示异常。您可以通过组合其他一些维度来创建此维度。
为了使高斯更适合您的数据形状,您可以将其设置为多变量。然后,它采用矩阵均值和方差,您可以通过改变参数来改变其形状。如果您的特征并不都是独立的,它还将显示特征相关性。
https://stats.stackexchange.com/questions/368618/multivariate-gaussian-distribution
https://stackoverflow.com/questions/55525423
复制相似问题