当前位置:   article > 正文

阿里天池金融风控-贷款违约预测xgboost回归_天池金融风控违约预测xgboost

天池金融风控违约预测xgboost

第一次尝试(使用xgboost回归)

这里难度不是很大,可以参考XGBRegressor使用。我这里将预测的数据保存到文件中,方便之后的操作,不用每次操作都训练一次。

import pandas as pd
from xgboost import XGBClassifier#做分类问题
from xgboost import XGBRegressor#做回归问题
df = pd.read_csv("/Users/apple/PycharmProjects/K-means/Datawhale/Result3.csv")
Y = df['isDefault']#标签
df.drop(['isDefault'],axis=1,inplace=True)#删除isDefault列
X=  df#属性

seed = 7
test_size = 0.33
X_train=X
Y_train=Y
df2=pd.read_csv("/Users/apple/PycharmProjects/K-means/Datawhale/TESTResult3.csv")
X_predict=df2#预测数据(处理过只剩属性)
df3=pd.read_csv("/Users/apple/PycharmProjects/K-means/Datawhale/TESTResult2.csv")
id_number=df3['id']#获得预测数据的ID号,由于预测数据已经被处理,因此记录下可预测数据的ID号,为之后将剩下的ID号赋予平均值
xgb = XGBRegressor(n_estimators=500, learning_rate=0.05, min_child_weight=5, max_depth=4)
xgb.fit(X_train,Y_train)
y_predict=xgb.predict(X_predict)
afterpredcit=pd.DataFrame({
    'id': id_number,
    'isDefault': y_predict
})
print(y_predict)
afterpredcit.to_csv('./PredictResult.csv',index=False)#保存时去索引 否则会多加第一列
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
df=pd.read_csv("/Users/apple/PycharmProjects/K-means/Datawhale/PredictResult.csv")
id_number=round(df['isDefault'],1)#将预测结果变换为规定形式:一位小数
j=len(id_number)
#################处理数据中可能含有的负数和-0.O
for i in range(j):
    if id_number[i]<=0:
        id_number[i]=0
df['isDefault']=id_number
#################获得预测数据的均值
mean_number=id_number.mean()
mean_number=round(mean_number,1)
print(mean_number)

#i=800000
i=800000#
while i <1000000:
    j=i-800000
    print(i)
    #################将之前步骤中直接删除缺省项的值变为预测平均值
    if df['id'][j]!=i:
        df2 = df.loc[j:]
        df3=pd.DataFrame({
                    'id' : i,
                    'isDefault' : mean_number
                  },pd.Index(range(1)))
        df=(df.loc[:j-1]).append(df3, ignore_index=True).append(df2, ignore_index=True)
    i=i+1
df.to_csv('./PredictResult2.csv',index=False)#保存时去索引 否则会多加第一列
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述

第一次提交的时候简单的将缺省值赋值了0,之后想了下有点蠢将预测值赋值平均值,提升效果还是很明显的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/371883
推荐阅读
相关标签
  

闽ICP备14008679号