DEV Community

St Siri
St Siri

Posted on

Wine Quality Prediction โดยการใช้ Machine Learning Logistic Regression ใน Python

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

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

1. Import library และ Dataset ที่ต้องใช้

Image description

Output หน้าตาของ Dataset ที่นำเข้ามา

Image description

2. เช็คจำนวนและประเภทของชุดข้อมูล โดยแยกเป็นคอลัมน์
df.info() - จำนวนของชุดข้อมูล
df.describe().T - สำรวจการวัดทางสถิติเชิงพรรณนาของชุดข้อมูล

3. การวิเคราะห์ข้อมูล

  • Exploratory Data Analysis(EDA) เป็นแนวทางในการวิเคราะห์ข้อมูลเชิงสำรวจ ใช้เพื่อค้นหาหรือเพื่อตรวจสอบสมมติฐานโดยใช้ข้อมูลสรุปทางสถิติและการแสดงภาพกราฟิก โดยเราจะมาเช็คจำนวนค่า Null ในคอลัมน์ชุดข้อมูล

Image description

Image description

  • ลองใส่ค่าที่หายไปด้วยการหาค่าประมาณ เนื่องจากข้อมูลในแต่คอลัมน์เป็นค่าที่ต่อเนื่องกัน

Image description

Image description

  • วาด Histogram เพื่อแสดงภาพการกระจายตัวของข้อมูลที่มีค่าต่อเนื่องกันในคอลัมน์ของชุดข้อมูล

Image description

Image description

  • วาดแผนภาพการนับเพื่อแสดงภาพข้อมูลตัวเลขสำหรับคุณภาพของไวน์แต่ละชนิด

Image description

Image description

4. กรองข้อมูล

  • หลายครั้งที่ข้อมูลที่ใช้มีคุณสมบัติซ้ำซ้อน ซึ่งไม่ได้ช่วยในการเพิ่มประสิทธิภาพของการทำ Machine Learning นั่นคือเหตุผลที่เราลบบางข้อมูลออกก่อนที่จะใช้เพื่อฝึก Machine ต่อไป

Image description

Image description

จากแผนที่ความร้อนข้างต้นสามารถสรุปได้ว่า 'ความหนาแน่น' และ 'น้ำตาลที่ตกค้าง' มีความสัมพันธ์กันสูง เราจึงจะลบข้อมูลชุดนี้ออก

Image description

5. การพัฒนาแบบจำลองข้อมูล

  • เตรียมข้อมูลแยกออกเป็นข้อมูลสำหรับการฝึกและการตรวจสอบ เพื่อให้สามารถเลือกประสิทธิภาพของโมเดลที่ดีที่สุดตามกรณีการใช้งาน เราจะฝึกโมเดลการจำแนกประเภท Art Machine Learning บางส่วน จากนั้นเลือกประเภทที่ดีที่สุดโดยใช้ข้อมูลการตรวจสอบ จากนั้นจะทำการแทนคอลัมน์ที่มีประเภทข้อมูลวัตถุ ให้แทนที่ด้วย 0 และ 1 เนื่องจากมีข้อมูลเพียงสองหมวดหมู่

Image description

  • หลังจากแยกคุณสมบัติและตัวแปรเป้าหมายออกจากชุดข้อมูลแล้ว จะแบ่งออกเป็นอัตราส่วน 80:20 สำหรับการเลือกโมเดล

Image description

Image description

  • จัดระเบียบข้อมูล ทำให้ข้อมูลเป็นมาตรฐานก่อนการฝึกช่วยให้ สามารถฝึกฝนโมเดลได้อย่างเสถียรและรวดเร็วมากขึ้น

Image description

  • ฝึกโมเดล

Image description

Image description

6. การประเมินแบบจำลอง

จากการประเมินความถูกต้องข้างต้น สามารถพูดได้ว่าตัวแยกประเภท Logistic Regression และ SVC ทำงานได้ดีกว่าในบนข้อมูล Validation โดยมีความแตกต่างน้อยกว่าระหว่างข้อมูล Validation และ Training เรามาพล็อต Confusion matrix รวมถึงข้อมูล Validation โดยใช้แบบจำลอง Logistic Regression

Image description

Image description

Print การจำแนกประเภทสำหรับโมเดลที่มีประสิทธิภาพที่สุด

Image description

Image description

สรุปผล

จากการสรุปผลของ Report ข้างต้นที่ทำมาแล้วข้อมูลมีความแม่นยำโดยรวม 83% ซึ่งถือว่าเยอะพอสมควร โดยตัวเลขนี้บ่งบอกถึงเปอร์เซ็นต์ของคุณภาพไวน์ที่คาดการณ์ได้ถูกต้อง ไม่ว่าจะคุณภาพดีที่สุด และ แย่ที่สุด จากกลุ่มตัวอย่างที่มีทั้งหมด

อ้างอิง

https://www.geeksforgeeks.org/wine-quality-prediction-machine-learning/

Top comments (0)