{"cells":[{"metadata":{"_kg_hide-input":true,"trusted":true,"_uuid":"1c507e0bc0b081e09cb06177ec746a96147d5659"},"cell_type":"code","source":"All_featrures = ['hist_month_diff_mean', 'hist_purchase_date_max', 'new_hist_purchase_amount_max', 'new_hist_purchase_date_max', 'authorized_flag_N', 'new_hist_purchase_amount_var', 'new_hist_purchase_date_diff', 'hist_purchase_date_min', 'new_hist_purchase_amount_mean', 'hist_month_lag_mean', 'new_hist_month_lag_mean', 'new_hist_purchase_date_min', 'new_hist_purchase_date_uptonow', 'hist_first_buy', 'month_lag_-4', 'new_hist_purchase_date_average', 'month_lag_0', 'hist_month_lag_skew', 'hist_month_lag_var', 'hist_purchase_date_average', 'hist_purchase_amount_median', 'merchant_category_id_x_755', 'new_hist_first_buy', 'subsector_id_x_8', 'hist_purchase_amount_max', 'new_hist_purchase_amount_median', 'hist_month_nunique', 'new_hist_purchase_amount_sum', 'month_lag_-5', 'month_lag_-6', 'hist_weekend_mean', 'hist_purchase_date_diff', 'month_lag_-1', 'new_hist_purchase_amount_min', 'hist_purchase_amount_mean', 'avg_purchases_lag3_min', 'category_4_N', 'category_1_y_Y', 'hist_purchase_amount_skew', 'new_hist_category_1_mean', 'category_3_B', 'purchase_amount_skew', 'hist_category_1_mean', 'category_1_x_Y', 'new_hist_month_diff_mean', 'month_lag_1', 'month_lag_-2', 'hist_installments_sum', 'month_lag_-3', 'category_4_Y', 'subsector_id_x_37', 'hist_installments_var', 'purchase_amount_median', 'hist_installments_mean', 'numerical_2_skew', 'month_lag_-8', 'hist_merchant_id_nunique', 'new_hist_purchase_amount_skew', 'category_3_C', 'most_recent_purchases_range_B', 'month_lag_-7', 'merchant_category_id_x_661', 'hist_category_1_sum', 'subsector_id_x_7', 'avg_purchases_lag12_median', 'numerical_1_skew', 'hist_category_3_mean_mean', 'avg_purchases_lag6_min', 'most_recent_sales_range_C', 'avg_purchases_lag3_median', 'merchant_category_id_x_705', 'category_3_A', 'most_recent_sales_range_B', 'category_2_y_1.0', 'hist_purchase_amount_var', 'hist_purchase_amount_min', 'hist_installments_skew', 'purchase_amount_min', 'subsector_id_x_29', 'avg_purchases_lag6_median', 'category_2_x_1.0', 'avg_sales_lag3_min', 'most_recent_purchases_range_D', 'installments_3', 'merchant_category_id_x_879', 'merchant_category_id_x_278', 'avg_sales_lag12_min', 'installments_2', 'most_recent_sales_range_D', 'subsector_id_x_34', 'state_id_x_9', 'most_recent_purchases_range_C', 'avg_purchases_lag3_skew', 'subsector_id_x_27', 'avg_sales_lag12_skew', 'hist_weekofyear_nunique', 'city_id_x_69', 'merchant_category_id_x_511', 'avg_sales_lag3_skew', 'month_lag_-9', 'new_hist_month_lag_var', 'avg_sales_lag12_median', 'most_recent_purchases_range_A', 'avg_sales_lag6_min', 'most_recent_sales_range_A', 'state_id_x_-1', 'purchase_amount_mean', 'avg_sales_lag3_mean', 'numerical_2_mean', 'purchase_amount_std', 'purchase_amount_total', 'avg_sales_lag6_median', 'merchant_category_id_x_307', 'weekofyear', 'hist_purchase_amount_sum', 'new_hist_category_1_sum', 'most_recent_purchases_range_E', 'hist_category_2_mean_mean', 'elapsed_time', 'avg_sales_lag3_std', 'numerical_1_std', 'category_1_x_N', 'avg_purchases_lag6_skew', 'purchase_amount_max', 'avg_purchases_lag12_min', 'avg_purchases_lag3_mean', 'avg_sales_lag6_skew', 'category_1_y_N', 'hist_merchant_category_id_nunique', 'avg_purchases_lag3_std', 'most_recent_sales_range_E', 'merchant_category_id_x_80', 'avg_purchases_lag12_skew', 'avg_sales_lag12_mean', 'new_hist_month_lag_skew', 'subsector_id_x_19', 'subsector_id_x_33', 'hist_purchase_date_uptonow', 'new_hist_category_3_mean_mean', 'new_hist_installments_var', 'merchant_category_id_x_451', 'avg_sales_lag3_median', 'merchant_category_id_x_367', 'city_id_x_-1', 'subsector_id_x_22', 'month_lag_-10', 'numerical_1_median', 'numerical_1_mean', 'merchant_category_id_x_560', 'month_lag_2', 'month_lag_-11', 'numerical_1_max', 'active_months_lag12_7.0', 'avg_sales_lag6_mean', 'merchant_category_id_x_574', 'new_hist_installments_skew', 'city_id_x_158', 'subsector_id_x_21', 'month', 'avg_purchases_lag12_mean', 'merchant_category_id_x_683', 'merchant_category_id_x_839', 'subsector_id_x_1', 'numerical_2_median', 'subsector_id_x_16', 'avg_purchases_lag6_std', 'feature_1_x', 'hist_weekend_sum', 'avg_sales_lag12_std', 'hist_subsector_id_nunique', 'new_hist_weekend_mean', 'merchant_category_id_x_437', 'authorized_flag_Y', 'state_id_x_15', 'installments_4', 'merchant_category_id_x_884', 'state_id_x_16', 'avg_purchases_lag6_mean', 'merchant_category_id_x_108', 'hist_month_lag_median', 'new_hist_installments_mean', 'avg_sales_lag6_std', 'new_hist_merchant_category_id_nunique', 'merchant_category_id_x_690', 'hist_hour_nunique', 'city_id_x_283', 'city_id_x_19', 'subsector_id_x_18', 'category_2_y_4.0', 'merchant_category_id_x_68', 'merchant_category_id_x_302', 'subsector_id_x_25', 'merchant_category_id_x_422', 'category_2_x_5.0', 'card_id_total', 'subsector_id_x_20', 'dayofweek', 'category_2_x_3.0', 'merchant_category_id_x_506', 'avg_purchases_lag12_std', 'installments_6', 'merchant_category_id_x_360', 'merchant_category_id_x_178', 'new_hist_installments_sum', 'month_lag_-12', 'merchant_category_id_x_414', 'installments_12', 'category_2_x_4.0', 'subsector_id_x_36', 'new_hist_category_2_mean_mean', 'installments_5', 'merchant_category_id_x_842', 'city_id_x_233', 'numerical_2_std', 'city_id_x_213', 'merchant_category_id_x_222', 'state_id_x_22', 'category_2_x_2.0', 'category_2_y_2.0', 'installments_10', 'city_id_x_138', 'state_id_x_20', 'new_hist_weekofyear_nunique', 'state_id_x_12', 'new_hist_subsector_id_nunique', 'merchant_category_id_x_210', 'category_2_y_3.0', 'merchant_category_id_x_87', 'city_id_x_330', 'city_id_x_149', 'merchant_category_id_x_557', 'subsector_id_x_17', 'new_hist_installments_min', 'avg_sales_lag12_max', 'merchant_category_id_x_454', 'city_id_x_331', 'merchant_category_id_x_45', 'category_2_y_5.0', 'city_id_x_53', 'city_id_x_88', 'new_hist_hour_nunique', 'subsector_id_x_31', 'merchant_category_id_x_783', 'city_id_x_286', 'avg_purchases_lag6_max', 'new_hist_month_lag_max', 'state_id_x_5', 'merchant_category_id_x_111', 'merchant_category_id_x_836', 'avg_purchases_lag3_max', 'city_id_x_333', 'city_id_x_212', 'new_hist_merchant_id_nunique', 'merchant_category_id_x_195', 'city_id_x_3', 'avg_sales_lag3_max', 'state_id_x_24', 'merchant_category_id_x_771', 'city_id_x_116', 'feature_2_x', 'state_id_x_10', 'merchant_category_id_x_734', 'merchant_category_id_x_792', 'hist_card_id_size', 'merchant_category_id_x_90', 'city_id_x_79', 'city_id_x_308', 'avg_purchases_lag12_max', 'city_id_x_110', 'hist_installments_max', 'merchant_category_id_x_273', 'avg_sales_lag6_max', 'merchant_category_id_x_665', 'merchant_category_id_x_309', 'merchant_category_id_x_217', 'state_id_x_19', 'merchant_category_id_x_497', 'city_id_x_322', 'hist_month_diff_median', 'merchant_category_id_x_650', 'state_id_x_4', 'state_id_x_21', 'subsector_id_x_3', 'city_id_x_91', 'merchant_category_id_x_19', 'merchant_category_id_x_373', 'city_id_x_107', 'city_id_x_291', 'city_id_x_126', 'merchant_category_id_x_398', 'state_id_x_14', 'city_id_x_334', 'active_months_lag12_12.0', 'city_id_x_87', 'new_hist_installments_max', 'state_id_x_2', 'merchant_category_id_x_332', 'city_id_x_137', 'new_hist_year_nunique', 'active_months_lag3_3.0', 'installments_-1', 'merchant_category_id_x_834', 'subsector_id_x_32', 'merchant_category_id_x_427', 'merchant_category_id_x_818', 'city_id_x_96', 'new_hist_dayofweek_nunique', 'merchant_category_id_x_419', 'merchant_category_id_x_434', 'state_id_x_3', 'city_id_x_143', 'subsector_id_x_41', 'numerical_2_max', 'city_id_x_266', 'city_id_x_195', 'subsector_id_x_10', 'city_id_x_277', 'city_id_x_267', 'city_id_x_244', 'hist_month_lag_min', 'state_id_x_11', 'merchant_category_id_x_656', 'merchant_category_id_x_299', 'active_months_lag12_10.0', 'subsector_id_x_4', 'city_id_x_60', 'hist_month_lag_max', 'subsector_id_x_2', 'new_hist_weekend_sum', 'merchant_category_id_x_317', 'city_id_x_20', 'city_id_x_8', 'new_hist_installments_median', 'state_id_x_7', 'city_id_x_274', 'city_id_x_102', 'merchant_category_id_x_607', 'city_id_x_337', 'installments_1', 'merchant_category_id_x_779', 'month_lag_-13', 'merchant_category_id_x_544', 'merchant_category_id_x_518', 'subsector_id_x_38', 'hist_installments_min', 'city_id_x_188', 'new_hist_card_id_size', 'subsector_id_x_35', 'merchant_category_id_x_840', 'merchant_category_id_x_356', 'state_id_x_1', 'city_id_x_57', 'merchant_category_id_x_706', 'state_id_x_13', 'city_id_x_21', 'merchant_category_id_x_561', 'merchant_category_id_x_130', 'merchant_category_id_x_290', 'city_id_x_340', 'merchant_category_id_x_387', 'subsector_id_x_12', 'city_id_x_124', 'city_id_x_318', 'city_id_x_1', 'city_id_x_325', 'city_id_x_216', 'feature_3_x', 'city_id_x_329', 'merchant_category_id_x_184', 'merchant_category_id_x_550', 'merchant_category_id_x_298', 'merchant_category_id_x_528', 'merchant_category_id_x_63', 'merchant_category_id_x_2', 'merchant_category_id_x_206', 'city_id_x_38', 'city_id_x_168', 'city_id_x_4', 'city_id_x_253', 'city_id_x_117', 'city_id_x_296', 'merchant_category_id_x_598', 'city_id_x_179', 'merchant_category_id_x_411', 'installments_7', 'city_id_x_344', 'city_id_x_56', 'feature_2_y', 'city_id_x_242', 'state_id_x_8', 'merchant_category_id_x_34', 'hist_installments_median', 'city_id_x_52', 'merchant_category_id_x_813', 'merchant_category_id_x_489', 'state_id_x_18', 'merchant_category_id_x_415', 'feature_1_y', 'state_id_x_23', 'city_id_x_223', 'merchant_category_id_x_793', 'merchant_category_id_x_769', 'city_id_x_182', 'city_id_x_299', 'city_id_x_347', 'installments_8', 'merchant_category_id_x_369', 'city_id_x_163', 'city_id_x_14', 'city_id_x_90', 'merchant_category_id_x_667', 'city_id_x_231', 'city_id_x_12', 'subsector_id_x_26', 'city_id_x_171', 'city_id_x_170', 'merchant_category_id_x_529', 'city_id_x_47', 'merchant_category_id_x_38', 'merchant_category_id_x_-1', 'active_months_lag12_9.0', 'merchant_category_id_x_763', 'merchant_category_id_x_40', 'subsector_id_x_9', 'city_id_x_289', 'merchant_category_id_x_554', 'city_id_x_323', 'city_id_x_7', 'city_id_x_199', 'city_id_x_250', 'city_id_x_339', 'merchant_category_id_x_110', 'city_id_x_288', 'city_id_x_64', 'city_id_x_147', 'merchant_category_id_x_519', 'merchant_category_id_x_491', 'merchant_category_id_x_241', 'installments_0', 'merchant_category_id_x_363', 'city_id_x_280', 'merchant_category_id_x_819', 'hist_dayofweek_nunique', 'city_id_x_278', 'city_id_x_125', 'merchant_category_id_x_33', 'city_id_x_304', 'merchant_category_id_x_385', 'merchant_category_id_x_333', 'merchant_category_id_x_14', 'city_id_x_160', 'city_id_x_25', 'city_id_x_51', 'city_id_x_209', 'merchant_category_id_x_259', 'merchant_category_id_x_692', 'merchant_category_id_x_171', 'city_id_x_140', 'merchant_category_id_x_527', 'city_id_x_238', 'merchant_category_id_x_56', 'city_id_x_161', 'city_id_x_208', 'merchant_category_id_x_774', 'merchant_category_id_x_412', 'state_id_x_17', 'city_id_x_34', 'active_months_lag6_6.0', 'city_id_x_218', 'city_id_x_66', 'merchant_category_id_x_330', 'subsector_id_x_5', 'city_id_x_106', 'merchant_category_id_x_60', 'city_id_x_180', 'city_id_x_281', 'merchant_category_id_x_246', 'city_id_x_272', 'city_id_x_251', 'new_hist_month_nunique', 'merchant_category_id_x_556', 'merchant_category_id_x_9', 'city_id_x_236', 'city_id_x_123', 'city_id_x_48', 'city_id_x_100', 'city_id_x_302', 'city_id_x_80', 'merchant_category_id_x_703', 'merchant_category_id_x_248', 'city_id_x_246', 'city_id_x_271', 'city_id_x_2', 'city_id_x_159', 'merchant_category_id_x_637', 'merchant_category_id_x_462', 'merchant_category_id_x_630', 'city_id_x_200', 'merchant_category_id_x_472', 'merchant_category_id_x_748', 'city_id_x_30', 'city_id_x_314', 'city_id_x_270', 'merchant_category_id_x_478', 'city_id_x_26', 'active_months_lag6_5.0', 'active_months_lag12_11.0', 'city_id_x_279', 'merchant_category_id_x_320', 'city_id_x_248', 'merchant_category_id_x_531', 'merchant_category_id_x_480', 'city_id_x_62', 'city_id_x_292', 'new_hist_month_diff_median', 'city_id_x_36', 'subsector_id_x_15', 'active_months_lag6_4.0', 'city_id_x_85', 'active_months_lag12_6.0', 'city_id_x_46', 'merchant_category_id_x_443', 'merchant_category_id_x_781', 'city_id_x_224', 'merchant_category_id_x_126', 'merchant_category_id_x_605', 'merchant_category_id_x_631', 'merchant_category_id_x_795', 'city_id_x_239', 'merchant_category_id_x_384', 'city_id_x_260', 'city_id_x_230', 'city_id_x_155', 'city_id_x_10', 'merchant_category_id_x_319', 'merchant_category_id_x_695', 'city_id_x_75', 'city_id_x_42', 'merchant_category_id_x_181', 'city_id_x_97', 'city_id_x_328', 'city_id_x_113', 'merchant_category_id_x_105', 'city_id_x_234', 'city_id_x_194', 'city_id_x_135', 'merchant_category_id_x_267', 'merchant_category_id_x_642', 'merchant_category_id_x_81', 'city_id_x_303', 'city_id_x_109', 'numerical_1_min', 'merchant_category_id_x_409', 'merchant_category_id_x_416', 'merchant_category_id_x_166', 'merchant_category_id_x_340', 'city_id_x_33', 'merchant_category_id_x_289', 'city_id_x_78', 'city_id_x_136', 'merchant_category_id_x_645', 'city_id_x_94', 'new_hist_month_lag_min', 'merchant_category_id_x_180', 'hist_year_nunique', 'city_id_x_76', 'city_id_x_151', 'city_id_x_262', 'city_id_x_311', 'city_id_x_101', 'subsector_id_x_30', 'merchant_category_id_x_383', 'city_id_x_285', 'city_id_x_191', 'city_id_x_11', 'city_id_x_82', 'new_hist_category_1_median', 'city_id_x_169', 'merchant_category_id_x_391', 'subsector_id_x_23', 'active_months_lag6_3.0', 'city_id_x_189', 'active_months_lag12_8.0', 'city_id_x_23', 'city_id_x_39', 'city_id_x_9', 'merchant_category_id_x_57', 'city_id_x_298', 'merchant_category_id_x_420', 'merchant_category_id_x_69', 'city_id_x_297', 'merchant_category_id_x_198', 'city_id_x_184', 'merchant_category_id_x_761', 'city_id_x_24', 'city_id_x_98', 'city_id_x_146', 'city_id_x_258', 'city_id_x_326', 'city_id_x_17', 'merchant_category_id_x_670', 'merchant_category_id_x_823', 'merchant_category_id_x_623', 'city_id_x_198', 'merchant_category_id_x_78', 'city_id_x_115', 'city_id_x_54', 'merchant_category_id_x_215', 'city_id_x_190', 'merchant_category_id_x_606', 'city_id_x_29', 'city_id_x_327', 'city_id_x_214', 'merchant_category_id_x_651', 'merchant_category_id_x_843', 'city_id_x_245', 'merchant_category_id_x_702', 'city_id_x_282', 'new_hist_month_lag_median', 'merchant_category_id_x_114', 'city_id_x_341', 'city_id_x_13', 'merchant_category_id_x_591', 'installments_9', 'city_id_x_232', 'merchant_category_id_x_357', 'state_id_x_6', 'merchant_category_id_x_458', 'city_id_x_256', 'city_id_x_268', 'city_id_x_150', 'city_id_x_300', 'merchant_category_id_x_432', 'merchant_category_id_x_117', 'city_id_x_22', 'city_id_x_119', 'subsector_id_x_39', 'city_id_x_40', 'merchant_category_id_x_614', 'installments_11', 'numerical_2_min', 'city_id_x_174', 'merchant_category_id_x_891', 'city_id_x_295', 'city_id_x_264', 'merchant_category_id_x_209', 'city_id_x_247', 'city_id_x_63', 'city_id_x_193', 'city_id_x_294', 'city_id_x_18', 'merchant_category_id_x_315', 'city_id_x_35', 'merchant_category_id_x_568', 'city_id_x_226', 'city_id_x_205', 'merchant_category_id_x_179', 'city_id_x_173', 'merchant_category_id_x_216', 'merchant_category_id_x_154', 'merchant_category_id_x_507', 'merchant_category_id_x_225', 'merchant_category_id_x_438', 'merchant_category_id_x_312', 'merchant_category_id_x_157', 'city_id_x_187', 'city_id_x_259', 'merchant_category_id_x_386', 'merchant_category_id_x_396', 'city_id_x_71', 'city_id_x_166', 'merchant_category_id_x_400', 'city_id_x_157', 'merchant_category_id_x_671', 'city_id_x_156', 'city_id_x_345', 'merchant_category_id_x_499', 'merchant_category_id_x_668', 'merchant_category_id_x_885', 'city_id_x_206', 'merchant_category_id_x_342', 'city_id_x_16', 'city_id_x_275', 'city_id_x_148', 'city_id_x_221', 'subsector_id_x_40', 'merchant_category_id_x_224', 'merchant_category_id_x_737', 'city_id_x_144', 'merchant_category_id_x_53', 'merchant_category_id_x_829', 'merchant_category_id_x_593', 'merchant_category_id_x_274', 'subsector_id_x_-1', 'city_id_x_276', 'city_id_x_201', 'merchant_category_id_x_796', 'city_id_x_162', 'city_id_x_301', 'merchant_category_id_x_417', 'city_id_x_32', 'city_id_x_103', 'city_id_x_219', 'merchant_category_id_x_276', 'city_id_x_74', 'merchant_category_id_x_827', 'city_id_x_181', 'city_id_x_130', 'city_id_x_133', 'merchant_category_id_x_514', 'merchant_category_id_x_534', 'city_id_x_139', 'subsector_id_x_13', 'city_id_x_73', 'active_months_lag3_2.0', 'city_id_x_310', 'city_id_x_142', 'subsector_id_x_24', 'city_id_x_261', 'merchant_category_id_x_21', 'merchant_category_id_x_873', 'city_id_x_120', 'merchant_category_id_x_854', 'merchant_category_id_x_573', 'feature_3_y', 'city_id_x_68', 'active_months_lag12_4.0', 'city_id_x_210', 'merchant_category_id_x_172', 'merchant_category_id_x_292', 'city_id_x_86', 'city_id_x_335', 'merchant_category_id_x_474', 'merchant_category_id_x_713', 'city_id_x_153', 'merchant_category_id_x_881', 'city_id_x_235', 'city_id_x_265', 'city_id_x_172', 'merchant_category_id_x_71', 'city_id_x_254', 'new_hist_weekend_median', 'city_id_x_240', 'city_id_x_70', 'merchant_category_id_x_374', 'merchant_category_id_x_16', 'city_id_x_61', 'city_id_x_312', 'city_id_x_211', 'merchant_category_id_x_430', 'active_months_lag12_5.0', 'active_months_lag3_1.0', 'merchant_category_id_x_751', 'city_id_x_131', 'city_id_x_342', 'city_id_x_6', 'city_id_x_227', 'merchant_category_id_x_717', 'merchant_category_id_x_669', 'city_id_x_44', 'city_id_x_269', 'city_id_x_228', 'hist_weekend_median', 'merchant_category_id_x_536', 'merchant_category_id_x_808', 'city_id_x_167', 'city_id_x_108', 'hist_category_1_median', 'city_id_x_320', 'merchant_category_id_x_469', 'city_id_x_58', 'merchant_category_id_x_247', 'city_id_x_41', 'city_id_x_204', 'city_id_x_118', 'city_id_x_287', 'merchant_category_id_x_119', 'merchant_category_id_x_456', 'city_id_x_183', 'city_id_x_263', 'merchant_category_id_x_546', 'merchant_category_id_x_696', 'merchant_category_id_x_348', 'city_id_x_293', 'city_id_x_336', 'city_id_x_338', 'merchant_category_id_x_806', 'city_id_x_229', 'city_id_x_111', 'city_id_x_290', 'subsector_id_x_11', 'active_months_lag12_3.0', 'city_id_x_165', 'merchant_category_id_x_351', 'subsector_id_x_14', 'merchant_category_id_x_265', 'city_id_x_252', 'city_id_x_81', 'city_id_x_313', 'city_id_x_203', 'merchant_category_id_x_115', 'merchant_category_id_x_182', 'city_id_x_83', 'city_id_x_343', 'city_id_x_77', 'city_id_x_105', 'city_id_x_49', 'merchant_category_id_x_36', 'merchant_category_id_x_613', 'city_id_x_315', 'city_id_x_307', 'city_id_x_175', 'merchant_category_id_x_471', 'city_id_x_220', 'merchant_category_id_x_685', 'active_months_lag6_2.0', 'city_id_x_128', 'city_id_x_186', 'active_months_lag6_1.0', 'city_id_x_145', 'merchant_category_id_x_504', 'merchant_category_id_x_498', 'city_id_x_104', 'city_id_x_114', 'city_id_x_122', 'city_id_x_112', 'city_id_x_129', 'active_months_lag12_2.0', 'merchant_category_id_x_140', 'city_id_x_178', 'merchant_category_id_x_662', 'merchant_category_id_x_652', 'merchant_category_id_x_648', 'merchant_category_id_x_634', 'merchant_category_id_x_628', 'merchant_category_id_x_603', 'merchant_category_id_x_601', 'merchant_category_id_x_599', 'merchant_category_id_x_59', 'merchant_category_id_x_587', 'merchant_category_id_x_583', 'merchant_category_id_x_580', 'merchant_category_id_x_579', 'merchant_category_id_x_551', 'merchant_category_id_x_542', 'merchant_category_id_x_530', 'merchant_category_id_x_526', 'merchant_category_id_x_523', 'merchant_category_id_x_52', 'merchant_category_id_x_513', 'merchant_category_id_x_509', 'merchant_category_id_x_49', 'merchant_category_id_x_482', 'merchant_category_id_x_464', 'merchant_category_id_x_457', 'merchant_category_id_x_448', 'merchant_category_id_x_653', 'merchant_category_id_x_664', 'merchant_category_id_x_421', 'merchant_category_id_x_67', 'subsector_id_x_28', 'merchant_category_id_x_889', 'merchant_category_id_x_882', 'merchant_category_id_x_878', 'merchant_category_id_x_875', 'merchant_category_id_x_86', 'merchant_category_id_x_847', 'merchant_category_id_x_83', 'merchant_category_id_x_817', 'merchant_category_id_x_814', 'merchant_category_id_x_805', 'merchant_category_id_x_803', 'merchant_category_id_x_790', 'merchant_category_id_x_789', 'merchant_category_id_x_780', 'merchant_category_id_x_757', 'merchant_category_id_x_743', 'merchant_category_id_x_741', 'merchant_category_id_x_725', 'merchant_category_id_x_718', 'merchant_category_id_x_714', 'merchant_category_id_x_712', 'merchant_category_id_x_687', 'merchant_category_id_x_686', 'merchant_category_id_x_676', 'merchant_category_id_x_436', 'merchant_category_id_x_401', 'city_id_x_185', 'merchant_category_id_x_164', 'merchant_category_id_x_153', 'merchant_category_id_x_145', 'merchant_category_id_x_141', 'merchant_category_id_x_131', 'merchant_category_id_x_11', 'merchant_category_id_x_109', 'merchant_category_id_x_101', 'installments_999', 'city_id_x_92', 'city_id_x_89', 'city_id_x_84', 'city_id_x_65', 'city_id_x_321', 'city_id_x_319', 'city_id_x_316', 'city_id_x_309', 'city_id_x_306', 'city_id_x_28', 'city_id_x_273', 'city_id_x_255', 'city_id_x_237', 'city_id_x_222', 'city_id_x_215', 'city_id_x_207', 'city_id_x_197', 'merchant_category_id_x_162', 'merchant_category_id_x_18', 'merchant_category_id_x_393', 'merchant_category_id_x_183', 'merchant_category_id_x_381', 'merchant_category_id_x_37', 'merchant_category_id_x_358', 'merchant_category_id_x_355', 'merchant_category_id_x_345', 'merchant_category_id_x_343', 'merchant_category_id_x_334', 'merchant_category_id_x_322', 'merchant_category_id_x_311', 'merchant_category_id_x_31', 'merchant_category_id_x_281', 'merchant_category_id_x_27', 'merchant_category_id_x_268', 'merchant_category_id_x_266', 'merchant_category_id_x_261', 'merchant_category_id_x_260', 'merchant_category_id_x_249', 'merchant_category_id_x_245', 'merchant_category_id_x_226', 'merchant_category_id_x_223', 'merchant_category_id_x_220', 'merchant_category_id_x_201', 'merchant_category_id_x_192', 'merchant_category_id_x_190', 'merchant_category_id_x_187', 'active_months_lag12_1.0']\n\nAll_featrures_old = ['hist_month_diff_mean', 'hist_purchase_date_max', 'new_hist_purchase_amount_max', 'new_hist_purchase_date_max', 'new_hist_purchase_date_uptonow', 'hist_authorized_flag_mean', 'new_hist_purchase_amount_mean', 'new_hist_month_lag_mean', 'new_hist_purchase_date_diff', 'hist_month_nunique', 'new_hist_purchase_amount_var', 'new_hist_purchase_date_min', 'authorized_flag_N', 'subsector_id_x_8', 'merchant_category_id_x_755', 'hist_first_buy', 'new_hist_category_1_mean', 'hist_purchase_date_min', 'hist_purchase_date_average', 'new_hist_purchase_date_average', 'month_lag_1', 'month_lag_0', 'hist_purchase_amount_mean', 'new_hist_month_diff_mean', 'category_1_x_Y', 'purchase_amount_median', 'new_hist_first_buy', 'merchant_category_id_x_661', 'new_hist_category_1_sum', 'hist_month_lag_mean', 'hist_purchase_amount_max', 'purchase_amount_skew', 'month_lag_-4', 'hist_month_lag_var', 'hist_installments_mean', 'hist_category_1_mean', 'hist_purchase_date_diff', 'new_hist_purchase_amount_min', 'hist_category_1_sum', 'merchant_category_id_x_451', 'new_hist_purchase_amount_sum', 'hist_merchant_id_nunique', 'month_lag_-5', 'category_3_B', 'merchant_category_id_x_511', 'category_1_y_Y', 'month_lag_-1', 'subsector_id_x_37', 'month_lag_-6', 'month_lag_-8', 'subsector_id_x_7', 'elapsed_time', 'hist_purchase_date_uptonow', 'avg_purchases_lag3_min', 'month_lag_-3', 'hist_installments_sum', 'hist_installments_var', 'merchant_category_id_x_278', 'subsector_id_x_22', 'new_hist_month_lag_var', 'purchase_amount_min', 'new_hist_category_3_mean_mean', 'hist_purchase_amount_var', 'hist_weekofyear_nunique', 'avg_sales_lag12_min', 'hist_category_3_mean_mean', 'purchase_amount_total', 'category_3_C', 'merchant_category_id_x_574', 'new_hist_installments_var', 'month_lag_-2', 'hist_weekend_mean', 'new_hist_installments_mean', 'hist_purchase_amount_sum', 'most_recent_sales_range_C', 'merchant_category_id_x_879', 'category_3_A', 'month_lag_-7', 'category_4_Y', 'category_4_N', 'hist_purchase_amount_min', 'feature_1_x', 'hist_merchant_category_id_nunique', 'purchase_amount_mean', 'numerical_1_skew', 'month_lag_-9', 'installments_2', 'avg_purchases_lag12_median', 'category_1_x_N', 'installments_3', 'avg_purchases_lag6_median', 'merchant_category_id_x_302', 'avg_sales_lag12_skew', 'merchant_category_id_x_90', 'numerical_2_skew', 'avg_purchases_lag3_median', 'avg_purchases_lag3_skew', 'merchant_category_id_x_705', 'avg_sales_lag3_min', 'city_id_x_283', 'subsector_id_x_33', 'merchant_category_id_x_217', 'state_id_x_-1', 'category_1_y_N', 'purchase_amount_std', 'avg_sales_lag3_skew', 'new_hist_merchant_category_id_nunique', 'purchase_amount_max', 'avg_sales_lag12_median', 'subsector_id_x_29', 'hist_category_2_mean_mean', 'new_hist_installments_min', 'category_2_x_1.0', 'active_months_lag12_7.0', 'most_recent_purchases_range_B', 'avg_purchases_lag6_min', 'most_recent_sales_range_A', 'avg_purchases_lag3_std', 'avg_sales_lag6_median', 'subsector_id_x_34', 'city_id_x_-1', 'category_2_y_1.0', 'avg_purchases_lag12_min', 'installments_4', 'month_lag_2', 'most_recent_sales_range_D', 'most_recent_purchases_range_D', 'avg_sales_lag6_min', 'new_hist_merchant_id_nunique', 'avg_sales_lag3_std', 'avg_purchases_lag6_skew', 'merchant_category_id_x_656', 'most_recent_purchases_range_C', 'most_recent_purchases_range_A', 'avg_sales_lag12_mean', 'weekofyear', 'numerical_1_mean', 'subsector_id_x_27', 'avg_sales_lag3_mean', 'merchant_category_id_x_683', 'merchant_category_id_x_665', 'month_lag_-11', 'merchant_category_id_x_307', 'avg_purchases_lag12_skew', 'numerical_2_median', 'merchant_category_id_x_734', 'installments_12', 'avg_sales_lag6_skew', 'merchant_category_id_x_836', 'most_recent_sales_range_B', 'city_id_x_79', 'numerical_1_median', 'avg_purchases_lag3_mean', 'merchant_category_id_x_598', 'merchant_category_id_x_398', 'state_id_x_9', 'merchant_category_id_x_839', 'avg_sales_lag3_median', 'hist_subsector_id_nunique', 'city_id_x_195', 'avg_purchases_lag12_mean', 'avg_sales_lag12_std', 'installments_5', 'city_id_x_330', 'city_id_x_266', 'subsector_id_x_3', 'city_id_x_69', 'merchant_category_id_x_80', 'merchant_category_id_x_178', 'city_id_x_158', 'city_id_x_337', 'most_recent_purchases_range_E', 'avg_purchases_lag6_std', 'merchant_category_id_x_792', 'city_id_x_91', 'state_id_x_24', 'numerical_2_std', 'new_hist_year_nunique', 'new_hist_weekend_mean', 'month_lag_-10', 'city_id_x_267', 'avg_purchases_lag6_mean', 'subsector_id_x_19', 'avg_sales_lag6_mean', 'new_hist_month_lag_max', 'merchant_category_id_x_108', 'feature_2_x', 'most_recent_sales_range_E', 'state_id_x_12', 'installments_6', 'city_id_x_138', 'new_hist_subsector_id_nunique', 'new_hist_weekofyear_nunique', 'merchant_category_id_x_210', 'numerical_1_std', 'month', 'new_hist_category_2_mean_mean', 'merchant_category_id_x_819', 'avg_purchases_lag6_max', 'city_id_x_308', 'merchant_category_id_x_-1', 'numerical_2_mean', 'state_id_x_19', 'new_hist_hour_nunique', 'city_id_x_53', 'installments_10', 'state_id_x_16', 'authorized_flag_Y', 'merchant_category_id_x_560', 'merchant_category_id_x_842', 'subsector_id_x_25', 'category_2_y_4.0', 'new_hist_card_id_size', 'subsector_id_x_21', 'avg_sales_lag6_std', 'new_hist_installments_sum', 'card_id_total', 'category_2_y_2.0', 'merchant_category_id_x_437', 'merchant_category_id_x_454', 'merchant_category_id_x_184', 'hist_installments_min', 'city_id_x_212', 'city_id_x_168', 'subsector_id_x_1', 'avg_purchases_lag12_std', 'state_id_x_15', 'city_id_x_96', 'merchant_category_id_x_367', 'city_id_x_253', 'new_hist_installments_max', 'month_lag_-12', 'avg_sales_lag12_max', 'merchant_category_id_x_556', 'merchant_category_id_x_273', 'category_2_x_4.0', 'numerical_2_max', 'merchant_category_id_x_414', 'state_id_x_22', 'merchant_category_id_x_550', 'merchant_category_id_x_497', 'avg_sales_lag3_max', 'merchant_category_id_x_690', 'category_2_x_3.0', 'city_id_x_328', 'merchant_category_id_x_68', 'subsector_id_x_31', 'hist_weekend_sum', 'hist_hour_nunique', 'subsector_id_x_16', 'city_id_x_124', 'merchant_category_id_x_422', 'city_id_x_116', 'merchant_category_id_x_779', 'subsector_id_x_36', 'city_id_x_233', 'city_id_x_110', 'merchant_category_id_x_650', 'city_id_x_179', 'city_id_x_277', 'subsector_id_x_17', 'hist_authorized_flag_sum', 'avg_purchases_lag3_max', 'merchant_category_id_x_198', 'city_id_x_329', 'merchant_category_id_x_884', 'merchant_category_id_x_427', 'merchant_category_id_x_506', 'merchant_category_id_x_206', 'merchant_category_id_x_111', 'subsector_id_x_18', 'city_id_x_137', 'city_id_x_107', 'state_id_x_10', 'merchant_category_id_x_38', 'subsector_id_x_20', 'city_id_x_3', 'merchant_category_id_x_360', 'category_2_y_3.0', 'city_id_x_75', 'city_id_x_8', 'subsector_id_x_10', 'city_id_x_213', 'city_id_x_36', 'merchant_category_id_x_771', 'city_id_x_286', 'avg_purchases_lag12_max', 'merchant_category_id_x_519', 'city_id_x_149', 'merchant_category_id_x_645', 'city_id_x_19', 'dayofweek', 'category_2_y_5.0', 'merchant_category_id_x_546', 'hist_month_lag_max', 'numerical_1_max', 'merchant_category_id_x_222', 'city_id_x_322', 'merchant_category_id_x_45', 'merchant_category_id_x_568', 'merchant_category_id_x_373', 'category_2_x_2.0', 'merchant_category_id_x_195', 'city_id_x_274', 'merchant_category_id_x_209', 'city_id_x_117', 'merchant_category_id_x_332', 'state_id_x_14', 'merchant_category_id_x_409', 'merchant_category_id_x_783', 'subsector_id_x_41', 'city_id_x_223', 'merchant_category_id_x_317', 'merchant_category_id_x_87', 'city_id_x_347', 'state_id_x_2', 'merchant_category_id_x_19', 'city_id_x_333', 'subsector_id_x_5', 'city_id_x_106', 'city_id_x_296', 'installments_1', 'city_id_x_325', 'city_id_x_171', 'city_id_x_88', 'city_id_x_7', 'city_id_x_151', 'category_2_x_5.0', 'avg_sales_lag6_max', 'hist_installments_max', 'merchant_category_id_x_557', 'city_id_x_159', 'feature_3_x', 'merchant_category_id_x_544', 'city_id_x_182', 'city_id_x_280', 'city_id_x_87', 'hist_month_lag_min', 'merchant_category_id_x_491', 'state_id_x_13', 'city_id_x_340', 'merchant_category_id_x_309', 'merchant_category_id_x_818', 'city_id_x_102', 'city_id_x_244', 'merchant_category_id_x_299', 'city_id_x_60', 'state_id_x_4', 'hist_card_id_size', 'city_id_x_126', 'city_id_x_163', 'new_hist_dayofweek_nunique', 'state_id_x_20', 'installments_7', 'state_id_x_3', 'active_months_lag12_12.0', 'merchant_category_id_x_781', 'merchant_category_id_x_110', 'merchant_category_id_x_607', 'city_id_x_198', 'city_id_x_143', 'city_id_x_188', 'merchant_category_id_x_834', 'city_id_x_97', 'city_id_x_1', 'merchant_category_id_x_181', 'active_months_lag3_3.0', 'active_months_lag12_10.0', 'merchant_category_id_x_384', 'city_id_x_278', 'city_id_x_80', 'city_id_x_62', 'state_id_x_21', 'city_id_x_323', 'merchant_category_id_x_130', 'state_id_x_7', 'merchant_category_id_x_9', 'merchant_category_id_x_330', 'state_id_x_11', 'city_id_x_216', 'merchant_category_id_x_434', 'city_id_x_334', 'subsector_id_x_32', 'merchant_category_id_x_391', 'city_id_x_125', 'city_id_x_236', 'city_id_x_281', 'city_id_x_20', 'city_id_x_100', 'subsector_id_x_4', 'subsector_id_x_2', 'city_id_x_14', 'city_id_x_64', 'merchant_category_id_x_630', 'city_id_x_38', 'city_id_x_291', 'merchant_category_id_x_290', 'city_id_x_180', 'city_id_x_262', 'city_id_x_318', 'merchant_category_id_x_706', 'installments_9', 'feature_1_y', 'merchant_category_id_x_246', 'merchant_category_id_x_518', 'state_id_x_5', 'merchant_category_id_x_298', 'merchant_category_id_x_63', 'city_id_x_331', 'city_id_x_218', 'subsector_id_x_35', 'subsector_id_x_38', 'city_id_x_299', 'installments_8', 'merchant_category_id_x_2', 'numerical_1_min', 'merchant_category_id_x_385', 'city_id_x_206', 'city_id_x_272', 'state_id_x_1', 'city_id_x_66', 'new_hist_weekend_sum', 'merchant_category_id_x_840', 'merchant_category_id_x_667', 'merchant_category_id_x_387', 'merchant_category_id_x_489', 'month_lag_-13', 'merchant_category_id_x_561', 'city_id_x_208', 'city_id_x_52', 'new_hist_month_nunique', 'city_id_x_10', 'hist_year_nunique', 'city_id_x_147', 'city_id_x_251', 'city_id_x_131', 'city_id_x_190', 'merchant_category_id_x_769', 'merchant_category_id_x_241', 'city_id_x_238', 'city_id_x_260', 'city_id_x_90', 'subsector_id_x_23', 'city_id_x_250', 'city_id_x_345', 'merchant_category_id_x_793', 'merchant_category_id_x_813', 'city_id_x_289', 'city_id_x_35', 'city_id_x_78', 'subsector_id_x_26', 'feature_2_y', 'installments_-1', 'merchant_category_id_x_795', 'new_hist_month_lag_min', 'merchant_category_id_x_415', 'subsector_id_x_12', 'city_id_x_51', 'merchant_category_id_x_333', 'city_id_x_113', 'city_id_x_21', 'city_id_x_344', 'state_id_x_23', 'installments_0', 'city_id_x_242', 'city_id_x_231', 'merchant_category_id_x_259', 'city_id_x_34', 'city_id_x_199', 'city_id_x_12', 'merchant_category_id_x_14', 'merchant_category_id_x_34', 'merchant_category_id_x_668', 'city_id_x_270', 'merchant_category_id_x_478', 'merchant_category_id_x_78', 'merchant_category_id_x_419', 'active_months_lag6_6.0', 'merchant_category_id_x_396', 'merchant_category_id_x_356', 'merchant_category_id_x_248', 'city_id_x_33', 'merchant_category_id_x_695', 'city_id_x_101', 'city_id_x_4', 'city_id_x_76', 'merchant_category_id_x_383', 'city_id_x_160', 'city_id_x_339', 'city_id_x_161', 'city_id_x_239', 'merchant_category_id_x_881', 'city_id_x_25', 'active_months_lag12_9.0', 'city_id_x_57', 'city_id_x_155', 'merchant_category_id_x_670', 'state_id_x_18', 'active_months_lag6_3.0', 'merchant_category_id_x_369', 'city_id_x_326', 'merchant_category_id_x_692', 'city_id_x_9', 'city_id_x_48', 'state_id_x_8', 'city_id_x_94', 'city_id_x_56', 'merchant_category_id_x_763', 'city_id_x_47', 'city_id_x_279', 'state_id_x_17', 'merchant_category_id_x_56', 'hist_dayofweek_nunique', 'merchant_category_id_x_411', 'city_id_x_11', 'city_id_x_341', 'city_id_x_2', 'city_id_x_204', 'merchant_category_id_x_527', 'merchant_category_id_x_319', 'merchant_category_id_x_33', 'city_id_x_13', 'city_id_x_135', 'subsector_id_x_9', 'merchant_category_id_x_166', 'merchant_category_id_x_528', 'city_id_x_304', 'city_id_x_271', 'city_id_x_40', 'merchant_category_id_x_225', 'merchant_category_id_x_529', 'merchant_category_id_x_267', 'merchant_category_id_x_416', 'merchant_category_id_x_554', 'city_id_x_26', 'city_id_x_234', 'city_id_x_288', 'city_id_x_29', 'city_id_x_174', 'city_id_x_17', 'active_months_lag12_11.0', 'city_id_x_22', 'city_id_x_200', 'city_id_x_303', 'active_months_lag3_2.0', 'merchant_category_id_x_605', 'merchant_category_id_x_40', 'state_id_x_6', 'city_id_x_170', 'city_id_x_184', 'merchant_category_id_x_171', 'city_id_x_46', 'numerical_2_min', 'merchant_category_id_x_443', 'active_months_lag6_5.0', 'city_id_x_230', 'city_id_x_24', 'city_id_x_314', 'merchant_category_id_x_480', 'city_id_x_30', 'merchant_category_id_x_703', 'city_id_x_71', 'merchant_category_id_x_312', 'merchant_category_id_x_412', 'city_id_x_194', 'merchant_category_id_x_119', 'city_id_x_327', 'merchant_category_id_x_342', 'city_id_x_210', 'merchant_category_id_x_631', 'merchant_category_id_x_531', 'merchant_category_id_x_81', 'merchant_category_id_x_363', 'city_id_x_335', 'subsector_id_x_-1', 'city_id_x_292', 'city_id_x_221', 'merchant_category_id_x_623', 'active_months_lag6_4.0', 'merchant_category_id_x_340', 'merchant_category_id_x_614', 'merchant_category_id_x_761', 'subsector_id_x_15', 'city_id_x_252', 'city_id_x_123', 'merchant_category_id_x_105', 'subsector_id_x_39', 'city_id_x_214', 'merchant_category_id_x_748', 'subsector_id_x_40', 'city_id_x_246', 'city_id_x_63', 'merchant_category_id_x_154', 'merchant_category_id_x_637', 'city_id_x_295', 'city_id_x_219', 'city_id_x_258', 'city_id_x_209', 'merchant_category_id_x_472', 'city_id_x_311', 'city_id_x_259', 'city_id_x_136', 'merchant_category_id_x_53', 'city_id_x_23', 'active_months_lag12_6.0', 'merchant_category_id_x_642', 'city_id_x_224', 'installments_11', 'merchant_category_id_x_651', 'merchant_category_id_x_357', 'merchant_category_id_x_462', 'city_id_x_248', 'city_id_x_82', 'merchant_category_id_x_126', 'city_id_x_302', 'merchant_category_id_x_823', 'merchant_category_id_x_420', 'merchant_category_id_x_320', 'active_months_lag12_8.0', 'merchant_category_id_x_60', 'merchant_category_id_x_671', 'city_id_x_42', 'feature_3_y', 'merchant_category_id_x_591', 'city_id_x_191', 'merchant_category_id_x_458', 'city_id_x_254', 'city_id_x_109', 'merchant_category_id_x_374', 'city_id_x_130', 'city_id_x_140', 'city_id_x_39', 'merchant_category_id_x_873', 'city_id_x_268', 'city_id_x_54', 'city_id_x_276', 'city_id_x_157', 'merchant_category_id_x_216', 'city_id_x_187', 'city_id_x_189', 'city_id_x_298', 'city_id_x_307', 'city_id_x_300', 'city_id_x_294', 'merchant_category_id_x_534', 'merchant_category_id_x_885', 'city_id_x_285', 'city_id_x_148', 'merchant_category_id_x_843', 'merchant_category_id_x_179', 'merchant_category_id_x_69', 'merchant_category_id_x_274', 'city_id_x_16', 'merchant_category_id_x_315', 'city_id_x_169', 'merchant_category_id_x_180', 'city_id_x_146', 'city_id_x_275', 'city_id_x_108', 'city_id_x_85', 'merchant_category_id_x_891', 'merchant_category_id_x_215', 'city_id_x_32', 'merchant_category_id_x_430', 'merchant_category_id_x_432', 'city_id_x_156', 'merchant_category_id_x_573', 'subsector_id_x_30', 'city_id_x_193', 'city_id_x_58', 'city_id_x_162', 'merchant_category_id_x_613', 'merchant_category_id_x_182', 'merchant_category_id_x_438', 'city_id_x_263', 'merchant_category_id_x_117', 'city_id_x_142', 'city_id_x_115', 'city_id_x_70', 'city_id_x_227', 'city_id_x_245', 'city_id_x_120', 'merchant_category_id_x_157', 'merchant_category_id_x_717', 'merchant_category_id_x_289', 'merchant_category_id_x_224', 'city_id_x_205', 'city_id_x_165', 'merchant_category_id_x_774', 'city_id_x_103', 'city_id_x_18', 'city_id_x_320', 'city_id_x_73', 'merchant_category_id_x_796', 'city_id_x_235', 'city_id_x_226', 'city_id_x_144', 'city_id_x_150', 'merchant_category_id_x_737', 'merchant_category_id_x_829', 'merchant_category_id_x_606', 'merchant_category_id_x_57', 'merchant_category_id_x_114', 'city_id_x_247', 'merchant_category_id_x_21', 'city_id_x_61', 'merchant_category_id_x_386', 'city_id_x_28', 'city_id_x_338', 'city_id_x_282', 'merchant_category_id_x_499', 'city_id_x_297', 'city_id_x_118', 'city_id_x_98', 'city_id_x_312', 'merchant_category_id_x_507', 'city_id_x_166', 'merchant_category_id_x_827', 'city_id_x_74', 'merchant_category_id_x_536', 'city_id_x_119', 'city_id_x_232', 'active_months_lag12_5.0', 'merchant_category_id_x_247', 'merchant_category_id_x_474', 'city_id_x_269', 'city_id_x_173', 'city_id_x_172', 'merchant_category_id_x_854', 'subsector_id_x_11', 'city_id_x_167', 'merchant_category_id_x_71', 'merchant_category_id_x_292', 'merchant_category_id_x_417', 'city_id_x_201', 'merchant_category_id_x_400', 'city_id_x_41', 'merchant_category_id_x_172', 'active_months_lag12_4.0', 'merchant_category_id_x_806', 'city_id_x_181', 'city_id_x_301', 'merchant_category_id_x_509', 'city_id_x_183', 'merchant_category_id_x_751', 'city_id_x_336', 'city_id_x_342', 'merchant_category_id_x_265', 'city_id_x_240', 'city_id_x_133', 'city_id_x_186', 'subsector_id_x_13', 'merchant_category_id_x_702', 'city_id_x_215', 'active_months_lag3_1.0', 'city_id_x_264', 'active_months_lag6_2.0', 'subsector_id_x_24', 'city_id_x_229', 'city_id_x_228', 'city_id_x_153', 'city_id_x_77', 'city_id_x_211', 'merchant_category_id_x_669', 'merchant_category_id_x_456', 'city_id_x_111', 'merchant_category_id_x_101', 'city_id_x_6', 'merchant_category_id_x_696', 'city_id_x_256', 'merchant_category_id_x_676', 'city_id_x_255', 'city_id_x_220', 'city_id_x_343', 'city_id_x_321', 'active_months_lag12_2.0', 'city_id_x_261', 'city_id_x_128', 'city_id_x_287', 'city_id_x_313', 'merchant_category_id_x_593', 'city_id_x_81', 'merchant_category_id_x_334', 'merchant_category_id_x_803', 'merchant_category_id_x_725', 'merchant_category_id_x_790', 'merchant_category_id_x_281', 'merchant_category_id_x_789', 'merchant_category_id_x_780', 'merchant_category_id_x_322', 'merchant_category_id_x_741', 'merchant_category_id_x_718', 'merchant_category_id_x_743', 'merchant_category_id_x_268', 'merchant_category_id_x_31', 'merchant_category_id_x_276', 'merchant_category_id_x_311', 'merchant_category_id_x_714', 'merchant_category_id_x_713', 'merchant_category_id_x_712', 'merchant_category_id_x_757', 'merchant_category_id_x_266', 'merchant_category_id_x_27', 'merchant_category_id_x_261', 'merchant_category_id_x_86', 'merchant_category_id_x_805', 'subsector_id_x_28', 'merchant_category_id_x_18', 'subsector_id_x_14', 'merchant_category_id_x_164', 'merchant_category_id_x_162', 'merchant_category_id_x_16', 'merchant_category_id_x_153', 'active_months_lag6_1.0', 'merchant_category_id_x_145', 'merchant_category_id_x_808', 'merchant_category_id_x_141', 'merchant_category_id_x_140', 'merchant_category_id_x_131', 'installments_999', 'active_months_lag12_3.0', 'merchant_category_id_x_109', 'merchant_category_id_x_11', 'merchant_category_id_x_183', 'merchant_category_id_x_187', 'merchant_category_id_x_190', 'merchant_category_id_x_192', 'merchant_category_id_x_260', 'merchant_category_id_x_814', 'merchant_category_id_x_817', 'merchant_category_id_x_249', 'merchant_category_id_x_83', 'merchant_category_id_x_245', 'merchant_category_id_x_847', 'merchant_category_id_x_226', 'merchant_category_id_x_875', 'merchant_category_id_x_878', 'merchant_category_id_x_223', 'merchant_category_id_x_882', 'merchant_category_id_x_220', 'merchant_category_id_x_889', 'merchant_category_id_x_201', 'merchant_category_id_x_687', 'merchant_category_id_x_355', 'merchant_category_id_x_686', 'city_id_x_306', 'merchant_category_id_x_471', 'merchant_category_id_x_580', 'merchant_category_id_x_583', 'merchant_category_id_x_587', 'city_id_x_197', 'merchant_category_id_x_59', 'merchant_category_id_x_469', 'merchant_category_id_x_464', 'city_id_x_309', 'city_id_x_92', 'merchant_category_id_x_599', 'city_id_x_310', 'city_id_x_185', 'merchant_category_id_x_601', 'city_id_x_315', 'merchant_category_id_x_603', 'city_id_x_178', 'city_id_x_175', 'city_id_x_203', 'city_id_x_293', 'city_id_x_290', 'merchant_category_id_x_579', 'merchant_category_id_x_526', 'merchant_category_id_x_523', 'city_id_x_237', 'merchant_category_id_x_530', 'merchant_category_id_x_52', 'merchant_category_id_x_514', 'city_id_x_265', 'merchant_category_id_x_513', 'city_id_x_222', 'city_id_x_273', 'merchant_category_id_x_504', 'merchant_category_id_x_542', 'merchant_category_id_x_551', 'merchant_category_id_x_498', 'merchant_category_id_x_49', 'merchant_category_id_x_482', 'city_id_x_207', 'city_id_x_316', 'city_id_x_319', 'merchant_category_id_x_457', 'city_id_x_129', 'merchant_category_id_x_662', 'merchant_category_id_x_664', 'city_id_x_122', 'city_id_x_83', 'city_id_x_84', 'merchant_category_id_x_67', 'city_id_x_86', 'city_id_x_114', 'merchant_category_id_x_351', 'city_id_x_112', 'merchant_category_id_x_348', 'city_id_x_89', 'merchant_category_id_x_345', 'merchant_category_id_x_343', 'merchant_category_id_x_685', 'city_id_x_105', 'city_id_x_104', 'merchant_category_id_x_653', 'merchant_category_id_x_115', 'merchant_category_id_x_448', 'merchant_category_id_x_358', 'merchant_category_id_x_436', 'merchant_category_id_x_421', 'merchant_category_id_x_401', 'city_id_x_44', 'merchant_category_id_x_628', 'city_id_x_49', 'merchant_category_id_x_393', 'merchant_category_id_x_634', 'city_id_x_145', 'merchant_category_id_x_381', 'city_id_x_65', 'merchant_category_id_x_37', 'city_id_x_68', 'city_id_x_139', 'merchant_category_id_x_648', 'merchant_category_id_x_36', 'merchant_category_id_x_652', 'active_months_lag12_1.0']\n\nAdditional_features = ['hist_category_1_median', 'hist_month_diff_median', 'hist_installments_skew', 'hist_purchase_amount_median', 'new_hist_month_lag_skew', 'new_hist_installments_median', 'new_hist_weekend_median', 'new_hist_month_lag_median', 'new_hist_purchase_amount_median', 'new_hist_category_1_median', 'hist_purchase_amount_skew', 'new_hist_month_diff_median', 'hist_installments_median', 'hist_month_lag_median', 'new_hist_purchase_amount_skew', 'hist_weekend_median', 'new_hist_installments_skew', 'hist_month_lag_skew']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"00874009da35913ef8dd981812adc6af05bb0448"},"cell_type":"code","source":"set(All_featrures) -  set(All_featrures_old).union(set(Additional_features))","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"#packages\nimport gc\nimport logging\nimport datetime\nimport warnings\nimport numpy as np\nimport pandas as pd\nimport seaborn as sns\nimport lightgbm as lgb\nimport matplotlib.pyplot as plt\nfrom sklearn.model_selection import StratifiedKFold\nfrom sklearn.metrics import mean_squared_error\n#settings\nwarnings.filterwarnings('ignore')\nnp.random.seed(2018)\n#logger\ndef get_logger():\n    FORMAT = '[%(levelname)s]%(asctime)s:%(name)s:%(message)s'\n    logging.basicConfig(format=FORMAT)\n    logger = logging.getLogger('main')\n    logger.setLevel(logging.DEBUG)\n    return logger\n\n\nlogger = get_logger()\n#load data\nlogger.info('Start read data')\ntrain_df = pd.read_csv('../input/train.csv')\ntest_df = pd.read_csv('../input/test.csv')\nhistorical_trans_df = pd.read_csv('../input/historical_transactions.csv')\nnew_merchant_trans_df = pd.read_csv('../input/new_merchant_transactions.csv')\n#merchant_df = pd.read_csv('../input/merchants.csv')\n\n#process NAs\nlogger.info('Start processing NAs')\n#process NAs for merchant\n#merchant_df['merchant_id'].fillna('M_ID_00a6ca8a8a',inplace=True)\n#merchant_df['category_2'].fillna(1.0, inplace=True)\n#process NA2 for transactions\nfor df in [historical_trans_df, new_merchant_trans_df]:\n    df['category_2'].fillna(1.0,inplace=True)\n    df['category_3'].fillna('A',inplace=True)\n    df['merchant_id'].fillna('M_ID_00a6ca8a8a',inplace=True)\n#define function for aggregation\ndef create_new_columns(name,aggs):\n    return [name + '_' + k + '_' + agg for k in aggs.keys() for agg in aggs[k]]\n   \n#logger.info('Aggregate merchant data')\n#aggs = {}\n#for col in ['avg_purchases_lag3', 'active_months_lag3', 'avg_purchases_lag6','active_months_lag6','avg_purchases_lag12','active_months_lag12']:\n#    aggs[col] = ['mean', 'min', 'max']\n#for col in ['subsector_id','merchant_id','merchant_category_id']:\n#    aggs[col] = ['nunique']\n\n#new_columns = create_new_columns('merch',aggs)\n#merchant_group_df = merchant_df.groupby('merchant_id').agg(aggs)\n#merchant_group_df.columns = new_columns\n#merchant_group_df.reset_index(drop=False,inplace=True)\n\n#merge merchant group data to historical transaction data\n#logger.info('merge historical trans and merchant datasets')\n#historical_trans_df = historical_trans_df.merge(merchant_group_df,on='merchant_id',how='left')\n\n#data processing historical and new merchant data\nlogger.info('process historical and new merchant datasets')\nfor df in [historical_trans_df, new_merchant_trans_df]:\n    df['purchase_date'] = pd.to_datetime(df['purchase_date'])\n    df['year'] = df['purchase_date'].dt.year\n    df['weekofyear'] = df['purchase_date'].dt.weekofyear\n    df['month'] = df['purchase_date'].dt.month\n    df['dayofweek'] = df['purchase_date'].dt.dayofweek\n    df['weekend'] = (df.purchase_date.dt.weekday >=5).astype(int)\n    df['hour'] = df['purchase_date'].dt.hour\n    df['authorized_flag'] = df['authorized_flag'].map({'Y':1, 'N':0})\n    df['category_1'] = df['category_1'].map({'Y':1, 'N':0}) \n    df['category_3'] = df['category_3'].map({'A':0, 'B':1, 'C':2}) \n    df['month_diff'] = ((datetime.datetime.today() - df['purchase_date']).dt.days)//30\n    df['month_diff'] += df['month_lag']\n#define aggregations with historical_trans_df\nlogger.info('Aggregate historical trans')\naggs = {}\n\nfor col in ['subsector_id','merchant_id','merchant_category_id']:\n    aggs[col] = ['nunique']\nfor col in ['month', 'hour', 'weekofyear', 'dayofweek', 'year']:\n    aggs[col] = ['nunique', 'mean', 'median', 'min', 'max']\n    \naggs['purchase_amount'] = ['sum','max','min','mean','var']\naggs['installments'] = ['sum','max','min','mean','var']\naggs['purchase_date'] = ['max','min']\naggs['month_lag'] = ['max','min','mean','var']\naggs['month_diff'] = ['mean', 'min', 'max', 'var']\naggs['authorized_flag'] = ['sum', 'mean', 'min', 'max']\naggs['weekend'] = ['sum', 'mean', 'min', 'max']\naggs['category_1'] = ['sum', 'mean', 'min', 'max']\naggs['category_2'] = ['sum', 'mean', 'min', 'max']\naggs['category_3'] = ['sum', 'mean', 'min', 'max']\naggs['card_id'] = ['size', 'count']\n\nfor col in ['category_2','category_3']:\n    historical_trans_df[col+'_mean'] = historical_trans_df.groupby([col])['purchase_amount'].transform('mean')\n    historical_trans_df[col+'_min'] = historical_trans_df.groupby([col])['purchase_amount'].transform('min')\n    historical_trans_df[col+'_max'] = historical_trans_df.groupby([col])['purchase_amount'].transform('max')\n    historical_trans_df[col+'_sum'] = historical_trans_df.groupby([col])['purchase_amount'].transform('sum')\n    aggs[col+'_mean'] = ['mean']    \n\nnew_columns = create_new_columns('hist',aggs)\nhistorical_trans_group_df = historical_trans_df.groupby('card_id').agg(aggs)\nhistorical_trans_group_df.columns = new_columns\nhistorical_trans_group_df.reset_index(drop=False,inplace=True)\nhistorical_trans_group_df['hist_purchase_date_diff'] = (historical_trans_group_df['hist_purchase_date_max'] - historical_trans_group_df['hist_purchase_date_min']).dt.days\nhistorical_trans_group_df['hist_purchase_date_average'] = historical_trans_group_df['hist_purchase_date_diff']/historical_trans_group_df['hist_card_id_size']\nhistorical_trans_group_df['hist_purchase_date_uptonow'] = (datetime.datetime.today() - historical_trans_group_df['hist_purchase_date_max']).dt.days\nhistorical_trans_group_df['hist_purchase_date_uptomin'] = (datetime.datetime.today() - historical_trans_group_df['hist_purchase_date_min']).dt.days\n#merge with train, test\ntrain_df = train_df.merge(historical_trans_group_df,on='card_id',how='left')\ntest_df = test_df.merge(historical_trans_group_df,on='card_id',how='left')\n\n#cleanup memory\ndel historical_trans_group_df; gc.collect()\n\n#define aggregations with new_merchant_trans_df \nlogger.info('Aggregate new merchant trans')\naggs = {}\nfor col in ['subsector_id','merchant_id','merchant_category_id']:\n    aggs[col] = ['nunique']\nfor col in ['month', 'hour', 'weekofyear', 'dayofweek', 'year']:\n    aggs[col] = ['nunique', 'mean', 'median','min', 'max']\n\n    \naggs['purchase_amount'] = ['sum','max','min','mean','var']\naggs['installments'] = ['sum','max','min','mean','var']\naggs['purchase_date'] = ['max','min']\naggs['month_lag'] = ['max','min','mean','var']\naggs['month_diff'] = ['mean', 'max', 'min', 'var']\naggs['weekend'] = ['sum', 'mean', 'min', 'max']\naggs['category_1'] = ['sum', 'mean', 'min', 'max']\naggs['category_2'] = ['sum', 'mean', 'min', 'max']\naggs['category_3'] = ['sum', 'mean', 'min', 'max']\naggs['card_id'] = ['size', 'count']\n\nfor col in ['category_2','category_3']:\n    new_merchant_trans_df[col+'_mean'] = new_merchant_trans_df.groupby([col])['purchase_amount'].transform('mean')\n    new_merchant_trans_df[col+'_min'] = new_merchant_trans_df.groupby([col])['purchase_amount'].transform('min')\n    new_merchant_trans_df[col+'_max'] = new_merchant_trans_df.groupby([col])['purchase_amount'].transform('max')\n    new_merchant_trans_df[col+'_sum'] = new_merchant_trans_df.groupby([col])['purchase_amount'].transform('sum')\n    aggs[col+'_mean'] = ['mean']\n\n\n    \nnew_columns = create_new_columns('new_hist',aggs)\nnew_merchant_trans_group_df = new_merchant_trans_df.groupby('card_id').agg(aggs)\nnew_merchant_trans_group_df.columns = new_columns\nnew_merchant_trans_group_df.reset_index(drop=False,inplace=True)\nnew_merchant_trans_group_df['new_hist_purchase_date_diff'] = (new_merchant_trans_group_df['new_hist_purchase_date_max'] - new_merchant_trans_group_df['new_hist_purchase_date_min']).dt.days\nnew_merchant_trans_group_df['new_hist_purchase_date_average'] = new_merchant_trans_group_df['new_hist_purchase_date_diff']/new_merchant_trans_group_df['new_hist_card_id_size']\nnew_merchant_trans_group_df['new_hist_purchase_date_uptonow'] = (datetime.datetime.today() - new_merchant_trans_group_df['new_hist_purchase_date_max']).dt.days\nnew_merchant_trans_group_df['new_hist_purchase_date_uptomin'] = (datetime.datetime.today() - new_merchant_trans_group_df['new_hist_purchase_date_min']).dt.days\n#merge with train, test\ntrain_df = train_df.merge(new_merchant_trans_group_df,on='card_id',how='left')\ntest_df = test_df.merge(new_merchant_trans_group_df,on='card_id',how='left')\n\n#clean-up memory\ndel new_merchant_trans_group_df; gc.collect()\ndel historical_trans_df; gc.collect()\ndel new_merchant_trans_df; gc.collect()\n#process train\nlogger.info('Process train')\ntrain_df['outliers'] = 0\ntrain_df.loc[train_df['target'] < -30, 'outliers'] = 1\ntrain_df['outliers'].value_counts()\nlogger.info('Process train and test')\n## process both train and test\nfor df in [train_df, test_df]:\n    df['first_active_month'] = pd.to_datetime(df['first_active_month'])\n    df['dayofweek'] = df['first_active_month'].dt.dayofweek\n    df['weekofyear'] = df['first_active_month'].dt.weekofyear\n    df['dayofyear'] = df['first_active_month'].dt.dayofyear\n    df['quarter'] = df['first_active_month'].dt.quarter\n    df['is_month_start'] = df['first_active_month'].dt.is_month_start\n    df['month'] = df['first_active_month'].dt.month\n    df['elapsed_time'] = (datetime.datetime.today() - df['first_active_month']).dt.days\n    df['hist_first_buy'] = (df['hist_purchase_date_min'] - df['first_active_month']).dt.days\n    df['hist_last_buy'] = (df['hist_purchase_date_max'] - df['first_active_month']).dt.days\n    df['new_hist_first_buy'] = (df['new_hist_purchase_date_min'] - df['first_active_month']).dt.days\n    df['new_hist_last_buy'] = (df['new_hist_purchase_date_max'] - df['first_active_month']).dt.days\n    for f in ['hist_purchase_date_max','hist_purchase_date_min','new_hist_purchase_date_max',\\\n                     'new_hist_purchase_date_min']:\n        df[f] = df[f].astype(np.int64) * 1e-9\n    df['card_id_total'] = df['new_hist_card_id_size']+df['hist_card_id_size']\n    df['purchase_amount_total'] = df['new_hist_purchase_amount_sum']+df['hist_purchase_amount_sum']\n\nfor f in ['feature_1','feature_2','feature_3']:\n    order_label = train_df.groupby([f])['outliers'].mean()\n    train_df[f] = train_df[f].map(order_label)\n    test_df[f] = test_df[f].map(order_label)\n##\ntrain_df.to_csv(\"train_new_extra.csv\")\ntest_df.to_csv(\"test_new_extra.csv\")\n\nprint(list(train_df.columns))\n","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","collapsed":true,"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":false},"cell_type":"code","source":"list_extra_features = list(set(train_df.columns) - set(All_featrures))\nprint(list_extra_features)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"efca21639d2a03b632ea3a5b6be9e315b21afab5"},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}