You are on page 1of 34

ปฏิบัติการที่ 1

ความรู้เบื้องต้นเกี่ยวกับ Azure ML และ


ภาษาไพธอน (Python)
1. การสมัคร Azure ML Studio และการใช้งานเบื้องต้น

Microsoft Azure Machine Learning Studio หรือ Azure ML Studio เป็นเครื่องมือไว้ทำงำนด้ำน


กำรเรียนรู้ของเครื่อง (Machine Learning; ML) ของบริษัทไมโครซอฟท์ ซึ่งมีเครื่องมือ GUI-Based ให้ใช้งำน
ในรูปแบบของคลำวน์คอมพิวติงแพลตฟอร์ม (Cloud Computing Platform) ผู้ใช้งำนสำมำรถใช้บริกำรผ่ำน
โปรแกรมเว็บบรำวเซอร์ได้ทันที ช่วยให้กำรพัฒนำงำนด้ำน ML ทำได้ง่ำยขึ้น และหน่วยงำนขนำดเล็กสำมำรถมี
ML ไว้ใช้งำนได้ในรำคำที่ถูกลง
1.1 การสร้าง Azure ML Studio Account
กำรใช้งำน Microsoft Azure Machine Learning Studio มี account ให้เลือกอยู่ 3 ประเภท ได้แก่
Guest workspace, Free workspace และ Standard workspace ดังรูปที่ 1.5

รูปที่ 1.5 ประเภทของ Azure ML Studio Account


9
ปฏิบัติกำรที่ 1 Azure ML และ Python

ในที่นี้สำหรับผู้ที่เริ่มต้นศึกษำทำโปรเจคทำงด้ำน ML ที่มีข้อมูลยังไม่ใหญ่มำก (<=10 GB) ควรใช้เป็น


แบบ free account ตอนสมัครให้เลือกแบบ free workspace แล้วกด sign in ซึ่งจะได้สิทธิกำรใช้งำน คือ ฟรี
ตลอดอำยุกำรใช้งำน พื้นที่จัดเก็บข้อมูล 10 GB เขียนสคริปต์ได้ทั้งภำษำ Python และ R และPredictive web
services
กำรเข้ำใช้งำน Azure ML Studio ทำได้โดยพิมพ์ URL https://studio.azureml.net/ และทำกำร
Log in เข้ำใช้งำนระบบ จะพบหน้ำตำของโปรแกรม Azure ML Studio แสดงดังรูปที่ 1.6

รูปที่ 1.6 โปรแกรม Azure ML Studio


1.2. การทดสอบสร้าง Experiments
ใน Azure ML Studio จะมีหน้ำ Experiments เอำไว้สำหรับทำกำรทดลอง โดยกำรใช้งำนจะเป็น
GUI-Based คือ สำมำรถคลิกและลำกเอำ Module ต่ำง ๆ ที่มีใน Azure ML Studio มำต่อเข้ำด้วยกัน
นอกจำกนี้ใน Azure ML Studio ยังมีตัวอย่ำงกำรสร้ำง Experiments ต่ำง ๆ ให้นำมำศึกษำอีกด้วย เช่น

10
ปฏิบัติกำรที่ 1 Azure ML และ Python

Fraud Detection, Sentiment Analysis, Churn, Demand Estimation, Retail Forecasting และ Text
Classification เป็นต้น หน้ำต่ำงหน้ำ Experiments แสดงดังรูปที่ 1.7

รูปที่ 1.7 หน้ำต่ำง Experiments

กำรสร้ำงกำรทดลองในหน้ำ Experiment สำมำรถทำได้ตำมขั้นตอนตัวอย่ำงดังรูปที่ 1.8 ดังนี้


1) ให้คลิกเลือกเมนู Experiments
2) ให้คลิกที่ปุ่มคำสั่ง “New” ซึ่งอยู่ด้ำนล่ำงของหน้ำต่ำง Experiments
3) หน้ำต่ำงของกำรสร้ำง Experiment จะปรำกฏให้เลือกรูปแบบกำรทดลอง ในที่นี้ให้เลือกเป็นแบบ
Blank Document ซึ่งจะได้พื้นที่สำหรับทำงำนของ Experiment แสดงดังรูปที่ 1.9

11
ปฏิบัติกำรที่ 1 Azure ML และ Python

รูปที่ 1.8 ขั้นตอนกำรสร้ำง Experiment ขึ้นมำใหม่

รูปที่ 1.9 พื้นที่สำหรับทำงำน (Workspace) สำหรับ New Experiments

12
ปฏิบัติกำรที่ 1 Azure ML และ Python

ในพื้นที่สำหรับทำงำน (Workspace) ของ Experiment แบ่งได้เป็น 3 ส่วน คือ


 หมำยเลข 1 Module คือ กลุ่มของคำสั่งต่ำงๆ สำหรับใช้วิเครำะห์ข้อมูลและสร้ำงโมเดล

 หมำยเลข 2 Canvas คือ พื้นที่ทำงำนสำหรับลำกคำสั่งต่ำงๆ ของ Module ที่มีให้มำใช้ทำงำน

 หมำยเลข 3 Option คือ เป็นพื้นที่สำหรับกำหนดคุณสมบัติเพิ่มเติมให้กับคำสั่ง Module ที่ถูก

เลือกมำใช้งำน

1.3 การใช้งาน Module ต่างๆ ใน Azure ML Studio


ใน Azure ML Studio จะมี Module ต่ำงๆ ให้สำมำรถนำไปใช้งำนได้ ซึ่งแบ่งประเภทดังรูปที่ 1.10
นอกจำกนี้ถ้ำหำกต้องกำรที่จะเขียนชุดคำสั่งเองก็สำมำรถทำได้ โดย Azure ML Studio จะมี Module
Execute Python Script และ Execute R Script สำหรับกำรเขียนชุดคำสั่งด้วยตนเองด้วยภำษำ Python
และภำษำ R ตำมลำดับ

