[AIviVN - Kalapa] Top 7 (with code)

kalapa

#1

Chào các bạnn,

Lời đầu tiên, mình xin cám ơn các anh chị ban tổ chức đã tạo ra sân chơi bổ ích cho mọi người tham gia, riêng cá nhân mình thì đã gain được khá nhiều kiến thức mới và cái nhìn mới.

Thực sự thì mình rất rất bất ngờ với kết quả thứ hạng top 7 của mình, vì thứ hạng public score của mình là 199 lận. Với lại ngay từ đầu mình không nghĩ là sẽ có được top cao như này vì kiến thức của mình cũng chỉ mới chập chững thôi :stuck_out_tongue:

đây là source code của mình.

Source code của mình thực ra là sự kết hợp của các ý tưởng, phát hiện, source code,… mà các bạn chia sẻ trên forum :stuck_out_tongue: khi nào có bài chia sẻ nào mới là mình đều lên hóng hớt ý tưởng xử lí data về làm thử cả. Source code ở trên là mình tham khảo dựa vào bài chia sẻ của bác pvqu47, và ý tưởng của các bác Mua_Dong_Con_Mua, và trungha :stuck_out_tongue:

What I did

Cột sống/khung xương của source code mình là WOE/IV. Mình thực sự công nhận đây quả là phương pháp rất mạnh mẽ và ít yêu cầu xử lí data nhiều (có lẽ 1 phần là do phương pháp này hay được dùng ở các bài toán credit score).

Chính vì WOE/IV khá mạnh nên mỗi lần mình xử lí data thì điểm đa phần đều giảm nên mình phải chọn lọc nhiều.

  1. FIELD_51, 52, 53 có dạng [30.955, 61.92, 61.93,…] (FIELD_52), mình replace 30.955 bằng 61.92; tuy nhiên trong quá trình thử thì mình nhận ra là nếu chỉ xử lí FIELD_52FIELD_53 thì sẽ cho điểm cao hơn.

  2. FIELD_56, 57 có dạng [0.00, 0.01, 0.02, … 0.59, 0.92] (FIELD_56), mình replace 0.92 bằng 0.59

  3. FIELD_36 trong tập train có kiểu dữ liệu là boolean, trong khi ở tập test lại là kiểu string. Nên mình format lại FIELD_36 về cùng kiểu boolean.

  4. FIELD_31 ở dạng string nhưng đều mang giá trị là ‘FALSE’, ‘None’ mình cũng format lại về thành boolean luôn.

  5. FIELD_35, FIELD_41, FIELD_42, FIELD_43, FIELD_44 là các ordinal features mang giá trị A, B, C,… Zero, One, Two,… mình đưa chúng về numeric như: A/One/I -> 1, B/Two/II -> 2,… Tuy nhiên trong quá trình thử, mình nhận thấy chỉ cần xử lí mỗi FIELD_35 thì điểm sẽ cao hơn khi xử lí hết :stuck_out_tongue:

  6. Ngoài ra, mình drop các features FIELD_7 (khó xử lí) và FIELD_32 (mang giá trị importance thấp dựa vào bài share của bác pvqu47).

  7. Model thì mình sử dụng Random Forest.

Well, tuy xử lí không nhiều và không sâu sắc nhưng đã có WOE/IV cân team :v

Cám ơn mọi người đã đọc hết bài chia sẻ nhỏ nhắn của mình :stuck_out_tongue: