[Part 1] การใช้งาน Google colab เบื้องต้น , ติดตั้ง Environment , เตรียมข้อมูล และ วิเคราะห์ข้อมูลเบื้องต้น
[Part 2] วิเคราะห์ข้อมูล, ตั้งสมมติฐาน และเลือกโมเดล
[Part 3] แก้ไขข้อมูล และสร้างข้อมูลใหม่
[Part 4] Data visualization
[Part 5] การคัดเลือกข้อมูล จะดรอปอะไรออกไปดีนะ?
[Part 6] การทำ Labelencoder
[Part 7] เตรียมข้อมูลเพื่อ Fit model
[Part 8] Training Model
[Part 9] Training Model แบบหลายๆ Model

จากบทความก่อนๆ เราก็ได้ลองทำกันมาหลายอย่างแล้วนะครับ เดี๋ยวบทความนี้เราจะมาทำการคัดเลือกข้อมูลกันครับ ซึ่งในส่วนนี้จะเป็นส่วนที่สำคัญที่สุดเลยครับ การทำนายจะเป็นอย่างไร ก็ขึ้นอยู่กับส่วนนี้ครับ

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

จากที่ผ่านมาเราได้คอลัมน์ต่างๆดังนี้ครับ

ID , name , category , main_category , currency , deadline , goal , launched , pledged , state , backers , country , usd pledged , usd_pledged_real , usd_goal_real , duration(days) , launch_year

