Two-Class Decision Forest

บทที่ 19-Two-Class Decision Forest วิธีการ Classification รายได้ด้วยโมเดล Two-Class Decision Forest โดย AzureML วิธีการ Classification ข้อมูลนั้นมีหลากหลายวิธีการให้เราได้เลือกมาใช้ในการแยกข้อมูลของเราและหนึ่งในวิธีการที่นิยมถูกนำมาใช้ในการ Classification คือ Random Forest หรือ Decision Forest โมเดลที่เกิดจากการนำ Decision tree หลาย ๆ ต้นในการ Classify ข้อมูลของเราจากนั้นจะทำการโหวตผลลัพธ์ที่ได้มากที่สุดจากต้นไม้ทุกต้น ข้อมูลที่เราต้องการจะทำการ  Classify วันนี้คือชุดข้อมูลที่ชื่อว่า Adult Census Income ที่มี 32561 แถว และ 15 คอลัมน์โดยมีเป้าหมายคือต้องการแยกประเภทของรายได้ของประชากร โดยการแยกเป็น 2 ประเภทคือ ผู้ที่มีรายได้น้อยกว่าหรือเท่ากับ 50000 และผู้ที่มีรายได้มากกว่า 50000 บาท โดยข้อมูลของเรามี feature ที่ช่วยในการทำ Classification ทั้งหมด…

Two-Class Boosted Decision Tree

บทที่ 18-Two-Class Boosted Decision Tree Boosted Decision Tree เป็นโมเดลแบบ Supervised Learning method และเป็นโมเดลแบบ Ensamble แบบ Boosting หรือการนำ Weak Classifier (แม่นยำต่ำ) มาทำนายข้อมูลที่เรามีจากนั้นให้ weak ตัวใหม่แก้ไข error เรื่อย ๆ เป็น Decision Tree ต่อกันเป็นลำดับหลาย ๆ ต้น ซึ่งวิธีการนี้จะทำนายความซับซ้อนได้ดีกว่าแบบ Bagging ที่นำผลจาก Decision Tree มาโหวตกัน แต่มีข้อเสียคือใช้เวลานานกว่านั้นเองค่ะ Dataset ที่เราต้องการจะทำ Classification ในวันนี้คือ Bank Telemarketing หรือการทำการตลาดทางโทรศัพท์ของธนาคาร ซึ่งข้อมูลมีจำนวน 41188 แถว 21 คอลัมน์ และเป้าหมายที่เราต้องการคาดการณ์หรือ Classify คือลูกค้าที่ทางธนาคารโทรไปเสนอขายสินค้าทางโทรศัพท์จะสมัครรับสินค้าหรือไม่ นั้นคือ…

Save Office 365 email attachments to OneDrive

Save Office 365 email attachments to OneDrive ตอนนี้คุณสามารถเข้าถึงไฟล์แนบอีเมล Office 365 ของคุณได้อย่างง่ายดายจาก OneDrive for Business ไฟล์แนบทั้งหมดที่ส่งไปยังกล่องขาเข้า Office 365 ของคุณจะถูกบันทึกไว้ในโฟลเดอร์ที่เรียกว่าไฟล์แนบอีเมลจาก Power Automate สำหรับผู้ที่ต้องการเก็บข้อมูล ในกรณี สร้าง Group Mail ไว้แล้วต้องการเก็บเอกสารไว้แบบนี้จะสะดวกและมั่นใจได้ว่าเอกสารจะไม่หายไปไหน การสร้างก็ทำได้งานสามารถเรียกใช้ได้จาก Template ของ Power Automate ได้เลยครับ Power Automate Config จากหัวข้อ Apply to eash attachment on the email Power Automate : ช่วยให้การทำงานเป็นแบบอัตโนมัติ ลดเวลาทำงาน เพิ่มความถูกต้อง 02-440-0408 / sales@fusionsol.com Link Implement workflow…

Multiclass Logistic Regression

บทที่ 17-Multiclass Logistic Regression วิธีการ Classification คุณภาพของไวน์ด้วยโมเดล Multiclass Logistic Regression โดย AzureML Logistic Regression คือหนึ่งในโมเดลทาง Machine Learning และเป็นโมเดลแบบ Supervised Leaning ที่มีประสิทธิภาพในการการทำ Classification โมเดลหนึ่งที่สามารถแยกประเภทข้อมูลออกจากกันโดยใช้ feature ต่าง ๆ ที่เกี่ยวข้องโดยสามารถแยกข้อมูล 2 ประเภทออกจากกันใน AzureML ได้โดยใช้ module ที่มีชื่อว่า Two-Class Logistic Regression แต่ในบทความนี้เราจะไม่ได้ทำการ Classification ข้อมูลเป็นสองกลุ่มแต่เราจะทำการแยกประเภทมากกว่าสองกลุ่มโดยใช้  Multiclass Logistic Regression ข้อมูลที่เราต้องการจะทำ Classification โดยใช้ Multiclass Logistic Regression ใน AzureML มาช่วยในการแยกคุณภาพของไวน์ที่เราต้องการซึ่ง มีจำนวนข้อมูล 1599 แถวและ 12…