รูปที่ 1.10 Module ต่ำงๆ ใน Azure ML Studio

สำหรับกำรใช้งำน Module ต่ำงๆ ใน Azure ML Studio นั้นจะเป็นแบบคลิกและลำกมำใช้งำน ซึ่ง


สำมำรถใช้งำนได้ตำมขั้นตอนตัวอย่ำงต่อไปนี้ เช่น กำรเรียกใช้ Module Execute Python Script เพื่อสร้ำง
ชุดคำสั่งสร้ำง Data Frame สำมำรถทำตำมขั้นตอนรูปที่ 1.11 ดังนี้
1) ทำกำรเพิ่ม Module ชื่อว่ำ Execute Python Script โดยกำรคลิกและลำกมำวำงยังพื้นที่ทำงำน
2) จำกนั้นให้คลิกเลือก Module ที่เลือกมำ และให้เขียน Python script เพิ่มเติมในส่วนของในส่วน
ของ Option ของ Module (หมำยเลข 2 รูปที่ 1.11)

13
ปฏิบัติกำรที่ 1 Azure ML และ Python

รูปที่ 1.11 ตัวอย่ำงกำรใช้งำน Module Execute Python Script ใน Azure ML Studio

ในปฏิบัติกำรที่ 1.1 นี้จะเป็นกำรแสดงตัวอย่ำงกำรเขียน Python script เพื่อเก็บรำยกำรซื้อสินค้ำของ


ลูกค้ำจำนวน 4 คน ที่ซื้อส้มและแอปเปิ้ลในจำนวนที่แตกต่ำงกัน ดังตำรำงที่ 1.1

ตารางที่ 1.1 ข้อมูลรายการซื้อของลูกค้า


ลูกค้ำ ส้ม แอปเปิ้ล
1 3 0
2 2 3
3 0 7
4 1 2

14
ปฏิบัติกำรที่ 1 Azure ML และ Python

ข้อมูลในตำรำงที่ 1.1 สำมำรถนำมำสร้ำงเป็น data frame ด้วย Python script ดังนี้


1 import pandas as pd
2 def azureml_main(dataframe1 = None, dataframe2 = None):
3 data = { 'apples':[3,2,0,1],
4 'oranges':[0,3,7,2] }
5 #Converse data to DataFrame
6 purchases = pd.DataFrame(data)
7 #Show data in monitor
8 print('Dataframe: ', purchases)
9 # Return value must be of a sequence of pandas.DataFrame
10 return purchases,

รำยละเอียดของ Python script สำมำรถเขียนอธิบำยได้ ดังนี้


บรรทัดที่ 1 เป็นกำรนำเข้ำไลบำรี pandas ซึ่งเป็นไลบำรีหลักของ Python ในกำรทำงำนกับข้อมูล
บรรทัดที่ 3 – 4 กำหนดชื่อคอลัมน์และค่ำข้อมูลของแต่ละคอลัมน์เก็บไว้ตัวแปร data
บรรทัดที่ 6 นำข้อมูลที่อยู่ในตัวแปร data มำสร้ำงเป็น data frame เก็บไว้ในตัวแปร purchases
บรรทัดที่ 8 แสดงข้อมูลที่เก็บในตัวแปร purchases ออกทำงจอภำพ ตัวอย่ำงแสดงดังรูปที่ 1.12
บรรทัดที่ 10 ส่งข้อมูลที่เก็บในตัวแปร purchases ไปประมวลผลยัง Module อื่นๆ ต่อไป

รูปที่ 1.12 ตัวอย่ำง Data frame ที่ได้

1.4 การบันทึก และรันทดสอบผลการทดลอง


จำก Experiment ที่สร้ำงไว้ก่อนหน้ำ หำกต้องกำรบันทึก หรือรันทดสอบผล สำมำรถทำได้โดยคลิกที่
เมนูที่อยู่ด้ำนล่ำงหน้ำต่ำงโปรแกรม ดังรูปที่ 1.13

15
ปฏิบัติกำรที่ 1 Azure ML และ Python

รูปที่ 1.13 เมนูคำสั่งต่ำงๆ ในโปรแกรม Azure ML Studio

หำกโปรแกรมทำกำรบันทึกหรือรันทดสอบผลเสร็จเรียบร้อย และไม่เกิดข้อผิดพลำด จะแสดงสถำนะให้


ทรำบ ดังรูปที่ 1.14

รูปที่ 1.14 แสดงสถำนะรันทดสอบผล

1.5 การแสดงผลลัพธ์
หลังจำกรันทดสอบผลเสร็จเรียบร้อย สำมำรถเรียกดูผลลัพธ์ที่ได้โดยแต่ละ Module จะมีผลลัพธ์อยู่ 2
แบบ คือ แบบที่ 1 เป็นผลลัพธ์ที่ส่งต่อไปยัง Module อื่นๆ ถัดไป และแบบที่ 2 ผลลัพธ์ที่ได้จำกคำสั่งให้
แสดงผลออกทำงจอภำพ เช่น คำสั่ง ‘print()’ ของภำษำ python โดยกำรเรียกดูผลลัพธ์ของกำรทดลอง
สำมำรถทำได้โดยใช้คำสั่ง Visualize ตำมขั้นตอน ดังนี้
1) คลิกที่ปุ่มหมำยเลข (1) หรือ (2) ที่อยู่ใต้ Module เพื่อเรียกดูผลลัพธ์
2) คลิกเลือกคำสั่ง Visualize

16
ปฏิบัติกำรที่ 1 Azure ML และ Python

รูปที่ 1.15 แสดงขั้นตอนกำรเรียกดูผลลัพธ์

รูปที่ 1.16 ตัวอย่ำงผลลัพธ์แบบที่ 1 (คลิกปุ่มหมำยเลข 1)

