风险大脑-支付风险识别天池大赛(四)处理无标签数据、建立完整模型

        上一篇博客讲了利用随机森林模型,在有标签的交易数据基础上建立模型,并简要讲了随机森林一些参数的调优,这篇将会对无标签数据进行处理,并与原训练数据合并送入随机森林模型学习,得到最终模型。并会将测试数据接入,得到最终结果,并写入数据库。

        本次大赛,整体思路流程图如下:




处理已被标记的无标签数据:

input_data_prediction <- sophonR.getInput("data_prediction") # 获取 data_prediction 输入

# 将原有缺失的标签列去除
input_data_prediction <- drop(input_data_prediction, c('label'))
input_data_prediction$label <- input_data_prediction$prediction

# 过滤掉predictionLabel列,仅保留一列标签数据即可
train_data_with_fakeLabel <- drop(input_data_prediction, c('prediction')
train_data_with_fakeLabel <- drop(input_data_prediction, c('rawPrediction')
train_data_with_fakeLabel <- drop(input_data_prediction, c('probability')

sophonR.putOutput("trainData", train_data_with_fakeLabel) # 添加输出端口


合并处理打标签后的数据与原有标签的数据:

# 获取 train_data_with_fakeLabel 输入的端
input_train_data_with_fakeLabel <- sophonR.getInput("train_data_with_fakeLabel") 
# 获取 train_data_label 输入的端口
input_train_data_label <- sophonR.getInput("train_data_label") 

whole_train_data <- rbind(input_train_data_with_fakeLabel, input_train_data_label)

sophonR.putOutput("wholeTrainData",whole_train_data ) 


        在形成完整的数据集后,送入随机森林模型得到预测模型,接入测试数据,得到最终结果。因为送入模型的数据去除了ID列(因为在数据稽查阶段发现ID并没有重复的),故需要在正式写入数据库前添加原ID列。


添加ID列:

# 获取 inputLeft 输入的端口
input_inputLeft <- sophonR.getInput("inputLeft") 
# 获取 inputRight 输入的端口
input_inputRight <- sophonR.getInput("inputRight") 

output <- cbind(input_inputLeft,input_inputRight)

sophonR.putOutput("output",output)

    至此,所有工作完成。



猜你喜欢

转载自blog.csdn.net/whdxjbw/article/details/80909545