Two-Class Logistic Regression

บทที่ 16-Two-Class Logistic Regression วิธีการ Classification การอนุมัติเงินกู้ด้วยโมเดล Two-Class Logistic Regression โดยใช้ AzureML ในบทความนี้เราจะมาทำการ Classification โดยใช้โมเดลที่มีชื่อว่า Two-Class Logistic Regression ที่เราสามารถสร้างได้ง่าย ๆโดยใช้เครื่องมือที่มีชื่อว่า AzureML ค่ะ ซึ่งข้อมูลที่เราต้องการ Classify ในบทความนี้คือข้อมูลการอนุมัติเงินกู้ซึ่งมีจำนวน 614 แถว 13 คอลัมน์ โดยมี Target หรือเป้าหมายของการ Classification ของเราคือคอลัมน์ที่มีชื่อว่า Loan_Status โดยที่ Y แทนสถานะอนุมัติ และ N แทนสถานะไม่อนุมัติ ซึ่งมีวิธีการในการ Classification โดยใช้ AzureML ดังนี้ นำข้อมูลจากเครื่องเข้ามาที่ AzureML โดยกด NEW ตามด้วย DATASET คลิก From local…

Apple SQL Transformation

บทที่ 15-Apple SQL Transformation วิธีการแปลงให้ข้อมูลอยู่ในรูปที่เราต้องการโดยใช้ Apple SQL Transformation ใน AzureML เมื่อเรามีชุดข้อมูลชุดหนึ่งที่ต้องการจะเปลี่ยนข้อมูลให้มีรูปแบบตามที่เราต้องการและ module ที่มีอยู่ไม่สามารถแปลงให้อยู่ในรูปแบบที่เราต้องการได้ เช่นเรามีข้อมูลของไวน์ชนิดหนึ่งที่มีข้อมูลหลายคอลัมน์ที่ส่งผลต่อผลของคุณภาพและมีเป้าหมายที่เราต้องการ classification คุณภาพของไวน์ออกมาแต่คุณภาพของไวน์ใน target ของเรามีอยู่ได้ถูกกำหนดคุณภาพของไวน์โดยให้ค่าเป็นเลข 3-8 โดย 3 หมายถึงไวน์ที่มีคุณภาพต่ำ และ 8  หมายถึงไวน์ที่มีคุณภาพสูง ซึ่งคุณภาพเหล่านี้ถูกแบ่งเป็น 6 กลุ่ม ดังรูป เมื่อเราจะ  classification ออกเป็น 6 กลุ่มอาจทำให้ค่าความถูกต้องและผลของการ classification ไม่ดีเท่าที่ควร เราจึงต้องการจัดกลุ่มของคุณภาพไวน์ใหม่โดยกำหนดให้ 3 และ 4 คือคุณภาพต่ำ, 5 และ 6 คือมาตรฐาน, 7 และ 8 คือคุณภาพสูง สิ่งที่เราต้องการเหล่านี้สามารถทำได้โดยใช้ module ที่มีชื่อว่า Apply SQL Transformation…

How to use Tune Hyperparameter by AzureML

บทที่ 14-How to use Tune Hyperparameter by AzureML วิธีการใช้ Tune Hyperparameter ใน AzureML ในบทความนี้หลาย ๆ คนคงสงสัย  Tune Hyperparameter หรือตัว Hyperparameter นั้นคืออะไรและมีผลอะไรในการสร้างโมเดลของเรา และวิธีการใช้เป็นอย่างไร ในบทความนี้สามารถช่วยไขข้อสงสัยนี้ได้ค่ะ จากหลาย ๆ บทความที่ผ่านมาเราคงจะได้เห็นว่าทุกโมเดลที่เราใช้มีการปรับ parameter มากมายที่เราต้องกำหนดค่าให้เหมาะกับข้อมูลของเรา แล้วเราจะรู้ได้อย่างไรว่า ค่า Parameter ต่าง ๆ ต้องเป็นค่าเท่าไหร่ถึงจะเหมาะสมกับข้อมูลของเรา ปัญหาเหล่านี้สามารถแก้ไขได้ด้วยการใช้ module ที่ชื่อว่า Tune Model Hyperparameters ค่ะ Tune Model Hyperparameters ช่วยให้เราสามารถเลือกส่วนประกอบหรือเลือก parameter ที่ดีที่สุด นั่นคือช่วยในการกำหนดค่า parameter ที่หลากหลายที่สุดเท่าที่จะเป็นไปได้ หรือเราเรียกว่า Hyperparameter optimization โดย Tune…

SMOTE with AzureML