17
ปฏิบัติกำรที่ 1 Azure ML และ Python

รูปที่ 1.17 ตัวอย่ำงผลลัพธ์แบบที่ 2 (คลิกปุ่มหมำยเลข 2)

1.6 การกาหนดชื่อ Experiment


ในแต่ละ Experiment เรำสำมำรถกำหนดชื่อได้เอง โดยสำมำรถพิมพ์ชื่อใหม่ไปแทนที่ชื่อเดิมได้เลยใน
ช่องชื่อ Experiment ซึ่งอยู่บริเวณด้ำนบนของหน้ำต่ำง Experiment ในที่นี้กำหนดเป็น “DS00:Pandas
DataFrame” ดังรูปที่ 1.18

รูปที่ 1.18 กำรกำหนดชื่อ Experiment

18
ปฏิบัติการที่ 2
การนาเข้าและสารวจข้อมูลเบื้องต้น
2 การนาเข้าชุดข้อมูลและสารวจข้อมูลเบื้องต้น
การสารวจข้อมูล (Data Exploration) เป็นขั้นตอนหนึ่งที่ต้องทาสาหรับการทา data science เพื่อให้
ทราบว่าข้อมูลที่เรานามาใช้งานเป็นอย่างไร เช่น มีกี่แถว กี่คอลัมน์ อะไรบ้าง ข้อมูลที่ใช้ได้หรือใช้ได้มีอะไรบ้าง
เป็นต้น ทั้งนี้เราสามารถใช้ Module ต่าง ๆ ที่มีใน Azure ML Studio มาช่วยทาการสารวจข้อมูลของเราได้

2.1 การนาเข้าข้อมูลจากไฟล์ CSV


ก่อนทาการวิเคราะห์หรือสร้างโมเดลใด ๆ เราจะต้องนาเข้าข้อมูลที่ต้องการเข้ามาในระบบของ Azure
ML Studio ก่อน ซึ่งข้อมูลที่นามาใช้จะต้องอยู่ในรูปแบบไฟล์ที่ระบบรองรับ เช่น *.txt, *.csv, *.tsv, *.zip,
Azure table, หรือ Hive table เป็นต้น ทาได้ตามขั้นตอน ดังรูปที่ 1.19
1) คลิกเลือกเมนู DATASETS
2) ให้คลิกที่ปุ่มคาสั่ง “New” ซึ่งอยู่ด้านล่างของหน้าต่าง Datasets
3) ให้คลิกเลือกไฟล์ข้อมูลที่จัดเก็บในเครื่องคอมพิวเตอร์และต้องนามาใช้ในระบบ
4) คลิกเลือกเมนู From Local File เพื่อนาเข้าข้อมูลที่จัดเก็บในเครื่องคอมพิวเตอร์
5) คลิกไอคอนตกลง เมื่อทาการเลือกไฟล์ข้อมูลเสร็จเรียบร้อยแล้ว
หลังจากนาเข้าข้อมูลเสร็จเรียบร้อย ไฟล์ข้อมูลที่นาเข้าไปจะแสดงอยู่ในหน้าต่างรายการ Datasets ดัง
รูปที่ 1.20

19
ปฏิบัติการที่ 2 การนาเข้าและสารวจข้อมูล

รูปที่ 1.19 แสดงขั้นตอนการนาเข้าข้อมูลที่จัดเก็บในเครื่องเข้าระบบ Azure ML Studio

รูปที่ 1.20 หน้าต่าง Datasets แสดงรายการข้อมูลที่นามาใช้ในระบบ Azure ML Studio

20
ปฏิบัติการที่ 2 การนาเข้าและสารวจข้อมูล

2.2 การเรียกใช้ข้อมูล
หลังจากที่นาเข้าข้อมูลมาในระบบ Azure ML Studio เรียบร้อยแล้ว หากต้องนาข้อมูลไปใช้งานใน
Experiment สามารถทาได้ตามขั้นตอน ดังนี้
1) คลิกที่เมนู Save Datasets -> My Datasets หรือจะพิมพ์ชื่อไฟล์ข้อมูลที่ต้องการนามาใช้ในช่อง
search experiment items ก็ได้
2) ให้คลิกและลากไฟล์ข้อมูลที่ต้องการนามาใช้มายังพื้นที่การทา Experiment ดังรูปที่ 1.21

รูปที่ 1.21 แสดงขั้นตอนการนาเข้าข้อมูลที่นาเข้าระบบ Azure ML Studio ไปใช้สร้าง Experiment

2.3 การสารวจข้อมูลเบื้องต้น
ก่อนนาข้อมูลไปวิเคราะห์หรือสร้างโมเดลใดๆ เราจาเป็นต้องทราบก่อนว่าข้อมูลที่เรานามาใช้เป็น
อย่างไร อย่างน้อย เช่น ข้อมูลมีกี่แถว กี่คอลัมน์ แต่ละคอลัมน์มีลักษณะข้อมูลเป็นประเภทใด เป็นต้น โดย
วิธีการสารวจในเบื้องต้นสามารถใช้ได้ทั้งเครื่องมือที่อยู่ใน Azure ML Studio หรือจะใช้วิธีการเขียนคาสั่งด้วย
ภาษาไพธอนก็ได้
ในปฏิบัติการที่ 1.2 จะเป็นการแสดงตัวอย่างวิธีการสารวจข้อมูลไฟล์ “Edu_figdb.csv” ซึ่งภายหลัง
จากนาข้อมูลเข้ามาในระบบเรียบร้อยแล้ว ให้สร้าง Experiment ชื่อว่า “DS02:Read data source from
CSV” จากนั้นใน Experiment ให้เรียกข้อมูลมาใช้งาน โดยให้ทาการสารวจเบื้องต้นดังนี้
2.3.1 การสารวจโดยใช้เครื่องมือ Azure ML Studio
เราสามารถตรวจสอบชุดข้อมูลที่เราใช้ทางานได้ โดยเรียกดูผ่านเมนู Visualize ดังรูปที่ 1.22 ซึง่
ผลลัพธ์จะได้ดังตัวอย่างรูปที่ 1.23

