====== 1. Decision tree ====== ให้พัฒนาโปรแกรมเพื่อคำนวณหา decision tree เพื่อทำนายข้อมูลชุด [[http://archive.ics.uci.edu/ml/datasets/Iris|Iris]] และ [[http://archive.ics.uci.edu/ml/datasets/Adult|Adult]] โดยมีรายละเอียดดังนี้ * ให้ดาวนโหลดข้อมูลทั้งสองชุด * สำหรับข้อมูลชุด Iris ให้สุ่มข้อมูลออกมา 30% เพื่อใช้สำหรับทดสอบประสิทธิภาพ อีก 70% ที่เหลือใช้สำหรับสร้าง decision tree * สำหรับ Adult ให้ใช้ข้อมูลในแฟ้ม adult.data ในการฝึกสอน และ adult.test ในการทดสอบประสิทธิภาพ * ทำการ preprocess ข้อมูลก่อน โดยในการเตรียมข้อมูลหรือเลือกระดับการ quantization ให้พิจารณาได้จากแฟ้มข้อมูลส่วนที่ใช้ฝึกสอนเท่านั้น ห้ามดูแฟ้มสำหรับทดสอบ * ในการเตรียมอาจมีการเลือกเอา attribute บางตัวออกจากการพิจารณาก็ได้ (ทดลองดู?) * ควรจัดเก็บข้อมูลที่เตรียมแล้วให้อยู่ในรูปแบบเดียวกันสำหรับทั้งสองข้อมูลชุดทดสอบ (จะได้เขียนโปรแกรมเดียวทำงานได้สองชุด) * เขียนโปรแกรมที่อ่านไฟล์ data มาสร้าง decision tree และนำ decision tree ดังกล่าวมาใช้ในการทำนายข้อมูลส่วนทดสอบ * พยายามเขียนให้เป็นโมดูลที่สามารถนำไปใช้ได้สะดวก * ให้ทดลองและวัดอัตราความผิดพลาดของ decision tree ที่สร้างได้ เมื่อทดลองเสร็จในการส่งการบ้านให้ระบุรายละเอียดต่อไปนี้ * วิธีการ preprocess เช่น เลือก attribute อะไรบ้าง, ทำ quantization อย่างไร * อัตราความผิดพลาด * ให้แนบโปรแกรมที่ใช้สร้าง decision tree มาด้วย