เดี๋ยวเรามาเลือก Drop ข้อมูลที่ไม่จำเป็นกันครับ

  1. ID >> คุณคิดว่าเราจะได้ใช้ ID ในการทำนายมั๊ยครับ ก็คงไม่ใช่มั๊ย ฮ่าๆๆ เราก็ดรอป ID ทิ้งไปได้เลยครับ
  2. name >> สำหรับผมคิดว่า ชื่อไม่น่ามีผลกับการระดมทุนครับ หรือมีผลก็ไม่มากเท่าไหร่ เอ๊ะ หรือว่าาา.. ชื่อมีการอัปมงคล หรือไม่อัปมงคล ฮ่าๆๆ อันนี้ก็แล้วแต่ดุลพินิจเลยครับ แต่มันไม่น่าจะมีผล ผมเลยเลือกที่จะดรอปครับ
  3. main_category>> นี่มีผลแน่นอนเลยครับ ถ้าโปรเจคไหนคนเ>> ก็อาจจะทำให้คู่แข่งเยอะ ทำให้มีโอกาส Un-successful สูง
  4. currency >> ก็เหมือนกับข้อ 3 ครับ
  5. deadline >> ในที่นี้เป็นวันที่จบการระดมทุนครับ ผมมองว่ามันไม่น่าจะเกี่ยวกัน ต่างประเทศเขามีฤกษ์งามยามดีมั๊ยนะ ฮ่าๆๆ แต่สำหรับผม ผมเลือกดรอปครับ เพราะเราเรา deadline และ launched มาคำนวนเป็น duration(days) อยู่แล้วครับ
  6. goal >> อันนี้มีผลนะครับ ลองคิดดูว่าถ้าตั้งเป้าไว้สูงโอกาสสำเร็จก็ย่อมต่ำด้วยใช่มั๊ยครับ แต่ผมขออนุญาตดรอปครับ เพราะเรามี usd_goal_real อยู่แล้วครับ usd_goal_real คือ goal ที่ถูกแปลงเป็นดอลลาร์แล้วครับ
  7. launched >> อันนี้เหมือนกับข้อ 5 ครับ
  8. pledged >> pledged นี่คือจำนวนเงินที่ได้รับบริจาคครับ แต่จะเป็นสกุลเงินนั้นๆ ของโปรเจคครับ ผมมองว่าสำควรดรอปครับ เพราะเรามี usd_pledged_real ซึ่งเป็นเงินที่แปลงมาอยู่แล้วครับ
  9. state >> อันนี้ดรอปไม่ได้แน่นอนครับ เพราะส่วนนี้เราจะต้องเอาไปเทรนครับ มันคือ Target variable ครับ
  10. backers >> อันนี้ไม่ต้องดรอปนะครับ เพราะมันมีผลกับความสำเร็จครับ ถ้าผู้สนับสนุนเยอะ ก็อาจจะสำเร็จได้ครับ
  11. country >> อันนี้ไม่ดรอปครับ เพราะประเทศนี่น่าจะมีผลครับ เช่น ถ้าเราจะเลือกซื้อน้ำหอมจากปารีส และน้ำหอมจากอินเดีย แน่นอนว่าเราต้องเลือกปารีสใช่มั๊ยครับ
  12. usd pledged >> อันนี้ดรอปได้ครับ จากการที่ผมไปอ่านมา usd pledged มันคือค่าเงินที่แปลงเป็นดอลลาร์โดนอ้างอิงค่าเงินจากเว็บเองครับ ดังนั้นเราสามารถใช้ usd_pledged_real ดีกว่าครับ
  13. usd_pledged_real >> อันนี้ผมดรอปครับ อ้าววว ก็ไหนบอกจากข้อ 12 ว่าจะใช้หละ ทำไมไม่ใช้…!! นั่นก็เพราะว่าถ้าเราเอาอันนี้ไปมันจะทำให้มันเกิด Over Fitting ครับ Over Fitting คือ ประมาณว่ามันแม่นยำเกินไป ทั้งๆที่จริงๆแล้วมันไม่ใช่ เนื่องจากเราทำผิดพลาดครับ เช่นในกรณีนี้ ถ้าเรา usd_pledged_real เข้าไปเทรน คุณลองนึกภาพดูนะครับ ต่อให้เราไม่ต้องเอาเข้าไป เราก็สามารถรู้ได้ว่าโปรเจคนี้จะสำเร็จ หรือล้มเหลวได้ โดย เอา usd_pledged_real ลบกับ goal ครับ ทำให้เราไม่จำเป็นต้องใช้ Machine Leaning เลย ดังนั้นผมเลยดรอปครับ
  14. usd_goal_real >> อันนี้ไม่ดรอปครับ เพราะมีผลแน่นอน ดังที่กล่าวในข้อที่ 6
  15. duration(days) >> อันนี้ไม่ดรอปครับ เพราะระยะเวลาจะมีผลครับ ยิ่งเปิดนาน ยิ่งมีคนมาบริจาคเพิ่ม
  16. launch_year >> อันนี้มีผลนะครับ จากการทำ Data visualization เราก็เห็นกันแล้วครับว่าเทรนในแต่ละปีก็มีผลกับโปรเจค

หลังจากคัดเลือกแล้ว เราก็มาดรอป columns กันเลยครับ โดยใช้คำสั่ง

df = df.drop(['ID','name','deadline','usd_pledged_real','launched','goal','pledged','usd pledged'],1)
df.head(5)

เป็นไงครับ ง่ายใช่มั๊ย แค่คำสั่งดรอป ฮ่าๆๆ สุดท้ายก็จะเหลือตารางแค่นี้แหละครับ จริงๆแล้วในส่วนนี้ต้องใช้ประสบการณ์ในการตัดสินใจครับ ผมก็ไม่รู้ว่าผมตัดสินใจถูกมั๊ย เอาเป็นว่าถ้าใครแม่น ผมก็ขอคำชี้แนะด้วยนะครับ เดี๋ยวใน part 6 เราจะมาทำ Labelencoder กันครับ

[Data Sci workshop] มาลองใช้ google colab + Scikit learn วิเคราะห์โปรเจคที่จะ Success ในเว็บระดมทุน Kickstarter กันเถอะ [Part6]

สามารถเข้าไปดูไฟล์ Workshop ได้ที่นี่เลยยครับ >>>
https://colab.research.google.com/drive/1P09Xd-UKIrP_jQiDD43vdX91tGtd9JVX