数据科学模型推荐

2024-04-25 22:18:33 发布

您现在位置:Python中文网/ 问答频道 /正文

有谁能帮我推荐一种从数据集中检测违规者的策略吗。你知道吗

例如:

如果我有一个包含4列的数据集-[客户名称、卡类型、银行名称、国家]

因此,按照数据集规则:每个客户只能拥有一个国家内一家银行的一张卡。你知道吗

理想数据集:

**CustomerName - CardType - BankName - Country**

1)        Tony - VISA - CITI - USA

如何检测违规者?

**CustomerName - CardType - BankName - Country**

1)        Tony - VISA - CITI - USA

2)        Anthony - VISA - BOFA - USA

3)        Anthony - MC - BOFA - USA

4)        Anthony - VISA - CITI - USA

5)        Anthony - MC - BOFA - USA

6)        Jess - VISA - AMEX - USA

7)        Jess - VISA - BOFA - USA

8)        Jess - VISA - AMEX - USA

检测规则破坏者的所需输出即,一个客户拥有多个CardType或来自一个国家的一家银行,将CustomerName列视为主键,并将该特定CustomerName的第一个记录值(CardType、Bank、Country)视为True。你知道吗

输出示例:

**CustomerName - CardType - BankName - Country**


3)        Anthony - MC - BOFA - USA

4)        Anthony - VISA - CITI - USA

5)        Anthony - MC - BOFA - USA

7)        Jess - VISA - BOFA - USA

提前谢谢

注意:我使用pandas进行了分析,将主键与单个列分组,即将CustomerName和任何其他列分组,以获得count大于1的rule breakers。 但是,有没有办法检测这些违反规则的人,而不是单独分析他们?你知道吗

我有18个不同的列要检测,所以用模型/算法来推荐/启发我真的很有帮助。你知道吗


Tags: 数据客户规则visa银行国家mccountry
2条回答

我不确定这是否对你有帮助。但是你能使用任何一个全局字典为每一行存储一个值吗?你知道吗

例如,您有这样一个规则“So as DataSet rule:每个客户只能拥有一个国家/地区内一家银行的一张卡”,并考虑这一行“Tony-VISA-CITI-USA”。通过连接规则所需的该行的列的所有值来创建字符串“TonyCITIUSA”。你知道吗

s = "TonyCITIUSA" globalDict = {}

现在检查字符串是否存在于全局字典中,如果存在,则表示如果字典中不存在字符串,则该行是一个规则破坏者。然后将字符串添加到字典中以备将来使用。你知道吗

if s in globalDict: //Rule breaker found else: globalDict.add(s)

如果这样行的话,请告诉我!你知道吗

我想你需要df.drop_duplicates(subset=['column_names',..]) 检查docs。这也许对你有帮助。你知道吗

相关问题 更多 >