Thursday, August 27, 2015

Tutorial : Linear Regression with Python

Linear Regression หรือ Ordinary Least Square เป็น model ที่ใช้กันมากว่าร้อยปี และนิยมใช้กันอย่างแพร่หลาย ซึ่งถูกจัดอยู่ในกลุ่มที่เรียกว่า Supervised Learning เพื่อใช้ในการ estimate ค่าต่างๆ (quantitative response) จากตัวแปร(Predictors, Independent vars)ที่มีความสัมพันธ์แบบเชิงเส้น โดยแสดงเป็นสมการได้ดังนี้

 Y=β+β1∗X

ใน post นี้ ผมจะใช้ Linear Regression โดยใช้ Advertise data (ISL book chapter3) ในการสร้าง Model (สมการเชิงเส้น) เพื่อคาดการ์ณ ยอดขายจากยอดใช้จ่ายสื่อบนวิทยุ โทรทัศน์ และหนังสือพิมพ์ โดยสมการหรือโมเดลที่คาดว่าจะได้คือ

Sales=β+β1∗TV+β2∗Radio+β3∗Newspaper

โดยตัว model ในขณะสร้าง จะพยายามหาค่า β0...βn เพื่อลดค่า Error ให้ได้มากที่สุด หรือกล่าวอีกในนึงคือยอดขายที่คาดการ์ณกับยอดขายจริงต้องใกล้เคียงกันให้มากที่สุด ซึ่งวิธีการที่นิยมที่สุดเรียกว่า Lease Square criterion

เราจะใช้ DataSci iterative process ดังนี้
  1. Understanding and defining problem 
  2. Understanding data via exploratory data analysis (EDA)
  3. Data Preparation: Data cleansing & Handling missing value 
  4. Build model 
  5. Evaluate model
ติดตามได้ที Click
Image source: Introduction to Statistical Learning : Chapter3

Monday, August 24, 2015

Awesome MOOC Recommendation for Datascientist

Today i would like to share some great online learning courses for data science which i find them very useful for starting datasci as a career. there are a hundred of data-sci related courses out there on the Internet, offered as degree or certificate. the below are my course recommendation, some of which I already participated and completed.

eDX The Analytics Edge
Coursera Data Science
Coursera Machine Learning
Udacity Data Analyst

each course takes about 3-4 months to complete. they offer paid version certificate when the course is complete and minimum score required is passed.

In the next post, I will share a series of basic statistical analysis using R/Python on popular dataset.

Wednesday, August 19, 2015

็็How to become a data scientist ?


เชื่อว่ามีหลายคนสนใจและอยากผันตัวเองเป็นนักวิทยาศาสตร์ข้อมูลที่เป็นงานที่ hot ที่สุดในขณะนี้ วันนี้ผมขอมาแชร์ว่า การเป็นนักวิทยาศาสตร์ข้อมุลต้องมี skills ด้านใดบ้าง  ผมขอยก Diagram ของนาย Drew Conwey  ซึ่งได้สรุป skill ที่จำเป็น แบ่งออกเป็น 3 ส่วนหลักๆ ดังนี้

ภาพที่มา: http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram
จากรูปจะเห็นได้ชัดว่า Data Science นั้นประกอบด้วย skill set ดังนี้
1. Hacking skills คือ ความสามารถในด้านการเขียนโปรแกรม
2. Math and Statistics คือ มีความรู้ทางด้านสถิติและคณิตศาตร์
3. Domain experts คือ ความรู้และความชำนาญในสายงานของปัญหานั้นๆ

แต่ถ้าใหัชัดคือ Data scientist = Data miner + Business domain expert

แล้วจะเริ่มต้นยังไงละ ?

