บทช่วยสอน 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 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 โดยใช้กลไกการอัปโหลดข้อมูลอย่างง่าย:

Azure Machine Learning Studio

เมื่ออัปโหลดแล้ว เราสามารถดูตัวอย่างข้อมูลได้ รูปภาพต่อไปนี้แสดงข้อมูลบางส่วนของเราที่เราเพิ่งอัปโหลด เป้าหมายของเราคือการคาดการณ์ราคาใต้คอลัมน์ E95

สตูดิโอการเรียนรู้ของเครื่อง

ขั้นตอนต่อไปของเราคือการสร้างการทดลองใหม่โดยการลากและวางโมดูลจากแผงด้านซ้ายลงในพื้นที่ทำงาน

Azure Meachine Learning

การประมวลผลข้อมูลล่วงหน้า

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

การกำหนดคุณสมบัติ

โมดูลอื่นที่ใช้ในขั้นตอนนี้ในบทช่วยสอนของเราคือโมดูล "การเลือกคุณสมบัติตามตัวกรอง" โมดูลนี้กำหนดคุณสมบัติของชุดข้อมูลที่เกี่ยวข้องกับผลลัพธ์ที่เราต้องการคาดการณ์มากที่สุด ในกรณีนี้ ดังที่คุณเห็นในภาพด้านล่าง คุณลักษณะที่เกี่ยวข้องมากที่สุดสี่ประการสำหรับค่า “E95” คือ “EDG BS”, “Oil”, “USD/HRK” และ “EUR/USD”

การเลือกคุณสมบัติตามตัวกรอง

เนื่องจาก “EDG BS” เป็นค่า “ผลผลิต” อีกค่าหนึ่งที่ไม่สามารถใช้ในการทำนาย เราจะเลือกเพียงสองรายการจากคุณสมบัติที่สำคัญที่เหลืออยู่ นั่นคือ ราคาน้ำมัน และอัตราสกุลเงินภายใต้คอลัมน์ USD/HRK

ตัวอย่างของชุดข้อมูลหลังการประมวลผลแสดงอยู่ด้านล่าง:

azure studio dataset

การเลือกและการใช้อัลกอริทึม

ขั้นตอนต่อไปของเราคือการแยกข้อมูลที่มีโดยใช้โมดูล "แยก" ข้อมูลส่วนแรก (ในกรณีของเรา 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 ไม่ว่าคุณจะชอบสภาพแวดล้อมการพัฒนาแบบใด เราขอแนะนำให้คุณสำรวจการเรียนรู้ของเครื่องและค้นหานักวิทยาศาสตร์ข้อมูลภายในของคุณ