数据分析:集团价值流相似度

我和我的同事(都是机械工程师)喜欢学习python并解决新的有趣问题。

我们的问题:我们要分析组件的价值流(> 50.000),并根据它们的价值流的相似性对其进行分组。

举个例子-假设我们有三种材料A,B和C,其数据如下:

A = [610384,521056,112200,194825633,45]

B = [10389,462,1028503]

C = [10389,462,1028503,112200,45,194825633]

每个数组代表一个值流,每个元素在值流中代表一台机器。例如,必须运行5台以上的机器才能生产。 “ 610384”是值流中第一台计算机的编号。如您所见,A和B与C相似,因为B是C的100%子流,但是A包含3台相同的机器,但顺序不同。

约束:

  • 数字根本没有任何意义->不能根据数字大小或其他任何东西进行比较

  • 数组的长度和元素也不同

  • 数组可以包含子数组,也可以按不同顺序排列,等等。一切皆有可能(我们正在研究数据集)。

  • 我们可以按从上到下的4个等级评分:技术,过程描述,过程描述详细信息,机器编号->含义:机器编号10389和462根本不相等,但是使用了两台机器“钻”孔。因此,级别2(过程描述)将相等。因此,我们可以使用它来给它们评分不等于100%或0%,但是可以在此机器上给它们30%的相似度(而不是整个价值流!)。

4个级别的示例:手动钻孔(1)->钻孔(2)-> 90度钻孔(3)->机器编号462(4)

问题:

  1. 我们应该如何评价每个价值流之间的相互关系?考虑到不同的长度等

  2. 我们如何以有用的方式对给定的评级进行聚类?

我们应该使用合适的算法吗?我们需要自己定义规则吗?如果是这样,您可以推荐阅读吗?

我们的目标:将相似的价值流分组,以便我们可以看到价值流的高速路,并查看是否应该移动机器。

PS:这是Reddit r / analytics的调整后帖子

wellen2oo3 回答:数据分析:集团价值流相似度

这可能是我的部分解决方案,

我用过以下缩写。评分:

md-手动钻孔 ,d-钻孔 ,30或45或60-一定程度的钻孔

1)机器10389等级:'md-d-90-10389'#手动钻孔+钻孔+ 90度

2)机器462等级:'md-d-45-462'#手动钻孔+钻孔+ 45度

import fuzzywuzzy
from fuzzywuzzy import process
matches = fuzzywuzzy.process.extract('md-d-90-10389',['md-d-45-462'],scorer=fuzzywuzzy.fuzz.token_sort_ratio)
print(matches[0][1],'%')

输出:     33%

您可以通过多种方式来做到这一点,例如余弦相似度或Jaccard相似度。 我们可以首先尝试一下。

然后,如果相似度大于80%,我们将仅保留两台机器中的一台。 例如:让我们仅获取2个值流A和C。如果521056和10389的相似度为80%,那么我们可以仅出于简化目的而丢弃其他值。 让我们保持10389。

A = [610384,10389,112200,194825633,45]#从521056替换为10389

C = [10389,462,1028503,112200,45,194825633]

然后我们可以检查A和C之间的余弦相似度,以评估值流的紧密度。

本文链接:https://www.f2er.com/3075400.html

大家都在问