ผมขอรวบรวมข้อมูลที่เป็นประโยชน์สำหรับการพัฒนา skill ดังนี้ จากประสบการณ์ส่วนตัว

  1. Learn to love data
       การที่จะสร้างความสำเร็จไม่ว่าเรื่องใดๆ ก็ตาม ต้องมี "ใจรัก" เพื่อให้เราก้าวสู่ความสำเร็จ  การทำงานด้าน Data science ก็เช่นเดียวกัน  บ่อยครั้งนักที่ผู้ศึกษาในช่วงเริ่มต้นต้องถอนตัวไปหรือไม่ก็ท้อแท้ เนื่อจากศาสตร์ด้านนี้ถือว่ายังใหม่มาก learning topic ค่อนข้างกว้าง และยากที่จะเข้าใจในะระยะเวลาอันสั้น ดังนัั้น ลองหาเป้าหมายที่สนใจและอยากลองทำโดยใช้ศาตร์ของ Data science ช่วย  ตัวอย่างเช่น บางคนสนใจเรื่องเล่นหุ้น อาจจะลองตั้งเป้าหมายสร้าง model ในการทำนายราคาหุุ้น เขียน Program เชื่อต่อ yahoo finance api สิ่งเหล่านี้เองจะช่วยทำให้เราหลงใหลใน data อย่างไม่รู้ตัวและสนุกกับมัน และจงเชื่อในพลังของ data science ในการเปลี่ยนแปลงโลกให้ดีขึ้นได้
  2. Programming
        ผมแนะนำให้เลือกเรียนภาษา R กับ Python ซึ่งต่างเป็น Opensource ทั้งคู่และได้ถูกใช้อย่างกว้างขวางในด้านวิชาการและภาคธุรกิจ ซึ่งได้มีการพัฒนา library หรือ package มากมายเพื่อใช้ในการทำ Data exploratory analysis หรือ Data modeling
    สำหรับคนที่สนใจ R แนะนำให้ดาวโหลด IDE RStudio
    สำหรับคนที่สในใจ Python แนะนำตัว Anaconda ซึ่งเป็น Python distribution ที่ได้รวบรวม library ที่จำเป็นต่อการใช้งานด้าน Data science มาไว้รวมกัน
  3. Stats
       สถิตินั้นสำคัญแค่ไหน?  การที่จะเข้าใจ Data ได้อย่างลึกซึ้งนั้น ความรู้ด้านสถิติจึงจำเป็นอย่างยิ่งต่อการทำความเข้าใจและใช้ในการหาความสัมพันธ์ของข้อมุลและตัวแปรต่างๆ หรือใช้ในการการวิเคราะห์ผลลัพท์ว่ามีนัยสำคัญแค่ไหน ถ้าใครที่พื้นฐานสถิติไม่แน่นผมขอแนะนำหนังสือ Free eBook : OpenIntro Stats  ค่อนข้างอธิบายได้ค่อยข้างดี มีรูปประกอบชัดเจน
  4. Machine learning
       เป็นการผสมผสานของศาตร์ด้าน Computer science + Stats + Math โดยเรียนรู้จาก Input ที่ป้อนเข้าไป (Training) เพื่อค้นหา pattern หรือ knowledge แล้วสร้างแบบจำลอง model เพื่อใช้ในการแก้ปัญหา
    E book แนะนำ An Introduction to statistical learning หรือ
    Online learning : Learning from data
  5. Visualization
        เป็นการอธิบายด้วยภาพทำให้เราเข้าใจเรื่องซับซ้อนได้เข้าใจง่ายขึ้น ซึ่งจะถูกใช้ส่วนมาก ณ ตอนเวลาทำ Data exploratory analysis และ summary of analytical findings. R และ Python เองต่างก็มี library ให้เลือกใช้หลายตัว  แต่ที่ๆ นิยมกันก็คือ ggplot2, matplotlib, seaborn หรือจะลองใช้  Visualization software สำหรับ descriptive analysis เช่น Tableau  QlickView
  6. Practice and Practice and Practice
        หลังจากได้ศึกษาเรียนรู้แล้ว  ให้ลองฝึกฝนกับ data set จริงๆ ซึ่งได้มีหลายเว็ปไซต์ได้รวบรวม data เพื่อให้เราฝึกฝนการวิเคราะห์ครับ  ผมขอ share ที่ใช้ประจำดังนี้
        UCI
        Reddit Dataset
    หรือถ้าชื่นชอบความท้าทายแข่งกันกับคนอื่นๆ  ลองเข้าร่วมแข่งขันที่ Kaggle ซึ่งจะช่วยให้เรามีประสบการณ์กับการ solving real world problem and learn from other talent peers และทำให้เราเก่งขึ้นไปอีก 

Wednesday, August 12, 2015

ตำแหน่ง Data Science ร้อนแรงแค่ไหน




อาชีพที่คนทั่่วโลกพูดถึงกันมากในช่วง 1-2 ปีที่ผ่านมา เป็นสิ่งอื่นไปไม่ได้ นั่นก็คือ Data Scientist หรือนักวิทยาศาตร์ข้อมูล ซึ่งได้รับการยกย่องว่าเป็น The most sexiest job of 21st century จาก Harvard (source)กันเลยทีเดียว และทางบริษัทที่ปรึกษาชั้นนำของโลกอย่าง Mckinseyได้ประเมินว่า เฉพาะในประเทศ US อย่างเดียวจะมีตำแหน่งนี้ขาดแคลนถึง 190,000 ตำแหน่ง และตำแหน่งที่เกี่ยวข้อง โดยเฉพาะ manager level ที่ต้องมีความสามารถและความเข้าใจในการนำข้อมูล Insight ที่ได้จากการวิเคราะห์ของนักวิทยาศาสตร์ข้อมูลนั้น ไปใช้ในการวางแผนหรือปรับปรุงการตัดสินใจที่มีผลต่อการขับเคลื่อนธุรกิจ อาจจะขาดแคลนบุคคลากรถึง 1.5 ล้าน คน ภายในปี 2018

และยิ่งไปกว่านั้น ทาง US government ได้แต่งตั้ง DJ Patil เป็น Chief Data Scientist คนแรก ลองมาฟังวิสัยทัศน์ของนายคนนี้กัน ซึ่งได้พูดไว้ที่งาน Strata+ Hadoop World Conference



จากที่กล่าวมาข้างต้น เห็นได้ชัดว่า สาขาด้านนี้กำลัง Boom มากในต่างประเทศ ไม้เว้นแม้แต่ประเทศเพื่อนบ้านเราอย่าง มาเลเซีย หรือ สิงคโปร์  ได้มีการประกาศหาตำแหน่งกันและแย่งชิงตัวกันให้วุ่น แล้วเมืองไทยละ ??

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

ณ เวลานี้ ถ้าถามว่าบริษัทกลุ่มไหนในเมืองไทยที่พร้อมที่สุดในการลงทุนทำ Big Data Analytic  ความคิดเห็นส่วนตัวน่าจะเป็นบริษัทที่มีปริมาณข้อมูลที่ถือครองเยอะที่สุด คือ

  1. กลุ่มโทรคมนาคม
  2. กลุ่มธนาคาร
  3. กลุ่มรีเทลล์ (ค้าปลีก , ค้าส่ง)
  4. กลุ่ม Logistic

ใครที่ได้อ่านมาถึงจุดนี้และรู้สึกสนใจที่อยากลองเปลี่ยนสายงาน  ซึ่งใน post หน้า ผมจะมา share learning path to be data scientist ให้ครับ