บทช่วยสอน Azure: การทำนายราคาก๊าซโดยใช้ Azure Machine Learning Studio
เผยแพร่แล้ว: 2022-03-11จะเกิดอะไรขึ้นถ้าคุณสามารถทำนายได้ว่าหุ้นที่คุณเลือกจะเพิ่มขึ้นหรือลดลงในเดือนหน้า? หรือถ้าทีมฟุตบอลโปรดของคุณจะชนะหรือแพ้ในนัดต่อไปของพวกเขา? คุณจะทำนายได้อย่างไร? บางทีแมชชีนเลิร์นนิงสามารถให้คำตอบได้ส่วนหนึ่ง Cortana ผู้ช่วยส่วนตัวดิจิทัลใหม่ที่ขับเคลื่อนโดย Bing ที่มาพร้อมกับ Windows Phone 8.1 ทำนายได้อย่างแม่นยำ 15 จาก 16 แมตช์ใน FIFA World Cup 2014
ในบทช่วยสอน Azure นี้ เราจะสำรวจฟีเจอร์และความสามารถของ Azure Machine Learning ผ่านการแก้ปัญหาที่เราเผชิญในชีวิตประจำวัน
จากมุมมองของนักพัฒนาแมชชีนเลิร์นนิง ปัญหาสามารถแบ่งออกเป็นสองกลุ่ม - ปัญหาที่สามารถแก้ไขได้โดยใช้วิธีมาตรฐาน และปัญหาที่ไม่สามารถแก้ไขได้โดยใช้วิธีมาตรฐาน น่าเสียดายที่ปัญหาในชีวิตจริงส่วนใหญ่เป็นของกลุ่มที่สอง นี่คือจุดที่แมชชีนเลิร์นนิงเข้ามามีบทบาท แนวคิดพื้นฐานคือการใช้เครื่องจักรเพื่อค้นหารูปแบบที่มีความหมายในข้อมูลในอดีตและใช้เพื่อแก้ปัญหา
ปัญหา
ราคาน้ำมันน่าจะเป็นหนึ่งในสิ่งที่อยู่ในงบประมาณของคนส่วนใหญ่แล้ว การเพิ่มขึ้นหรือลดลงอย่างต่อเนื่องสามารถส่งผลต่อราคาของของชำและบริการอื่นๆ ได้เช่นกัน มีปัจจัยมากมายที่อาจส่งผลต่อราคาน้ำมัน ตั้งแต่สภาพอากาศไปจนถึงการตัดสินใจทางการเมืองและค่าธรรมเนียมการจัดการ และปัจจัยที่คาดเดาไม่ได้โดยสิ้นเชิง เช่น ภัยธรรมชาติหรือสงคราม
แผนสำหรับบทช่วยสอนการเรียนรู้ของเครื่อง Azure นี้คือการตรวจสอบข้อมูลที่สามารถเข้าถึงได้และค้นหาความสัมพันธ์ที่สามารถใช้ประโยชน์เพื่อสร้างแบบจำลองการคาดการณ์
Azure Machine Learning Studio
Azure Machine Learning Studio คือสภาพแวดล้อมการพัฒนาแบบรวมบนเว็บ (IDE) สำหรับการพัฒนาการทดลองข้อมูล มันมีความเชื่อมโยงอย่างใกล้ชิดกับบริการคลาวด์ที่เหลือของ Azure และช่วยลดความยุ่งยากในการพัฒนาและปรับใช้โมเดลและบริการการเรียนรู้ของเครื่อง
การสร้างการทดลอง
มีห้าขั้นตอนพื้นฐานในการสร้างตัวอย่างการเรียนรู้ของเครื่อง เราจะตรวจสอบแต่ละขั้นตอนเหล่านี้ผ่านการพัฒนาแบบจำลองการคาดการณ์ราคาก๊าซของเราเอง
การรับข้อมูล
การรวบรวมข้อมูลเป็นหนึ่งในขั้นตอนที่สำคัญที่สุดในกระบวนการนี้ ความเกี่ยวข้องและความชัดเจนของข้อมูลเป็นพื้นฐานสำหรับการสร้างแบบจำลองการคาดการณ์ที่ดี Azure Machine Learning Studio มีชุดข้อมูลตัวอย่างจำนวนหนึ่ง สามารถพบชุดข้อมูลอื่นๆ ที่ยอดเยี่ยมได้ที่ archive.ics.uci.edu/ml/datasets.html
หลังจากรวบรวมข้อมูลแล้ว เราจำเป็นต้องอัปโหลดไปยัง Studio โดยใช้กลไกการอัปโหลดข้อมูลอย่างง่าย:
เมื่ออัปโหลดแล้ว เราสามารถดูตัวอย่างข้อมูลได้ รูปภาพต่อไปนี้แสดงข้อมูลบางส่วนของเราที่เราเพิ่งอัปโหลด เป้าหมายของเราคือการคาดการณ์ราคาใต้คอลัมน์ E95
ขั้นตอนต่อไปของเราคือการสร้างการทดลองใหม่โดยการลากและวางโมดูลจากแผงด้านซ้ายลงในพื้นที่ทำงาน
การประมวลผลข้อมูลล่วงหน้า
การประมวลผลข้อมูลที่มีอยู่ล่วงหน้าเกี่ยวข้องกับการปรับข้อมูลที่มีอยู่ตามความต้องการของคุณ โมดูลแรกที่เราจะใช้ในที่นี้คือ “สถิติเชิงพรรณนา” มันคำนวณข้อมูลสถิติจากข้อมูลที่มีอยู่ นอกจากโมดูล "สถิติเชิงพรรณนา" แล้ว หนึ่งในโมดูลที่ใช้กันทั่วไปคือ "ล้างข้อมูลที่ขาดหายไป" จุดมุ่งหมายของขั้นตอนนี้คือการให้ความหมายกับค่าที่หายไป (null) โดยการแทนที่ด้วยค่าอื่นหรือโดยการเอาออกทั้งหมด
การกำหนดคุณสมบัติ
โมดูลอื่นที่ใช้ในขั้นตอนนี้ในบทช่วยสอนของเราคือโมดูล "การเลือกคุณสมบัติตามตัวกรอง" โมดูลนี้กำหนดคุณสมบัติของชุดข้อมูลที่เกี่ยวข้องกับผลลัพธ์ที่เราต้องการคาดการณ์มากที่สุด ในกรณีนี้ ดังที่คุณเห็นในภาพด้านล่าง คุณลักษณะที่เกี่ยวข้องมากที่สุดสี่ประการสำหรับค่า “E95” คือ “EDG BS”, “Oil”, “USD/HRK” และ “EUR/USD”
เนื่องจาก “EDG BS” เป็นค่า “ผลผลิต” อีกค่าหนึ่งที่ไม่สามารถใช้ในการทำนาย เราจะเลือกเพียงสองรายการจากคุณสมบัติที่สำคัญที่เหลืออยู่ นั่นคือ ราคาน้ำมัน และอัตราสกุลเงินภายใต้คอลัมน์ USD/HRK
ตัวอย่างของชุดข้อมูลหลังการประมวลผลแสดงอยู่ด้านล่าง:
การเลือกและการใช้อัลกอริทึม
ขั้นตอนต่อไปของเราคือการแยกข้อมูลที่มีโดยใช้โมดูล "แยก" ข้อมูลส่วนแรก (ในกรณีของเรา 80%) จะใช้ในการฝึกโมเดล และส่วนที่เหลือจะใช้ให้คะแนนโมเดลที่ได้รับการฝึก

