在交通事故理赔的竞赛中,用随机森林进行理赔与否的预测,标杆模型中的代码简洁明了如下:
# -*- coding: utf-8 -*-
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
# 读取数据
train = pd.read_csv("C:\\python\\dataset\\random forest\\train.csv")
test = pd.read_csv("C:\\python\\dataset\\random forest\\test.csv")
submit = pd.read_csv("C:\\python\\dataset\\random forest\\sample_submit.csv")
# 删除id
train.drop('CaseId', axis=1, inplace=True)
test.drop('CaseId', axis=1, inplace=True)
# 取出训练集的y
y_train = train.pop('Evaluation')
# 建立随机森林模型
clf = RandomForestClassifier(n_estimators=100, random_state=0)
clf.fit(train, y_train)
#这里到底什么意思?
y_pred = clf.predict_proba(test)[:, 1]
# 输出预测结果至my_RF_prediction.csv
submit['Evaluation'] = y_pred
submit.to_csv('C:\\python\\dataset\\random forest\\my_RF_prediction.csv', index=False)
黄线部分的test 后面为什么跟着[:,1]是用pandas对test进行切片只取test第一列的意思么?但是test的第一列是Q1,仅用test第一列的数据导入函数中,去乞求得到predicted value,似乎说不过去啊。[:, 1] 的意思是什么?
谢谢您的回答
1个回答
题主可以看看这个问题 如何理解predict_proba的返回值