21
ปฏิบัติการที่ 2 การนาเข้าและสารวจข้อมูล

รูปที่ 1.22 การเรียกดูข้อมูล

รูปที่ 1.23 ตัวอย่างข้อมูลที่ได้จากการเรียกดูผ่านเมนู Visualize

ในรูปที่ 1.21 - 1.23 เป็นการนาข้อมูลไฟล์ Edu_figdb.csv มาใช้งานใน Experiment จากนั้นคลิก


Visualize เพื่อทาการสารวจข้อมูล ซึ่งวิธีนี้จะช่วยให้เราทาความเข้าใจกับข้อมูลเบื้องต้นได้ เช่น ข้อมูลมีกี่แถว กี่
คอลัมน์ คอลัมน์อะไรบ้าง และแต่ละคอลัมน์มีลักษณะข้อมูลเป็นอย่างไร มีข้อมูลสูญหายเกิดขึ้นหรือไม่ เป็นต้น
ทั้งนี้ในหน้าต่างของ Visualize หากทาการคลิกเลือกคอลัมน์ใด ๆ แล้ว ค่าทางสถิติของข้อมูลคอลัมน์นั้น ๆ จะ
แสดงทางด้านขวามือ ตัวอย่างดังรูปที่ 1.24 ซึ่งเป็นค่าที่ใช้อธิบายลักษณะเบื้องต้นของข้อมูล ได้แก่ ข้อมูลใน
คอลัมน์เป็นชนิดใด มีข้อมูลสูญหายหรือค่าที่ไม่ซ้ากันกี่แถว (Missing and Unique Values) ค่าเฉลี่ย (Mean),

22
ปฏิบัติการที่ 2 การนาเข้าและสารวจข้อมูล

ค่ามัธยฐาน (Median), ค่าสูงสุด (Max), ค่าส่วนเบี่ยงเบนมาตรฐาน และค่าต่าสุด (Min) ของข้อมูลเป็นเท่าไหร่


นอกจากนี้ยังสามารถกาหนดการแสดงผลข้อมูลเป็นในรูปแบบของกราฟชนิดต่างๆ ได้ด้วย
2.3.2 การสารวจข้อมูลโดยใช้การเขียน Python script
ภาษา Python จะมีไลบารีที่ชื่อว่า Pandas ซึ่งถือเป็นไลบารีหลักใช้สาหรับจัดการกับชุดข้อมูลให้พร้อม
สาหรับการนาไปวิเคราะห์หรื อสร้างเป็นโมเดลต่อไป โดยการใช้งาน Python script ใน Azure ML Studio
สามารถทาได้ตามขั้นตอนดังนี้
1) คลิกและลาก Module Execute Python Script มาใช้งานต่อจากชุดข้อมูลที่ใช้งาน
2) เชื่อมต่อ Module ของชุดข้อมูลเข้ากับ Module Execute Python Script ดังรูปที่ 1.24
3) เขียน Python script เพิ่มเติมในส่วนของ Option ของ Module

รูปที่ 1.24 ขั้นตอนการตรวจสอบชุดข้อมูลด้วยการเขียน Python Script


1. การใช้เมธอด (Methods) และแอทริบิวต์ (Attributes) ใน Data Frame
Data Frame เป็ น โครงสร้ า งหลั ก ในการเก็ บ ข้ อ มู ล ของ Pandas มี ลั ก ษณะการจั ด เก็ บ เป็ น แบบ
Spreadsheet เหมือนในโปรแกรม Excel คือ โครงสร้างการจัดเก็บข้อมูลประกอบด้วยคอลัมน์ (Columns)
และแถว (Rows) หลังจากทาการเชื่อม Module ของชุดข้อมูลเข้ากับ Module Execute Python Script ตาม
ขั้ น ตอนในรู ป ที่ 1.24 แล้ ว เราสามารถน าข้ อ มู ล มาสร้ า งเป็ น Data frame ใน Pandas ได้ โ ดยใช้ ค าสั่ ง
DataFrame() ตัวอย่างดังนี้
1 import pandas as pd
2 def azureml_main(dataframe1 = None, dataframe2 = None):
3 df = pd.DataFrame(dataframe1)
4
5 # Return value must be of a sequence of pandas.DataFrame

23
ปฏิบัติการที่ 2 การนาเข้าและสารวจข้อมูล

6 return df,
บรรทัดที่ 3 df คือ ตัวแปรที่เราใช้จัดเก็บ
pd คือ ชื่อย่อของไลบารี pandas ที่ถูกนาเข้ามาใช้ใน python script
dataframe1 คือ ข้อมูลอากิวเม้นต์ที่นามาสร้าง Data Frame

หลังจากสร้าง Data Frame เสร็จเรียบร้อย เราสามารถเรียกดูข้อมูลใน Data Frame ได้ โดยใช้เมธอด


(methods) หรือแอทริบิวต์ (attributes) ที่ Data Frame มีให้ ตัวอย่างคาสั่งที่ใช้แสดงในตารางที่ 1.2 และ
1.3
ตารางที่ 1.2 ตัวอย่างเมธอดใน Data frames
เมธอด คาอธิบาย
info() แสดงชนิดของแต่ละคอลัมน์
head([n]), tail([n]) เรียกดูข้อมูล n แถวบนสุด หรือ n แถวล่างสุด
describe() แสดงค่าทางสถิติสาหรับคอลัมน์ที่มีชนิดข้อมูลเป็นตัวเลข
max(), min() แสดงค่าสูงสุด/ต่าสุดของคอลัมน์ที่มีชนิดข้อมูลเป็นตัวเลข
mean(), median() แสดงค่าเฉลี่ย/ค่ามัธยฐานของคอลัมน์ที่มีชนิดข้อมูลเป็นตัวเลข
std() แสดงค่าส่วนเบี่ยงเบนมาตรฐานของคอลัมน์
sample([n]) แสดงข้อมูลแถวแบบสุ่ม