บทที่ 13-SMOTE with AzureML วิธีการจัดการกับ Dataset ที่ไม่สมดุลกันด้วย SMOTE โดยใช้ AzureML ในกระบวนการเตรียมข้อมูลปัญหาที่เราสามารถพบได้และเราควรทำการแก้ไขมันคือ การที่ dataset มีจำนวนไม่สมดุลกัน เช่น ข้อมูลแรกมี 99 % และอีกข้อมูลมี 1%  ซึ่งการที่จำนวนข้อมูล  2 class ทำให้ผลจากการ classify เกิดการทำนายที่ลำเอียด และความแม่นยำที่อาจทำให้เราเข้าใจผิดได้ ซึ่งข้อมูลที่เป็นแบบนี้ตัวอย่างเช่น การฉ้อโกงบัตรเครดิต ข้อบกพร่องในการผลิต การวินิจฉัยโรคที่หาอยาก ภัยพิบัติทางธรรมชาติ  การลงทะเบียนกับสถาบันชั้นนำ ซึ่งวิธีการแก้ปัญหาเล่านี้เราจะทำได้โดยการเพิ่มเสียงส่วนน้อยหรือลดเสียงส่วนใหญ่ซึ่งวิธีการเพิ่มเสียงส่วนน้อยเราสามารถทำได้โดยการใช้วิธีที่เรียกว่า Synthetic Minority  Oversampling Technique (SMOTE) ซึ่งมีวิธีการคือ ระบุ feature vector และ จุดที่ใกล้ที่สุด ใช้ความแตกต่างระหว่างทั้งสอง คูณความแตกต่างด้วยตัวเลขสุ่มระหว่าง 0 ถึง 1 ระบุจุดใหม่บนส่วนของเส้นตรงโดยการเพิ่มหมายเลขสุ่มลงใน feature vector ทำซ้ำขั้นตอนสำหรับ feature…

Outliers

บทที่ 12-Outliers วิธีการจัดการกับ Outliers ด้วย AzureML เมื่อเราต้องการวิเคราะห์หรือสร้างโมเดลเพื่อใช้ในการทำนายนั้น เรามักจะมีปัญหาที่พบบ่อย ๆ และต้องจัดการกับมัน คือ Outliers Outliers คือข้อมูลที่มีระยะห่างจากข้อมูลตัวอื่น ๆ มากและส่งผลต่อผลการทำนายของเรา ซึ่งทำให้ผลการทำนายของเรามีความคาดเคลื่อนมาก โดยวิธีการแก้ปัญหานี้ คือ การ visualize เพื่อดูข้อมูลจากกราฟ การกำหนดไม่ให้มีค่าเกิน Percentile ที่เราต้องการ ซึ่งวิธีการเหล่านี้สามารถทำได้โดยใช้ module ที่ชื่อว่า Clip Values โดยตัวอย่างที่เราจะแสดงให้เห็นการจัดการกับ outliers คือ Employee Dataset เมื่อเรา visualize ดู  ข้อมูลคอลัมน์ Years of Experience กับ Monthly Income เราจะได้กราฟดังนี้ จากกราฟข้างต้นเราจะพบว่ามี outliers จำนวน 4 ข้อมูลในวงกลมสีแดง ซึ่งเป็นข้อมูลที่เราต้องการจะจัดการโดยในข้อมูลนี้วิธีการดังนี้ นำข้อมูล Employee Dataset…

how to reduce dimension with PCA

บทที่ 10-how to reduce dimension with PCA การลด Dimension ของข้อมูลด้วยการทำ PCA ใน AzureML ในการจัดการกับข้อมูลขนาดใหญ่มาก ๆ นั้นสิ่งที่เกิดขึ้นเป็นประจำคือข้อมูลเหล่านั้นมีจำนวน Feature หรือจำนวน dimension เป็นจำนวนมากอาจจะมีจำนวนเป็นหลักร้อยหรือหลักพัน ซึ่งหากเรานำข้อมูลที่มีจำนวน dimension มาวิเคราะห์อาจทำให้ผลลัพธ์ที่ได้มีความแม่นยำน้อยลง ใช้เวลาในการ RUN ข้อมูลที่นานและอาจทำให้เกิดการ Overfitting ได้ ดังนั้นเราจึงต้องทำการลด dimension ของข้อมูลก่อนที่จะนำข้อมูลของเราไปวิเคราะห์หรือสร้างโมเดลโดยการใช้วิธีที่ชื่อว่า Principal Component Analysis (PCA) สร้าง coordinates สำหรับข้อมูลใหม่ แสดงโครงสร้างภายในของข้อมูลที่อธิบาย variance ของข้อมูลได้ดีที่สุด ลดจำนวน dimension ของข้อมูล ซึ่งการทำ PCA ใน AzureML เราจะใช้ module ที่ชื่อว่า Principal Component Analysis ซึ่งมาวิธีการดังนี้…