2.1 任务要求
特征衍生
特征挑选:分别用IV值和随机森林等进行特征选择
……以及你能想到特征工程处理
2.2 特征衍生
根据特征’history_suc_fee’和’history_fail_fee’计算历史借款总额和还款成功率和失败率
features = pd.concat([X_train,x_test]).reset_index(drop=True)
features['history_total_fee'] = features['history_suc_fee'] + features['history_fail_fee']
features['history_suc_rate'] = features['history_suc_fee'] / (features['history_total_fee'] + 0.01) # 平滑处理
features['history_fail_rate'] = features['history_fail_fee'] / (features['history_total_fee'] + 0.01)
features.head()
2.3 归一化处理
对数值型的特征进行归一化处理,先提取出数值型特征名
numeric_dtypes = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']
numerics_features = []
for i in features.columns:
if features[i].dtype in numeric_dtypes:
numerics_features.append(i)
str(numerics_features)
"['low_volume_percent', 'middle_volume_percent', 'take_amount_in_later_12_month_highest', 'trans_amount_increase_rate_lately', 'trans_activity_month', 'trans_activity_day', 'transd_mcc', 'trans_days_interval_filter', 'trans_days_interval', 'regional_mobility', 'student_feature', 'repayment_capability', 'is_high_user', 'number_of_trans_from_2011', 'historical_trans_amount', 'historical_trans_day', 'rank_trad_1_month', 'trans_amount_3_month', 'avg_consume_less_12_valid_month', 'abs', 'top_trans_count_last_1_month', 'avg_price_last_12_month', 'avg_price_top_last_12_valid_month', 'reg_preference_for_trad', 'trans_top_time_last_1_month', 'trans_top_time_last_6_month', 'consume_top_time_last_1_month', 'consume_top_time_last_6_month', 'cross_consume_count_last_1_month', 'trans_fail_top_count_enum_last_1_month', 'trans_fail_top_count_enum_last_6_month', 'trans_fail_top_count_enum_last_12_month', 'consume_mini_time_last_1_month', 'max_cumulative_consume_later_1_month', 'max_consume_count_later_6_month', 'railway_consume_count_last_12_month', 'pawns_auctions_trusts_consume_last_1_month', 'pawns_auctions_trusts_consume_last_6_month', 'j