การพยากรณ์ข้อมูลด้วยการใช้ Python

การพยากรณ์ข้อมูลด้วยการใช้ Python

ปัจจุบันศาสตร์ของการวิเคราะห์ข้อมูล (Data analysis) นั้นได้รับความนิยมเป็นอย่างมาก เนื่องจากภาคธุรกิจได้เปลี่ยนวิธีการจัดเก็บข้อมูล จากเดิมที่เป็นกระดาษ มาอยู่ในรูปของฐานข้อมูลกันเกือบหมดแล้ว เหตุผลก็คือ สามารถรับข้อมูลได้เป็นจำนวนมาก ตั้งแต่หลักสิบ จนถึงมากกว่าหลักล้านรายการต่อวัน นอกจากนี้ความเร็วในการดึงข้อมูล การค้นหา และการบันทึกข้อมูล เป็นข้อได้เปรียบของระบบ ทำให้มีผู้ใช้ฐานข้อมูลสำหรับเป็นแหล่งจัดเก็บ เป็นจำนวนมากเกือบทุกบริษัทนั่นเอง

การมี Data ในฐานข้อมูล หากเราใช้ประโยชน์ในเชิงการวิเคราะห์ จาก Data ที่ไหลไปมา เราก็อาจจะได้ความจริง (Insight) บางอย่าง ที่ทำให้ Data นั้น มีมูลค่าดั่งทองคำ ก็เป็นได้ ยกตัวอย่างเช่น ข้อมูลการขายที่เราบันทึกในแต่ละวัน หากนำมาวิเคราะห์ ทำให้เราสามารถจัดเรียงสินค้าไว้ใกล้ๆ กัน เพื่อให้หยิบง่ายขึ้น หรือนำมาจัดโปรโมชั่น เพื่อส่งผลต่อลูกค้าโดยตรงก็ได้ นอกจากนี้ยังนำมาวิเคราะห์พฤติกรรมลูกค้า หรือพยากรณ์แนวโน้มต่างๆ เพื่อกำหนดลักษณะการขายตามกระแสเหล่านั้น ทำให้เราเพิ่มยอดขายได้เป็นอย่างมาก จากการวิเคราะห์ข้อมูลเหล่านี้นั่นเอง

การวิเคราะห์ข้อมูลจำนวนมากเราจะต้องเขียนโปรแกรม เพื่อสร้างแบบจำลองข้อมูล (Model) ออกมาก่อน ซึ่งภาษาที่นิยมเราจะใช้ Python เนื่องจากเขียนง่าย และมีไลบรารี่ให้เราได้ใช้อย่างมากมาย เช่น Pandas, MatplotLib และ NumPy เป็นต้น

เรามาดูตัวอย่างการวิเคราะห์ข้อมูลด้วย Python ดังนี้ เริ่มต้นเราจะเขียนโค้ดเพื่ออ่านไฟล์ csv

data = pd.read_csv(
  'first_data.csv',
  sep='\t',
  na_values=['-'],
  parse_dates={'Datetime': ['Date', 'Time']},
  infer_datetime_format=True,
  dayfirst=True
)

จากนั้นจัดกลุ่มข้อมูลตามฟิลด์ที่กำหนด

indexed_data.groupby(['Wind dir']).size()

กำหนดค่าในแต่ละกลุ่มข้อมูลใหม่

wind_directions = {
     'N':   0. , 'NNE':  22.5, 'NE':  45. , 'ENE':  67.5 ,
     'E':  90. , 'ESE': 112.5, 'SE': 135. , 'SSE': 157.5 ,
     'S': 180. , 'SSW': 202.5, 'SW': 225. , 'WSW': 247.5 ,
     'W': 270. , 'WNW': 292.5, 'NW': 315. , 'NNW': 337.5 }

indexed_data['Wind dir'] = \
    indexed_data['Wind dir'].apply(wind_directions.get)

indexed_data.head()

สุดท้ายเราจะใช้ Pandas ร่วมกับ MatPlotlib สำหรับแสดงข้อมูลแบบ Visualization ออกมาในรูปแบบกราฟ

import matplotlib.pyplot as plt
indexed_data[['Wind spd', 'Wind gust', 'Tmp', 'Feels like']][:500].plot()

โค้ดตัวอย่างนำมาจากเว็บไซต์ http://www.somkiat.cc/cleaning-data-with-pandas สามารถติดตามต่อได้เลยครับ

ทีมงาน CodeExcellent รับให้คำปรึกษา และฝึกอบรมการเขียนโปรแกรมด้วยภาษา Python สนใจสามารถติดต่อได้ที่เบอร์โทรศัพท์ 083-082-6392, LINE: 0830826392 หรืออีเมล์ info@codeexcellent.com ได้ทุกเวลา เรายินดีให้คำปรึกษาฟรี! ครับ

Admin

Admin

ผู้ดูแลเว็บไซต์ ทำหน้าที่สร้างเนื้อหา และจัดการข้อมูลต่างๆ ของระบบ

ความคิดเห็น