บทความนี้เกี่ยวกับการใช้ภาษา R และวิทยาการข้อมูล (Data science) เพื่อนำไปใช้ในงานแมชชีนเลินนิง สอนวิธีเขียนสคริปเพื่อทำรีเกรสชันแบบง่ายและแบบโพลีโนเมียล
รีเกรสชันเป็นอัลกอริทึมพื้นฐานที่ใช้กันมากในการทำแมชชีนเลินนิง การทำรีเกรสชันในภาษา R ง่ายมากเพราะมีเพ็จเกจรีเกรสชันให้เลือกใช้ได้เป็นร้อย อาทิ รีเกรสชันอย่างง่าย รีเกรสชันแบบโพลีโนเมียล รีเกรสชันแบบมัลติวารีเอต รีเกรสชันแบบโลจิสติก ฯลฯ
รีเกรสชันที่พูดถึงในบทความนี้อยู่ในกลุ่ม OLS (Ordinary Least Squares) ซึ่งมีสูตรแบบนี้
คือค่าทำนายของตัวแปรที่ขึ้นอยู่กับการสังเกต
คือตัวทำนายที่ j ของตัวสังเกตที่ i
ตัวอินเตอร์เซพ (ค่าทำนายของ Y เมื่อตัวแปรทั้งหมดเป็นศูนย์)
โคออฟฟิเชียนของตัวทำนายที่ J
เรื่องสถิติเอาแค่นี้พอ เขียนโค้ดเลยดีกว่า ให้เปิดโปรแกรม RStduio แล้วรันคำสั่งนี้
install.packages(c("car", "gvlma", "MASS", "leaps"))
เพื่อติดตั้งแพคเก็จสี่อันที่จะใช้ ส่วนดาต้าเซตที่เราจะใช้ทำการทดสอบคือ women ซึ่งมีอยู่ในไลบราลีมาตรฐานของ R แล้ว ไม่ต้องอ่านจากภายนอก ดาต้าเซตนี้เป็นตัวอย่างน้ำหนัก-ส่วนสูงของผู้หญิงโดยเฉลี่ยทั่วไปสิบห้าคน (อายุระหว่าง 30-39) เพื่อนำมาใช้เป็นเกณฑ์เปรียบเทียบว่าผู้หญิงวัยนี้ที่มีส่วนสูงเท่านี้ควรมีน้ำหนักเท่าใด หรือมีน้ำหนักเท่านี้ควรมีส่วนสูงเท่าใด หน้าตาของดาต้าเซตเป็นแบบนี้
ต่อไปเป็นสคริปรีเกรสชันอย่างง่าย
โค้ดที่ทำฟิตติงตัวแบบจำลองคือฟังก์ชัน lm() ในบรรทัดที่ 2 บรรทัดเดียว ส่วนที่เหลือเป็นแค่การพล็อตกราฟ เมื่อรันแล้วจะได้ชาร์ทหน้าตาแบบนี้
จะเห็นว่าผลการทำนายแบบเส้นตรงโดนแค่บางจุด แต่เฉียดๆ จุดส่วนใหญ่ ถ้าเส้นโค้งเล็กน้อยอาจจะทำนายได้ดีขึ้น ซึ่งทำได้โดยปรับสูตรให้เป็นโพลีโนเมียลแบบนี้
ปรับสูตรแล้วปรับสคริปใหม่เป็นแบบนี้
เมื่อพล็อตชาร์ทจะมีหน้าตาแบบนี้
จะเห็นว่าเมื่อนำไปใช้ทำนายน้ำหนักส่วนสูง การทำงานแบบโพลีโนเมียลจะได้ผลลัพธ์ที่แม่นยำกว่ารีเกรสชันแบบง่าย
อ่านแล้วมีความเห็นหรือข้อแนะนำอะไรกรุณาใส่ในคอมเม้นต์ข้างล่างเลยครับ
Subscribe to:
Post Comments (Atom)
เตียมซอฟท์แวร์ก่อนเรียนคอร์ส Essential ML.NET
ผู้จะเรียนวิชา Essential ML.NET ทุกคนโปรดเตรียมฮาร์ดแวร์และซอฟท์แวร์ต่อไปนี้ ระบบปฏิบัติการ Windows 10 (ถ้าใช้ MacOS หรือ Linux จะไม่สามาร...
-
ผู้ทัี่จะเรียนวิชา Microsoft SQL Reporting Services (SSRS) โปรดติดตั้งซอฟต์แวร์ดังต่อไปนี้ ระบบปฏิบัติการ Windows 10 แบบ 64 บิต อัพเด...
-
บทความนี้เกี่ยวกับอินเตอร์เนตออฟติง (Internet of Things: IoT) โปรโตคอล MQTT MQTT โบรกเกอร์ อุปกรณ์อายโอที (IoT device) ขนาดเล็ก การเขีย...
-
ใครที่ลองใช้ Microsoft Power BI ในคลาวด์แล้วติดใจ ตอนนี้มีให้ใช้บนเดกส์ทอปแล้ว ในบทความนี้ผมจะสอนวิธีติดตั้ง Power BI Report Server ถ้าท่านต...
No comments:
Post a Comment