Neural Network with WEKA [Data Preparation]

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

เอกสารประกอบการทำ Workshop นะครับ

  • เป็นไฟล์ข้อมูลการตัดสินใจซื้อจักรยานของลูกค้ากลุ่มหนึ่ง ที่เราต้องสร้าง Model เพื่อนำมาทำนายข้อมูลชุดๆถัดไปครับ Customer_for_Std.xls

ขั้นตอนการทำงาน

1. ตรวจสอบข้อมูลก่อนเลย ใน Column ที่เป็น Nominal/Ordinal มันมีข้อมูลกี่ตัวเลือกกี่แบบ

  • Copy ข้อมูลต้นฉบับ ไปยังอีก worksheet นึง >> เลือก Column ที่ต้องการ >> Tab data >> Remove Duplicate >> กด OK
  • ทำแบบนี้จนครบทุก Column

2. สร้าง Sheet ใหม่ใน Excel ขึ้นมา และทำการ copy ข้อมูลจาก Sheet เก่า เพื่อ เอา Format ต่างๆพวก Filter ออกไป

3. ไล่ตรวจสอบใน Sheet ว่าในแต่ละ Cell มีช่องว่าง หรือไม่ ถ้ามีกำจัดให้หมด

4. ลบ Column ID ออกไป เพราะมันไม่มีค่าอะไร และจะทำให้ผลลัพธ์ที่ได้คลาดเคลื่อน

5. แบ่งข้อมูลออกเป็น 2 กลุ่ม สัดส่วน 70%/30%

  • กล่มที่1(สัดส่วน 70%) ตั้งชื่อไฟล์ Customer_for_std_train: เอาไว้ให้มันเรียนรู้ Data สร้าง Model
  • กลุ่มที่2(สัดส่วน 30%) จะมี 2 ไฟล์ย่อย ได้แก่
    - ไฟล์แรก(สัดส่วน 20%) ตั้งชื่อไฟล์ Customer_for_std_test: เอาไว้ให้มันทดสอบ Model ที่ได้ จนกว่าจะ เรายอมรับได้
    - ไฟล์ที่สอง(สัดส่วน 10%)ตั้งชื่อไฟล์ Customer_for_std_deplo: ไฟล์ที่เราเอาไว้ทดสอบ Model ของเรา

หมายเหตุ: ทั้งสามไฟล์ต้องมีหัวตารางนะ(Attribute) และ สัดส่วนในการทดสอบอาจจะกำหนดเป็นแบบอื่นก็ได้ ไม่จำเป็นต้องทำเป็นแบบนี้นะครับ ตรงนี้ผมแบ่งให้ง่ายๆ เพื่อให้ผู้อ่านเข้าใจครับ

6. บันทึกไฟล์ทั้งสาม โดยทำเป็นไฟล์ .csv(Comma-separated values)

7. นำไฟล์ทั้งสามที่ได้ ไปสร้างไฟล์ .arff ด้วย WEKA
8. ทำการเปิดโปรแกรม WEKA ไปที่ Explorer
9. ใน Tab preprocess เลือกไฟล์ Customer_for_std_train.csv จำนวน Attribute เอาไว้

10. มาที่ Tab classify เลือกอัลกอริทึมอะไรก็ได้ เช่น J48 จากนั้นกด Start รอ....

11. เมื่อเสร็จแล้วให้มาที่ Result List เลือกรายการล่าสุด คลิกขวา เลือก Visualize Classify error จากนั้นกด save ตั้งชื่อ Customer_for_std_train.arff

12. เปิดที่ได้ save จากข้อที่ 11 ด้วย Text Editor เช่น Notepad++ เราจะมากำจัด Attribute ที่เกินออกมา @attribute predictedPurchasedBike {No,Yes}
13. ลบบรรทัดนี้ทิ้ง @attribute predictedPurchasedBike {No,Yes}

14. ทำการ Copy ข้อมูลจากไฟล์ Customer_for_std_train.csv(ตั้งแต่บรรทัดที่สอง จนจบไฟล์) มาทับข้อมูลใต้บรรทัด 1@data ของไฟล์ Customer_for_std_train.arff

15. กลับไปทำข้อที่ 8 อีกครั้งจนครบทั้งสามไฟล์ ไฟล์ที่เหลือ ได้แก่ Customer_for_std_test และ Customer_for_std_deploy

หลังจากเตรียมข้อมูลเสร็จแล้วขั้นตอนต่อไป คือ การสร้าง Model นะครับ


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.