• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer
  • Home
  • Crypto Currency
  • Technology
  • Contact
NEO Share

NEO Share

Sharing The Latest Tech News

  • Home
  • Artificial Intelligence
  • Machine Learning
  • Computers
  • Mobile
  • Crypto Currency

Individual Study — Machine Learning with Dialysis project

December 17, 2020 by systems

สกล ทัศนงาม

สวัสดีครับ ผมชื่อต้น เรียกสกลก็ได้ อยู่ปี3 คณะวิศวกรรมศาสตร์ ภาควิชาคอมพิวเตอร์ของจุฬาฯฮะ

บทความนี้จะเป็นการเล่าเรื่องเกี่ยวกับการเรียน Individual study ของภาคคอมนั่นเอง ซึ่งจะไม่ลงลึกถึงเนื้อหาหรือวิธีการทำขนาดนั้นนะครับ — ขอเล่าคร่าวๆก่อนว่า วิชานี้เนี่ย เป็นวิชาที่ค่อนข้างเปิดกว้างในเรื่องหัวข้อที่จะเรียนมากๆเลย เหมือนกับว่าเราสนใจเรียนเรื่องไหน ก็ไปติดต่ออาจารย์ แล้วเขาก็จะให้งานเล็กๆน้อยๆที่ตรงกับเรื่องที่เราสนใจมาเรียนรู้แล้วก็ฝึกทำ

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

ซึ่งน่าสนใจเลยหล่ะครับ ผมก็เลยรับปากไปว่าจะทำ

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

มันโปรเจคใหญ่กว่าที่คิดเยอะเลยนิหน่า

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

ลืมแนะนำ เพื่อนที่อยู่ทีมเดียวกับผมชื่อแจ๊คครับ เรียกได้ว่าเป็นเดอะแบกของทีมก็ว่าได้เลยหล่ะ อยากอ่านเรื่องเดียวกันของฝั่งนั้นก็สามารถไปดูได้ที่นี่นะครับ Metis Sotangkur

แต่เอาจริงๆ มันไม่ได้ยากขนาดนั้นครับ อาจารย์โปรดปรานและอาจารย์พลอยจะคอยบอกว่าควรไปอ่านอะไร อ่านที่ไหนหรือเรียนอะไรเพิ่ม และมาอัปเดตกันทุกๆสัปดาห์ โดยทีมMLเนี่ย หลักๆจะเป็นอาจารย์พลอยคอยไกด์ครับ

Start!!

โดยงานจะเริ่มจากนำข้อมูลของคุณหมอมาลง colabของเรา และclean dataให้ใช้งานได้ครับ ซึ่งข้อมูลที่คุณหมอให้มาจะอยู่ในไฟล์ Excel เป็นข้อมูลของคนไข้ และค่าต่างๆที่ได้จากการตรวจแต่ละครั้ง ซึ่งในปีนึงจะตรวจ 4 รอบ ผมก็จะนำค่าแต่ละค่าที่ตรวจได้มาเฉลี่ยกัน ให้ได้ค่า Avgerageของแต่ละตัว และใช้Least squareเพื่อหาค่า Trendของข้อมูลแต่ละตัวครับ

ตัวอย่างข้อมูลคนไข้

ทีนี้หลังจากได้ค่าที่ต้องการแล้ว จะเห็นได้ว่าบางช่องในตารางมีค่าNaN (ไม่มีข้อมูล) เราเลยทำการลบข้อมูลของคนไข้ออก ถ้ามีค่าNaN มากเกินไป และเติมค่าNaN ที่เหลือด้วยค่าเฉลี่ยของค่านั้นๆ เพื่อให้ MLของเราสามารถทำนายผลได้ครับ

ก่อน Clean ข้อมูล (ซ้าย) และหลัง Clean(ขวา)

และเราก็มีข้อมูลที่บอกว่าคนไข้คนไหนติดเชื้อจากอีกไฟล์นึง หลังจากที่ได้ข้อมูลมาครบแล้ว ก็ถึงเวลาเริ่ม Trainingแล้วครับ

Training

และก่อนเริ่ม Train อย่าลืมว่าต้องแบ่งข้อมูลออกมาเป็น Test Data กับ Train Data ด้วยนะครับ เพื่อที่โมเดลของเราจะได้ไม่เป็นการจำค่าจากที่Train มาทำนาย โดยผมจะใช้ KFold แบ่งข้อมูลออกเป็น Train 75% — Test 25% ครับ

โดยเราจะลองใช้ Model Decision Tree ในการทำนายผล เนื่องจากเป็นการทำนายประเภท Classification ที่ทำนายถูก/ผิด ประกอบกับมี featureที่เยอะ Decision Tree เลยน่าจะเหมาะกับข้อมูลตัวนี้ครับ

ทีนี้ Decision Tree ก็จะมีเทคนิคต่างๆที่จะทำให้มันทำนายผลได้ดีขึ้น ผมเลยลองเล่นอะไรหลายๆอย่างลงไปครับ โดยเราจะใช้ confusion matrix มาใช้ในการวัดผล

Decision Tree

Full Decision Tree ที่ใช้จาก library ของ sklearn ที่ยังไม่เติมอะไรลงไป
confusion matrix ของ Full Decision Tree

Filed Under: Machine Learning

Primary Sidebar

Stay Ahead: The Latest Tech News and Innovations

Cryptocurrency Market Updates: What’s Happening Now

Emerging Trends in Artificial Intelligence: What to Watch For

Top Cloud Computing Services to Secure Your Data

The Future of Mobile Technology: Recent Advancements and Predictions

Footer

  • Privacy Policy
  • Terms and Conditions

Copyright © 2025 NEO Share

Terms and Conditions - Privacy Policy