Inspiration

 ทีมของเราเป็นการรวมตัวกันของนักศึกษา chemical engineering และนักศึกษา data scientist ซึ่งทีมของเรามุ่งหวังที่จะนำความรู้ที่ได้ศึกษานำไปใช้กับการแข่งขัน เพื่อที่จะเก็บเกี่ยวประสบการณ์การแข่งขันให้มากขึ้น รวมถึงอยากที่จะวัดระดับความรู้ความสามารถของตนเองจากการแข่งขันในครั้งนี้

What it does

 ในการทำ ML model ทางเราเริ่มจากเลือก model ในการทำนาย ได้แก่
     1. XGBRegressor                2. ExtraTreesRegressor  
     3. RandomForestRegressor       4. BaggingRegressor 
     5. GradientBoostingRegressor   6. MLPRegressor
     7. DecisionTreeRegressor       8. PolynomialFeatures_2
     9. LinearRegression            10. KNeighborsRegressor
     11. AdaBoostRegressor
โดยเลือก model จากคะแนน error LMAE ที่ดีที่สุดจาก Codalb score ซึ่งก็คือ XGBRegressor model จากนั้นจะทำการเลือก data ที่นำมาใช้ในการทำนาย เพื่อให้ score ดีที่สุด ได้แก่
     1. ลอง drop column ต่าง ๆ ออก (เทียบกับการไม่ drop column ใด ๆ ทิ้ง)
        ผลคือ drop column ในส่วนของ function group, topology ออก ให้คะแนนดีที่สุด
    2. ลองแทนค่า missing หรือค่า outlier ต่าง ๆ ด้วย mean, median, mod
       ผลคือ แทนค่าเฉพาะ column ในส่วนของ function group ด้วย mod, heat absorption ด้วย mean for 
       null, max for inf ให้คะแนนดีที่สุด
    3. ลอง split data ด้วยสัดส่วน test:train เป็น 10:90, 20:80, 30:70 และลองใช้ k-fold cross validation ผล 
       คือ สัดส่วน 20:80 ให้คะแนนดีที่สุด
    4. รวมถึงลองทำ sub model ของแต่ละ topology คือ สร้าง model1 สำหรับ topology etb, สร้าง model2 
       สำหรับ topology nbo ฯลฯ ผลสรุปคือ overfit ดังนั้นจึงไม่เลือกทำ sub model
 จากนั้นจึงทำการปรับ tuning model ผลสรุปคือการเลือกใช้
        eval_metric=mlogloss,
        max_depth=8,eta=0.1,
        max_leaves=1,min_split_loss=2,
        min_child_weight=12 
  ให้ผลที่ดีที่สุดจาก Codalab score

How we built it

 ใช้ภาษา python ในการเขียน model ทำนายทั้งหมด ผ่าน jupyter notebook โดยใช้ Libraries ต่าง ๆ ดังนี้
        Pandas                          จัดการ dataframe
        Numpy                           ใช้ Mathematical functions
        Seaborn, Matplotlib.pyplot      ทำ Visualization
        Sklearn.model_selection         ทำ train-test split
        Sklearn.preprocessing           ทำ label ข้อมูล category เป็น numerical
        sklearn.metrics                 วัด score
        Xgboost                         สร้าง model  XGBRegressor

Challenges we ran into

- เจอข้อมูล categorical ในการทำนาย regression แต่ก็สามารถแก้ไขปัญหานี้ได้ด้วยการทำ label ให้เป็น numerical
- เจอ outlier, missing data, non-normal distribution แต่ก็สามารถจัดการจน model มีประสิทธิภาพที่ดีได้

Accomplishments that we're proud of

 จากการปรับปรุง model ในรูปแบบต่าง ๆ ทางเราสามารถทำนาย y ได้อย่างแม่นยำ มีประสิทธิภาพ คือ มีค่า R square for test data set สูงถึง 0.89 และมีค่า error LMAE อยู่ที่ 1.244 (for phrase 2 in Codalab)

What we learned

 - ได้ประสบการณ์การทำ ML ที่เพิ่มขึ้น
 - ได้เรียนรู้สิ่งใหม่ ๆ จากวิทยากร ทั้งใน chemical field และ ML
 - ได้แนวความคิดหรือไอเดียในการประยุกต์ใช้ ML ใน chemical field

What's next for PENTAGON

- จะพยายามเรียนรู้และฝึกฝนฝีมือให้ดียิ่งขึ้นต่อไป

Built With

Share this project:

Updates