我正在尝试通过随机选择多数类与少数类相等的方式来解决类别不平衡问题。
这是一个多类分类问题,我尝试对类别分布不平衡的数据进行子抽样,但出现了布尔错误。我已经对类别进行了标签编码。
no_of_frauds = train.Suspicious.value_counts()
non_fraud = train[train['Suspicious'] == 2]intermediate = train[train['Suspicious'] == 0]fraud = train[train['Suspicious'] == 1]
selected = non_fraud.sample(no_of_frauds) # 在这里出现错误selected.head()
我期望输出是一个包含所有非欺诈项目的数据框。
回答:
检查这个向量:no_of_frauds = train.Suspicious.value_counts()
这不会得到一个整数,而这个整数是作为sample函数的参数使用的。
尝试改用no_of_frauds = train.Suspicious.count()