ตารางที่ 1.3 ตัวอย่างแอทริบิวต์ใน Data frames attribute


แอทริบิวต์ คาอธิบาย
dtypes แสดงชนิดของแต่ละคอลัมน์
columns แสดงคอลัมน์ของ Data Frame
axes แสดงชื่อแถวและชื่อคอลัมน์ของ Data Frame
ndim แสดงจานวนของมิติของ Data Frame
size แสดงจานวนข้อมูลทั้งหมดของ Data frame เช่น Data Frame
มี 384 แถว 5 คอลัมน์ size = 1920 เป็นต้น
shape แสดงจานวนแถวและคอลัมน์ของ Data Frame เช่น Data
Frame มี 384 แถว 5 คอลัมน์ shape = (384,5) เป็นต้น
values แสดงรายการข้อมูลทั้งหมดของ Data Frame

24
ปฏิบัติการที่ 2 การนาเข้าและสารวจข้อมูล

การเรียกดูข้อมูล Data Frame เราสามารถทาได้หลายรูปแบบ โดยใช้เมธอด (methods) หรือแอทริบิวต์


(attributes) ที่ Data Frame มีให้ ตัวอย่างเช่น
1) การเรียกดูข้อมูลรายละเอียดของ Data Frame
เมธอด info() และ describe() เป็นเมธอดสาหรับใช้เรียกดูรายละเอียดข้อมูลของ Data
Frame เช่น ข้อมูลมีกี่คอลัมน์ คอลัมน์อะไรบ้าง แต่ละคอลัมน์มีชนิดข้อมูลเป็นอะไร มีข้อมูลกี่แถว หรือแสดงค่า
ทางสถิติของคอลัมน์ที่มีชนิดตัวเลข เป็นต้น

1 import pandas as pd
2 def azureml_main(dataframe1 = None, dataframe2 = None):
3 df = pd.DataFrame(dataframe1)
4 df.info()
5 print(“df.describe : \n”, df.describe())
6
7 # Return value must be of a sequence of pandas.DataFrame
8 return df,

บรรทัดที่ 4 และ 5 เป็นตัวอย่างของการงานเมธอด info() และ เมธอด describe() ตามลาดับ


โดยเมธอด info() จะเป็นการระบุถึงจานวนและชนิดของคอลัมน์ข้อมูล ส่วนเมธอด describe() นั้นจะเป็นการ
ระบุถึงค่าทางสถิติของคอลัมน์ที่มีชนิดตัวเลข ตัวอย่างดังรูปที่ 1.25

(a) ผลลัพธ์จากคาสั่ง info() (b) ผลลัพธ์จากคาสั่ง describe()

รูปที่ 1.25 ตัวอย่างผลลัพธ์ที่ได้จากคาสั่ง info() และ describe()

25
ปฏิบัติการที่ 2 การนาเข้าและสารวจข้อมูล

นอกจากนี้ยังสามารถเรียกใช้งานผ่านแอทริบิวต์ dtypes ก็ได้ แต่เนื่องจากชนิดคาสั่งเป็นแบบแอทริ


บิวต์จึงมีรูปแบบการเขียนคาสั่งที่เป็นแบบเรียกใช้งานแอทริบิวต์ ตัวอย่างคาสั่งและผลลัพธ์ที่ได้ แสดงดังรูปที่
1.26

รูปที่ 1.26 ตัวอย่างผลลัพธ์ของคาสั่ง dtypes

2) การเรียกดูข้อมูลแต่ละแถวใน Data Frame


เราสามารถเรียกดูข้อมูลแต่แถวของ Data Frame ได้ ซึ่งอาจใช้คาสั่ง head([n]) หรือ
tail([n]) ก็ได้ ซึ่งเป็นคาสั่งใช้สาหรับเรียกดูข้อมูลจานวน n แถวแรกใน Data Frame โดยที่ n หมายถึงจานวน
แถวข้อมูลที่ต้องการ ตัวอย่างการใช้คาสั่ง เช่น
print(df.head())
print(df.head( 10 ))
print(df[10:15])

คาสั่งบรรทัดแรก เป็นการใช้คาสั่งเรียกดูข้อมูล 5 แถวแรก หรือ แถวลาดับที่ 0 – 4


คาสั่งบรรทัดที่ 2 เป็นการใช้คาสั่งเรียกดูข้อมูล 10 แถวแรก หรือ แถวลาดับที่ 0 - 9
คาสั่งบรรทัดที่ 3 เป็นการเรียกดูข้อมูลแบบกาหนดช่วงแถวที่ต้องการ จากตัวอย่างเป็นการ
เรียกดูข้อมูลเริ่มตั้งแต่แถวหลังอันดับที่ 10 เป็นต้นไปจนกระทั่งถึงแถวอันดับที่ 15-1=14

26
ปฏิบัติการที่ 3
การใช้งานดาต้าเฟรม
3 การเลือกคอลัมน์จาก Data Frame

การใช้งาน Data Frame เราสามารถเลือกคอลัมน์ใดคอลัมน์หนึ่งมาใช้งานได้ ซึ่งสามารถทาได้ 2 วิธี