ขั้นตอนต่อไปนี้เป็นขั้นตอนที่สำคัญที่สุดในกระบวนการเรียนรู้ของเครื่อง Azure ทั้งหมด โมดูล "Train Model" ยอมรับพารามิเตอร์อินพุตสองตัว อย่างแรกคือข้อมูลการฝึกดิบ และอีกอันคืออัลกอริธึมการเรียนรู้ เราจะใช้อัลกอริธึม "การถดถอยเชิงเส้น" เอาต์พุตของโมดูล "Train Model" เป็นหนึ่งในพารามิเตอร์อินพุตของโมดูล "Score Model" อีกอันคือข้อมูลที่เหลือ รูปแบบคะแนนเพิ่มคอลัมน์ใหม่ให้กับชุดข้อมูล ป้ายคะแนนของเรา ค่าในคอลัมน์ "ป้ายกำกับที่ให้คะแนน" จะใกล้เคียงกับค่าของค่า E95 ที่ตรงกันมากกว่าเมื่ออัลกอริทึมการเรียนรู้ที่นำไปใช้ทำงานได้ดีกับข้อมูลที่มีอยู่
โมดูลการประเมินแบบจำลองช่วยให้เราสามารถประเมินแบบจำลองที่ได้รับการฝึกอบรมซึ่งแสดงเป็นค่าทางสถิติ หากเราดูที่ “สัมประสิทธิ์ความมุ่งมั่น” เราสามารถสรุปได้ว่ามีโอกาสประมาณ 80% ที่จะทำนายราคาที่ถูกต้องโดยใช้แบบจำลองนี้
ตอนนี้ คุ้มค่าที่จะลองใช้โมดูล "Neural Network Regression" เราจะต้องเพิ่มโมดูล "Train Model" และ "Score Model" ใหม่และเชื่อมต่อเอาต์พุตกับโมดูล "Evaluate Model" ที่มีอยู่
โมดูล "Neural Network Regression" ต้องการการกำหนดค่าอีกเล็กน้อย เนื่องจากนี่เป็นโมดูลที่สำคัญที่สุดของการทดสอบทั้งหมด จึงเป็นที่ที่เราควรมุ่งเน้นความพยายามของเรา ปรับแต่งและทดลองด้วยการตั้งค่าและการเลือกอัลกอริทึมการเรียนรู้ที่เหมาะสมโดยรวม
ในกรณีนี้ โมดูลประเมินจะให้เราเปรียบเทียบแบบจำลองที่ได้รับการฝึกอบรมทั้งสองแบบของเรา อีกครั้ง จากค่าสัมประสิทธิ์การกำหนด เราเห็นว่า Neural Networks ให้การคาดการณ์ที่แม่นยำน้อยกว่าเล็กน้อย
ณ จุดนี้ เราสามารถบันทึกโมเดลที่ผ่านการฝึกอบรมที่เลือกไว้เพื่อใช้ในอนาคตได้
เมื่อเรามีโมเดลที่ผ่านการฝึกอบรมแล้ว เราสามารถดำเนินการสร้าง "การทดสอบการให้คะแนน" ได้ ซึ่งสามารถทำได้โดยการสร้างการทดลองใหม่ตั้งแต่ต้นหรือโดยใช้ตัวช่วย Azure Machine Learning Studio เพียงเลือกรูปแบบการฝึกอบรมแล้วคลิก "สร้างการทดสอบการให้คะแนน" โมดูลใหม่ที่เราต้องการที่นี่คือ "อินพุตบริการเว็บ" และ "เอาต์พุตบริการเว็บ" เราจะเพิ่มโมดูล "คอลัมน์โครงการ" เพื่อเลือกค่าอินพุตและเอาต์พุตของเรา ค่าที่ป้อนเข้าคือน้ำมันและ USD/HRK และมูลค่าที่คาดการณ์ไว้คือค่าที่คาดการณ์ไว้ใต้คอลัมน์ "ป้ายกำกับที่ให้คะแนน" ของเอาต์พุต "รูปแบบคะแนน"
รูปภาพด้านล่างแสดงการทดสอบการให้คะแนนของเราหลังจากการปรับเปลี่ยนเล็กน้อยเหล่านี้ และหลังจากเชื่อมต่อโมดูล "ข้อมูลเข้าของบริการบนเว็บ" และ "เอาต์พุตของบริการบนเว็บ" ตามลำดับ
ฟีเจอร์ตัวช่วยดีๆ อีกตัวมาเล่น ณ จุดนี้ ด้วย "เผยแพร่บริการเว็บ" คุณสามารถสร้างบริการเว็บอย่างง่ายที่โฮสต์บนโครงสร้างพื้นฐานระบบคลาวด์ของ Azure
การทำนายข้อมูลใหม่
สุดท้าย เราสามารถทดสอบบริการเว็บการคาดคะเนของเราโดยใช้แบบฟอร์มทดสอบง่ายๆ
บทสรุป
ผ่านบทช่วยสอนการเรียนรู้ของเครื่องอย่างง่ายนี้ เราได้แสดงวิธีสร้างบริการเว็บการคาดคะเนที่ทำงานได้อย่างสมบูรณ์ Azure Machine Learning Studio ที่รวมเข้ากับแพลตฟอร์ม Azure สามารถเป็นเครื่องมือที่ทรงพลังมากสำหรับการสร้างการทดลองข้อมูล นอกจาก Machine Learning Studio แล้ว ยังมีโซลูชันแมชชีนเลิร์นนิงอื่นๆ เช่น Orange และ Tiberious ไม่ว่าคุณจะชอบสภาพแวดล้อมการพัฒนาแบบใด เราขอแนะนำให้คุณสำรวจการเรียนรู้ของเครื่องและค้นหานักวิทยาศาสตร์ข้อมูลภายในของคุณ