"""
根据user_value给用户打标签,若是二分类问题,直接用np.where(condition,a,b)
多分类问题,利用quantile()函数对不同的范围给一个级别指数,定义类别然后label
"""
Q2 = data_grouped['user_value'].quantile(0.2)
Q4 = data_grouped['user_value'].quantile(0.4)
Q6 = data_grouped['user_value'].quantile(0.6)
Q8 = data_grouped['user_value'].quantile(0.8)
#多分类标签
def label(data_grouped):
if data_grouped['user_value'] < Q2:
return 0
elif (data_grouped['user_value'] >= Q2 and data_grouped['user_value'] < Q4):
return 1
elif (data_grouped['user_value'] >= Q4 and data_grouped['user_value'] < Q6):
return 2
elif (data_grouped['user_value'] >= Q6 and data_grouped['user_value'] < Q8):
return 3
else:
return 4
data_grouped["label"] = data_grouped.apply(label, axis = 1)
##二分类标签
data_grouped['label'] = np.where(data_grouped['user_value'] > data_grouped['user_value'].quantile(0.3),1,0)