คือ เลือกโดยใช้เครื่องมือที่มีใน Azure ML Studio และเลือกโดยการเขียนไพธอนสคริปต์ (Python Script)
3.1 การเลือกคอลัมน์จาก Data Frame โดยใช้เครื่องมือใน Azure ML Studio
ใน Azure ML Studio มี Module ที่ชื่อว่า “Select Columns in Dataset” ใช้สาหรับการเลือก
คอลัมน์ใน Data Frame มาใช้งาน ซึ่งเราสามารถใช้เครื่องมือดังกล่าวเลือกเอาเฉพาะคอลัมน์ที่เราต้องการได้
โดยมีขั้นตอนดังนี้
1) คลิกและลาก Module ชื่อว่า “Select Columns in Dataset” มาวางต่อจาก Dataset ที่เราใช้
งาน และทาการเชื่อม Module “Select Columns in Dataset” เข้ากับ Dataset ดังรูปที่ 1.27
2) ในส่วนของ Option ของ Module “Select Columns in Dataset” ให้คลิกเลือกคอลัมน์ที่
ต้องการนามาใช้งานโดยกดที่เมนู “Launch column selector”
3) ในหน้าต่าง Select columns ให้เลือกคอลัมน์ที่ต้องการใช้งาน โดยการคลิกเลือกคอลัมน์ที่ปรากฏ
อยู่ ในกล่ องด้านซ้ ายมือ เพิ่ม ไปยั ง กล่ องด้ านขวามือ โดยกดที่ปุ่ม หากต้องการย้ายคอลั มน์ กลั บ ก็ ท า
เช่นเดียวกัน แต่ให้คลิกที่ปุ่ม เพื่อย้ายกลับ
4) ทาการคลิกเลือกคอลัมน์เสร็จแล้วให้กดปุ่มตกลง

27
ปฏิบัติการที่ 3 การใช้งานดาต้าเฟรม

รูปที่ 1.27 แสดงขั้นตอนการเลือกคอลัมน์ Data Frame โดยใช้ Module Select Columns in Dataset

3.2 การเลือกคอลัมน์จาก Data Frame โดยใช้ Python script


การเลือกคอลัมน์จาก Data Frame โดยใช้คาสั่งภาษาไพธอน มีรูปแบบการใช้ 2 รูปแบบ ดังนี้
รูปแบบที่ 1 :
ชื่อ Data Frame [‘ชื่อคอลัมน์ของ Data Frame’]

รูปแบบที่ 2 :
ชื่อ Data Frame . ชื่อคอลัมน์ของ Data Frame

หมายเหตุ : เนื่องจาก Data Frame มีคาสั่งที่อยู่ในรูปของแอทริบวิ ต์ซึ่งมีรูปแบบการเขียนคาสั่งเหมือนกับคาสั่งการเลือก


คอลัมน์รูปแบบที่ 2 ดังนั้นรูปแบบคาสั่งการลือกคอลัมน์ควรใช้เป็นรูปแบบที่ 1 แทน

ตัวอย่างการใช้งานคาสั่งเลือกคอลัมน์ เช่น
print(df[‘Value’].mean())
print(df[‘Value’].std())
บรรทัดแรก เป็นการเรียกดูค่าเฉลี่ยของข้อมูลคอลัมน์ Value

28
ปฏิบัติการที่ 3 การใช้งานดาต้าเฟรม

บรรทัดที่สอง เป็นการเรียกดูค่าส่วนเบี่ยงเบนมาตรฐานของข้อมูลคอลัมน์ Value

กรณีต้องการเลือกคอลัมน์มากกว่า 1 คอลัมน์ สามารถทาได้โดยใช้คอมม่า (,) คั่นระหว่างชื่อคอลัมน์


เช่น

print(df[‘Value’, ‘Time’].count())
เป็นการใช้เมธอด count() นับจานวนข้อมูลในคอลัมน์ Value และ TIME

3.3 ตัวอย่างการเลือกคอลัมน์จาก Data frame


ในปฏิบัติการที่ 1.3 จะเป็นการแสดงตัวอย่างของการเลือกข้อมูลจาก Data frame ที่สร้างจากข้อมูล
ไฟล์ Edu_figdb.csv ซึ่งมีจานวนข้อมูลทั้งหมด 384 แถว 5 คอลัมน์ (ตัวอย่างแสดงดังรูปที่ 1.23 ในปฏิบัติการ
ที่ 1.2) โดยจะทาการเลือกข้อมูลเอาเฉพาะบางคอลัมน์เท่านั้นมาใช้งาน ได้แก่ คอลัมน์ Time, GEO และ Value
ซึง่ จะใช้ทั้งเครื่องมือ Select Columns in Dataset และการเขียนคาสั่งด้วยภาษาไพธอน ดังนี้
การใช้โมดูล Select Columns in Dataset
1) สร้ า ง Experiment ตั้ ง ชื่ อ ว่ า “DS03:Selecting Data: Column จากนั้ น ให้ เ รี ย กใช้ ข้ อ มู ล ไฟล์
Edu_figdb.csv และโมดูล Select Columns in Dataset ทาการเชื่อมต่อโมดูลดังรูปที่ 1.28
2) คลิกที่โมดูล Select Columns in Dataset เลือกเมนู Launch column selector เพื่อทาการเลือก
คอลัมน์ที่ต้องการ ซึ่งในที่นี้เลือกเอาเฉพาะคอลัมน์ Time, GEO และ Value

รูปที่ 1.28 การสร้าง Experiment แสดงการเลือกคอลัมน์จาก Data frame


29
ปฏิบัติการที่ 3 การใช้งานดาต้าเฟรม

ผลลัพธ์ที่ได้ คือ จะได้ Data frame ที่มีจานวนข้อมูลทั้งหมด 384 แถว 3 คอลัมน์ ดังรูปที่ 1.27

รูปที่ 1.29 ตัวอย่างผลลัพธ์ที่ได้จากการเลือกคอลัมน์

การเลือกคอลัมน์โดยใช้คาสั่งภาษาไพธอน
3) จาก Experiment เดิมให้สร้างการเชื่อมต่อโมดูล Execute Python Script ดังรูปที่ 1.30

