แบบจำลองการทำนายโรคเบาหวานโดยใช้ Python Machine Learning

Feb 27 2023
บทนำ ในบทความนี้ เราจะเรียนรู้วิธีใช้โมเดล Train Test Split เพื่อแบ่งชุดข้อมูลออกเป็นสี่ส่วน พัฒนาโมเดลการคาดการณ์ และวิเคราะห์การคาดการณ์และชุดข้อมูลผ่านกรณีการใช้งาน กรณีการใช้งาน — คำชี้แจงปัญหา เป้าหมายของเราสำหรับบทความนี้คือการคาดคะเนว่าผู้ป่วยเป็นโรคเบาหวานหรือไม่

การแนะนำ

ในบทความนี้ เราจะเรียนรู้วิธีใช้โมเดล Train Test Split เพื่อแบ่งชุดข้อมูลออกเป็นสี่ส่วน พัฒนาแบบจำลองการคาดการณ์ และวิเคราะห์การคาดการณ์และชุดข้อมูลผ่านกรณีการใช้งาน

กรณีการใช้งาน — คำชี้แจงปัญหา

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

ข้อมูลการฝึกอบรมและการทดสอบในการเรียนรู้ของเครื่อง

การทำงานกับชุดข้อมูล อัลกอริทึมแมชชีนเลิร์นนิงเกือบทั้งหมดทำงานภายในสามขั้นตอนที่แตกต่างกัน ได้แก่ การประมวลผลข้อมูลล่วงหน้า แบบจำลองการทำนาย และการวิเคราะห์ข้อมูล ในระหว่างขั้นตอนที่ 1 ของกระบวนการ ชุดข้อมูลจะถูกแบ่งออกเป็นข้อมูลการฝึกอบรม 80% และข้อมูลการทดสอบ 20% เมื่อใช้ โมเดล Train Test Splitเราจะทำการประมวลผลข้อมูลล่วงหน้าให้เสร็จสิ้นก่อนที่จะใช้โมเดลการคาดการณ์และการวิเคราะห์ข้อมูล

ในการเริ่มการประมวลผลข้อมูลล่วงหน้า เราต้องติดตั้ง ไลบรารี Pythonสองไลบรารีก่อนโดยใช้ pip:

>>> pip ติดตั้งแพนด้า

>>> pip ติดตั้ง sklearn

หลังจากติดตั้งไลบรารีที่จำเป็นแล้ว เราจะใช้ไลบรารีแพนด้าเพื่อนำเข้าชุดข้อมูลและไลบรารี sklearn เพื่อดำเนินการแบ่งชุดข้อมูล:

หลังจากอิมพอร์ตแพ็กเกจเหล่านี้แล้ว เราจะอ่านชุดข้อมูลจากไฟล์ csv ไปยังดาต้าเฟรมของ pandas เพื่อให้สามารถเปลี่ยนแปลงและจัดการในขั้นตอนก่อนการประมวลผลได้อย่างง่ายดาย

ตอนนี้ เราจะเริ่มแบ่งชุดข้อมูลออกเป็นสองส่วน: x และ y เนื่องจากเราต้องการทำนาย "ผลลัพธ์" โดย0 คือไม่เป็นเบาหวาน และ 1 คือเบาหวานตัวแปร x ของเราจะรวมข้อมูลทั้งหมดยกเว้น "ผลลัพธ์" ในขณะที่ตัวแปร y จะเก็บเฉพาะค่า "ผลลัพธ์"

ต่อจากนั้น เราจะใช้โมเดล Train Test Split เพื่อแยกตัวแปร x ออกเป็น80% x_train และ 20% x_test จะทำเช่นเดียวกันกับตัวแปร y: 80% y_train และ 20% y_test

หากต้องการตรวจสอบสิ่งที่เกิดขึ้นจริง เราสามารถเรียกใช้ .head() หรือ .shape บนรถไฟและทดสอบเพื่อดูว่าข้อมูลมีการเปลี่ยนแปลงอย่างไรตั้งแต่เริ่มต้นบทความนี้จนถึงตอนนี้

การพัฒนาแบบจำลองการทำนาย

เมื่อแบ่งชุดข้อมูลออกเป็นสี่ส่วนเสร็จแล้ว ตอนนี้เราจะเริ่มขั้นตอนที่ 2 ของกระบวนการ เพื่อพัฒนาแบบจำลองการทำนาย เราจะใช้ แบบจำลอง Random Forest Classifierซึ่งเหมาะสำหรับการคาดการณ์การจัดหมวดหมู่ตามปัจจัยหลายอย่าง เช่น ในกรณีนี้ สำหรับการคาดคะเนของเรา

ก่อนอื่น เราจะนำเข้าแบบจำลอง Random Forest Classifier จาก sklearn หลังจากกำหนดชื่อรุ่นแล้ว ชุดข้อมูลจะถูกฝึกด้วย x_train และ y_train ของ ชุดข้อมูล เพื่อให้สามารถค้นหารูปแบบและแนวโน้มระหว่างตัวแปรอิสระต่างๆ มากมายใน x_trainและตัวแปร “Outcome” ใน y_train หลังจากกระบวนการฝึกอบรมเสร็จสิ้น เราจะใช้แบบจำลองที่ผ่านการฝึกอบรมของเราเพื่อทำนาย "ผลลัพธ์" ของข้อมูล x_test ที่ป้อนเข้าไปโดยไม่ให้ข้อมูล y_test นี่คือรหัสสำหรับทั้งหมดนี้:

ด้วยการคาดคะเนที่จัดเก็บไว้ในตัวแปร y_pred เราต้องการดูว่าการคาดคะเนของเราแม่นยำเพียงใดสำหรับข้อมูล x-_test ที่กำหนดโดยเปรียบเทียบกับผลลัพธ์จริงของ y_test เมื่อใช้เมตริกจากไลบรารี sklearn เราพบว่าแบบจำลองของเรามีความแม่นยำประมาณ 81% สำหรับการคาดคะเน

หมายเหตุ: โมเดล Radom Forest Classifier เช่นเดียวกับโมเดลการคาดการณ์ที่ซับซ้อนส่วนใหญ่ได้รับการออกแบบมาสำหรับชุดข้อมูลขนาดใหญ่ ฟังก์ชันและการคาดคะเนมีความแม่นยำมากขึ้นด้วยข้อมูลจำนวน "มากขึ้น" เนื่องจากสามารถนำข้อมูลไปใช้ฝึกและเรียนรู้ได้มากขึ้น นำไปสู่การคาดคะเนที่ดีขึ้นและแม่นยำยิ่งขึ้น

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

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

อย่างที่เราเห็นที่นี่ Confusion Matrix บอกเราว่าจำนวนครั้งที่แบบจำลองของเราทำนายบางสิ่งได้อย่างถูกต้องและผิดพลาด นอกจากนี้ Confusion Matrix ยังแสดงผลบวกปลอมและลบปลอมที่สร้างโดยโมเดล โดยอนุมานว่าต้องการข้อมูลเพิ่มเติมเพื่อแก้ไขข้อผิดพลาดเหล่านั้นอีกครั้ง

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

ในการแสดงข้อมูลนี้แบบกราฟิก:

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีแยกชุดข้อมูลไฟล์ csv ออกเป็น 4 ส่วนโดยใช้โมเดล Train Test Split สร้างโมเดลการทำนายโดยการฝึกอบรมและทดสอบ และยังใช้เทคนิคการวิเคราะห์ข้อมูลสองสามอย่างเพื่อทำความเข้าใจการคาดคะเนที่มีอยู่ .