我要做的是发现异常用户,而我们之前没有已经打上异常不异常标签的样本,所以对原始数据进行清洗、特征工程、降维后用Mahout/R做的聚类,
打上了标签,本来打算继续用Mahout/R做分类,Mahout太慢,而用R实现KNN、RandomForest之后发现无法应用到真实项目上,所以用了MLlib。
下面是用R获取正负样本
#1.将kmeans标出的异常类标为1作为正样本,其它类标为0作为负样本
#1.1正常类标为0,作为负样本
#%in% 用法 a %in% table a值是否包含于table中,为真输出TURE,否则输出FALSE
levels(t_knn$cluster)[levels(t_knn$cluster) %in% c("1","2","11","4","5","6","7","8","9","10","12","13","14","15","16")] <- "0"
#1.2异常类标为1,作为正样本
levels(t_knn$cluster)[levels(t_knn$cluster) %in% c("3")] <- "1"
#1.3获取正负样本
negative_samples<-t_knn[which(t_knn$clu