รูปที่ 1.30 การสร้าง Experiment แสดงการเลือกคอลัมน์จาก Data frame ด้วยคาสั่งภาษาไพธอน

4) เขียนคาสั่งไพธอนเพื่อดาเนินการใดๆ กับข้อมูลใน Data frame ซึง่ เราสามารถดาเนินการกับทุก


คอลัมน์ใน Data frame หรือเลือกเอาเฉพาะคอลัมน์ใดคอลัมน์หนึ่งได้ เช่น
- แสดงค่าทางสถิติของทุกคอลัมน์ที่เป็นชนิดตัวเลข หรือกาหนดให้แสดงเฉพาะคอลัมน์
“Value”
30
ปฏิบัติการที่ 3 การใช้งานดาต้าเฟรม

4 print(df.describe())
5 print(‘Describe of Value: \n')
6 print(df[‘Value’].describe())

- แสดงค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของข้อมูลคอลัมน์“Value”
7 print('Mean value: \n')
8 print(df[‘Value’].mean())
9
10 print('STDEV value: \n')
11 print(df[‘Value’].std())

- นับจานวนข้อมูลเฉพาะในคอลัมน์ “Value” และ “Time”


13 print(df[['Value','TIME']].count())

ตัวอย่างผลลัพธ์ที่ได้ แสดงดังรูปที่ 1.31 และ 1.32 ตามลาดับ

(a) ค่าสถิติของทุกคอลัมน์ที่เป็นชนิดตัวเลข (b) ค่าสถิติเฉพาะของคอลัมน์ Value

รูปที่ 1.31 การแสดงค่าทางสถิติของคอลัมน์ที่เป็นชนิดตัวเลขใน Data frame

31
ปฏิบัติการที่ 3 การใช้งานดาต้าเฟรม

รูปที่ 1.32 การเลือกแสดงข้อมูลเฉพาะคอลัมน์ใดคอลัมน์หนึ่งใน Data frame

32
ปฏิบัติการที่ 4
การเรียกดูข้อมูลจากดาต้าเฟรม
4 การเรียกดูข้อมูลแบบต่างๆ จากดาต้าเฟรม

4.1 การใช้เมธอด groupby() จัดกลุ่มข้อมูล


เมธอด groupby() เป็นเมธอดใน Data Frame ที่ใช้ในการแบ่งหรือจัดกลุ่มข้อมูล ซึ่งการจัดกลุ่มข้อมูล
นั้นสามารถทาได้หลายรูปแบบ โดยรูปแบบที่ทาได้ง่ายสุด คือ จัดกลุ่มข้อมูลโดยใช้ค่าข้อมูลของคอลัมน์ใด
คอลัมน์หนึ่งเป็นเงื่อนไขในการจัดกลุ่ม ตัวอย่างเช่น
ข้อมูลใน Data Frame ที่ใช้งานเป็นดังรูปที่ 1.33

รูปที่ 1.33 ตัวอย่างข้อมูล Data Frame

เราสามารถจัดกลุ่มข้อมูลที่มีชื่อทีมเหมือนกัน โดยใช้เมธอด groupby() ได้ดังนี้


gt=df.groupby(‘Team’)
print(gt.first())
บรรทัดแรก เป็นการจัดกลุ่มข้อมูล โดยใช้ค่าในคอลัมน์ Team
บรรทัดที่สอง เป็นการพิมพ์ค่าแรกของแต่ละกลุ่มขึ้นมาแสดงดังรูปที่ 1.34

33
ปฏิบัติการที่ 4 การเรียกดูข้อมูลจากดาต้าเฟรม

รูปที่ 1.34 ตัวอย่างผลลัพธ์จากการจัดกลุ่มข้อมูลโดยใช้เมธอด groupby()

4.2 การเรียกดูข้อมูลแบบมีเงื่อนไข
การเรียกดูข้อมูลใน Data Frame เราสามารถใช้การเขียน Python script เรียกดูข้อมูลแบบระบุ
เงื่อนไขได้ โดยนาเอาตัวดาเนินการเปรียบเทียบมาใช้ในการค้นหาข้อมูลใน Data Frame ตัวอย่างเช่น ต้องการ
เรียกดูข้อมูลคอลัมน์ salary ที่มีค่ามากกว่า 120K ขึ้นไป คาสั่งสามารถเขียนได้ ดังนี้

df_sub=df[df[‘salary’] > 120000]

ตัวดาเนินการใช้สาหรับเปรียบเทียบที่ใช้ในภาษา Python และความหมาย มีดังนี้

ตัวดาเนินการ ความหมาย ตัวดาเนินการ ความหมาย


> มากกว่า >= มากกว่าหรือเท่ากับ
< น้อยกว่า <= น้อยกว่าหรือเท่ากับ
== เท่ากับ != ไม่เท่ากับ

4.3 การใช้เมธอด loc() และ iloc() เรียกดูข้อมูล


เมธอด loc() และเมธอด iloc() เป็นสาหรับใช้เรียกดูข้อมูลใน Data Frame ที่สามารถระบุช่วงแถว
หรือคอลัมน์ที่ต้องการได้ โดยตัวอย่างการใช้งาน มีดังนี้

การใช้งานเมธอด loc() เช่น


df_sub=df.loc[10:20,[‘Time’, ‘GEO’]]

ผลลัพธ์ที่ได้ คือ เป็นการแสดงข้อมูลแถวอันดับที่ 10 ไปจนกระทั่งถึงแถวอันดับที่ 20 (แถวแรกเริ่มนับ


อันดับที่ 0) ของคอลัมน์ TIME และ GEO

34
ปฏิบัติการที่ 4 การเรียกดูข้อมูลจากดาต้าเฟรม

การใช้งานเมธอด iloc() เช่น


df_sub2=df.iloc[5:10,[0,2]]

ผลลัพธ์ที่ได้ คือ เป็นการแสดงข้อมูลแถวอันดับที่ 5 ไปจนกระทั่งถึงแถวอันดับที่ 10 ของคอลัมน์อันที่ 0


(TIME) และอันดับที่ 2 (Value) ตามลาดับ ดังนี้

4.4 การจัดเรียงข้อมูล
ในการเรียกดูข้อมูลเราสามารถใช้เมธอด sort() ในการจัดเรียงข้อมูลได้ โดยตัวอย่างการใช้งาน เช่น
df_sub=df.loc[5:10,[‘TIME’,’Value’]]
df_sub_sort=df_sub.sort_values(by=’Value’, ascending=False)

จากตัวอย่างข้างต้น เป็นการเลือกข้อมูลแถวอันดับที่ 5 ไปจนกระทั่งถึงแถวอันดับที่ 10 ของคอลัมน์


TIME และ Value มาแสดงโดยจัดเรียงค่าข้อมูลในคอลัมน์ Value จากมากไปน้อย ดังนี้

35
ปฏิบัติการที่ 4 การเรียกดูข้อมูลจากดาต้าเฟรม

ทั้งนี้หากต้องจัดเรียงจากน้อยไปมาก กาหนด ascending=True แทน

4.5 ตัวอย่างการเรียกดูข้อมูลจาก Data frame


ในปฏิบัติการที่ 1.4 นี้จะเป็นตัวอย่างของการใช้เครื่องมือต่างๆใน Azure ML Studio และคาสั่งภาษา
ไพธอน ในการเรียกดูและจัดเรียงข้อมูลจาก Data frame ที่สร้างจากไฟล์ข้อมูล “Educ_figdp.csv” โดยจะทา
การเรียกดูข้อมูลในแบบต่างๆ ดังนี้
- ทาการสารวจว่าถ้าข้อมูลแบ่งตามค่าในคอลัมน์ GEO สามารถแบ่งได้เป็นกี่กลุ่ม
- คานวณหาค่าเฉลี่ยของค่าในคอลัมน์ Value ของแต่ละกลุ่มในคอลัมน์ GEO
- เรียกดูข้อมูลของคอลัมน์ GEO และ Value เริ่มตั้งแต่แถวอันดับที่ 50 ถึง 70
- เรียกดูข้อมูลของคอลัมน์ GEO และ Value แถวอันดับที่ 50 ถึง 70 โดยให้จัดเรียงข้อมูลแสดงตามค่า
ของคอลัมน์ Value จากน้อยไปมาก
- เรียกดูข้อมูลที่มี TIME เท่ากับ 2011 และ Value 5 ขึ้นไป
มีขั้นตอนการทาดังนี้
1. สร้าง Experiment ตั้งชื่อว่า “DS04:Selecting Data: Column จากนั้นให้เรียกใช้ข้อมูลไฟล์
Edu_figdb.csv และโมดูล Select Columns in Dataset ทาการเชื่อมต่อโมดูลดังรูปที่ 1.35

รูปที่ 1.35 การสร้าง Experiment แสดงการเรียกดูข้อมูลจาก Data frame ในแบบต่างๆ

2. คลิกที่โมดูล Select Columns in Dataset ทาการเลือกเฉพาะคอลัมน์ Time, GEO และ Value

3. คลิกที่โมดูล Execute Python Script เพื่อใช้คาสั่งไพธอนในการเรียกดูข้อมูลในแบบต่างๆ ดังนี้


36
ปฏิบัติการที่ 4 การเรียกดูข้อมูลจากดาต้าเฟรม

3.1 สร้าง Dataframe ด้วยคาสั่งดังนี้


df=pd.DataFrame(dataframe1)

3.2 ใช้คาสั่งไพธอนในการเรียกดูข้อมูลในแบบต่างๆ ดังนี้


- จัดกลุ่มข้อมูลที่มีค่าในคอลัมน์ GEO เหมือนกันและแสดงค่าแรกของแต่ละกลุ่ม
df_geo = df.groupby(['GEO'])
print(df_geo.first())

ผลลัพธ์ที่ได้ แสดงดังนี้

37
ปฏิบัติการที่ 4 การเรียกดูข้อมูลจากดาต้าเฟรม

- คานวณหาค่าเฉลี่ยของค่าในคอลัมน์ Value ของแต่ละกลุ่มในคอลัมน์ GEO


geo_data=df.groupby(['GEO'])[['Value']].mean()
print(geo_data)

ผลลัพธ์ที่ได้

38
ปฏิบัติการที่ 4 การเรียกดูข้อมูลจากดาต้าเฟรม

- แสดงข้อมูลของคอลัมน์ GEO และ Value เริ่มตั้งแต่แถวอันดับที่ 50 ถึง 70


df_sub=df.loc[50:70,['GEO','Value']]
print(df_sub)

ผลลัพธ์ที่ได้

39
ปฏิบัติการที่ 4 การเรียกดูข้อมูลจากดาต้าเฟรม

- แสดงข้อมูลของคอลัมน์ GEO และ Value แถวอันดับที่ 50 ถึง 70 โดยให้จัดเรียงข้อมูล


แสดงตามค่าของคอลัมน์ Value จากน้อยไปมาก
df_sub=df.loc[50:70,['GEO','Value']]
df_sub_sort=df_sub.sort_values(by='Value',ascending=True)
print(df_sub_ sort)

ผลลัพธ์ที่ได้

40
ปฏิบัติการที่ 4 การเรียกดูข้อมูลจากดาต้าเฟรม

- แสดงที่มีข้อมูล TIME เท่ากับ 2011 และ Value 5 ขึ้นไป


df_filter=df[(df['TIME']==2011) & (df['Value']>5)]
print(df_filter)

ผลลัพธ์ที่ได้

41
ปฏิบัติการที่ 4 การเรียกดูข้อมูลจากดาต้าเฟรม

-หน้าว่าง-

42

You might also like