จากงาน LINE DEVELOPER DAY 2020 conference ที่เพิ่งผ่านพ้นไป ผมเองก็ได้เข้าฟังบรรยายในหลาย session และเห็นว่า session นี้ ผู้บรรยายได้สรุปเนื้อหาไว้เป็นหมวดหมู่ และอธิบายอย่างเข้าใจง่าย น่าจะมีประโยชน์สำหรับคนที่กำลังเริ่มต้น จึงนำมาแบ่งปันความรู้กันครับ

Image-to-Image Translation คืออะไร?

ก็คือ การแปลงภาพจากกลุ่มความสนใจ (domain) อย่างหนึ่ง ให้เป็นภาพใหม่ๆ ซึ่งอยู่ในอีกกลุ่มความสนใจหนึ่ง ตัวอย่างเช่น การแปลงภาพจาก แมว ไปเป็นหมา หรือการแปลงภาพจาก ผู้ชาย ไปเป็นผู้หญิง เป็นต้น

ตัวอย่าง applications การทำ Image-to-Image Translation

ซึ่งที่ผ่านมาก็มีผู้วิจัยและพัฒนา Image translation model ออกมามากมาย เรามาลองดูกันไปทีละตัวด้วยกันครับ

pix2pix

เป็นโมเดลตัวแรกที่ออกมา โดยมีพื้นฐานมาจาก GAN (Generative adversarial network) ซึ่งจะมีการ learn 2 modules ไปพร้อมๆ กัน โดย module แรก คือ discriminator (D) จะพยายามจำแนกภาพว่าภาพนี้เป็นของจริงหรือของปลอม และอีก module หนึ่ง คือ generator (G) จะพยายามสังเคราะห์ภาพออกมาให้มีการกระจายตัวของข้อมูลใกล้เคียงกับภาพจริงให้ได้มากที่สุด พูดง่ายๆ ก็คือ พยายามหลอก discriminator ให้ได้

อาจมองง่ายๆ ว่า discriminator เป็นตำรวจจับแบงก์ปลอม ส่วน generator เป็นโจรที่พยายามจะผลิตแบงก์ปลอมให้สมจริงที่สุดมาหลอกตำรวจ จนตำรวจเชื่อว่าเป็นของจริง เราก็จะได้ generator ที่เก่ง ได้ภาพออกมาสมจริงมากๆ นั่นเอง…


บทความนี้จะอธิบาย code ใน colab ประกอบการเรียน DSE week 7 : Recommendation system ครับ

Colab นี้ ก็จะเป็นการใช้ NMF มาช่วยสร้างระบบ recommendation โดยในคลาสได้มีการเก็บข้อมูลจากนักเรียนว่าชอบดาราคนไหนบ้าง โดยให้เลือกมา 3 คนตามลำดับความชอบ เก็บข้อมูลมาแค่นี้ จะแนะนำได้แค่ไหน มาลุ้นไปด้วยกันครับ

เริ่มจาก import library ที่จะใช้ และ เปิดไฟล์ google sheet ที่เก็บข้อมูลเอาไว้มาดูกัน

เบื้องต้นก็ sample ข้อมูลมาดูคร่าวๆ ก่อนเลย เห็นว่าบางคนก็กรอกมายาวมาก เช่น user id 39 กรอกแบบมีวงเล็บมาด้วย


บทความนี้จะสรุปเนื้อหาอย่างย่อจากคลาส DSE by BotNoi week 7เรื่อง Recommendation system ครับ

Recommendation system คืออะไร?

ก็คือ ระบบที่ช่วยแนะนำสินค้าหรือบริการให้กับลูกค้า โดยหวังว่าสิ่งที่แนะนำไปนั้นจะตรงกับสิ่งที่ลูกค้าต้องการมากที่สุด ซึ่งในปัจจุบันนี้ เราก็พบเห็นระบบนี้ได้ในหลากหลายแพลตฟอร์ม เช่น Netflix, Youtube, Amazon, ฯลฯ

ตัวอย่าง platform ที่ใช้ recommendation system

Recommendation system ทำงานอย่างไร?

ก็มี algorithm เบื้องหลังอยู่หลายแบบ ในคลาสนี้จะพูดถึง 4 ตัวหลักๆ ที่ใช้กันแพร่หลาย ได้แก่ Content-based filtering, Collaborative filtering, Knowledge-Based Filtering และ Hybrid recommender systems

  1. Content-based filtering

ระบบที่ใช้ algorithm นี้จะแนะนำสินค้าใหม่ ตามคุณลักษณะของสินค้าเดิมที่ลูกค้าเคยเลือก (user profile) ก็จะเหมาะกับในกรณีที่เรามีข้อมูลคุณลักษณะของสินค้า แต่ยังไม่มีข้อมูลความชอบของลูกค้า

ตัวอย่างที่เห็นได้ชัดเช่น การแนะนำ app ใน google play : นายดำ เคยโหลดเกม rov ไปเล่น ระบบมีข้อมูลว่าเกม rov เป็นเกมประเภท moba / strategy ระบบก็จะแนะนำเกมที่คล้ายกับ rov ก็คือ เกมประเภท moba/strategy เกมอื่นๆ เช่น Marvel superwar ไปให้นายดำ เป็นต้น…


บทความนี้เป็นการสรุปเนื้อหาส่วนทฤษฎี และสรุปการบรรยายของแขกรับเชิญ ดร.ดนัย จากคลาส DSE by BotNoi week 6 เรื่อง Contextual marketing ครับ

Marketing คืออะไร?

หากไปดูคำจำกัดความ ก็พบว่า marketing หมายถึง กิจกรรมหรือธุรกิจที่เกี่ยวข้องกับการขายและส่งเสริมการขายสินค้าหรือบริการ รวมถึงการทำวิจัยตลาดและการโฆษณา

ก็แน่นอนว่าทุกธุรกิจย่อมต้องมีการทำ marketing ไม่มากก็น้อย ไม่อย่างนั้นก็คงขายสินค้าหรือบริการของตนเองได้ยากลำบาก แต่จริงๆ แล้วธุรกิจทุกวันนี้มีการทำ marketing กันมากน้อยขนาดไหน?

ความสำคัญของ Marketing

ไม่ว่าจะเป็นธุรกิจที่ดำเนินการมานานแล้ว หรือธุรกิจที่เพิ่งก่อตั้ง ก็ต้องมีการทำ marketing โดยธุรกิจที่เพิ่งก่อตั้งมักมีสัดส่วนงบประมาณด้าน marketing ต่อรายได้รวม ค่อนข้างสูงกว่าธุรกิจที่ดำเนินการมานานแล้ว เนื่องจากต้องการทำให้สินค้าหรือบริการของตัวเองเป็นที่รู้จัก โดยจากการสำรวจของ cmosurvey.org ก็อยู่ที่ประมาณ 12–20% ส่วนธุรกิจที่ดำเนินการมานานแล้ว ก็อาจมีสัดส่วนที่ต่ำกว่าเล็กน้อย อยู่ที่ประมาณ 6–12%

หรืออาจพิจารณากราฟทางซ้ายมือของ slide โดยกราฟบน เป็นกราฟที่แสดงว่าค่าใช้จ่ายในการทำ marketing ว่าคิดเป็นกี่ % ของรายได้โดยรวมทั้งหมดขององค์กร ก็เห็นว่า ตั้งแต่ปี 2011 จนถึง 2019 บริษัทต่างๆ ก็จัดสรรงบประมาณเพื่อใช้ในการทำ marketing ในระดับที่ไม่เปลี่ยนแปลงมากนัก อยู่ที่ประมาณ 6.6–11%…


บทความนี้เป็นการสรุปเนื้อหาและอธิบาย code ใน google colab ประกอบคลาส DSE by BotNoi week 5 เรื่อง Customer Segmentation เฉพาะ code ที่ใช้ในการทำ K-mean clustering ครับ

ในคลาสนี้เราจะพยายามแบ่งกลุ่มลูกค้าของ supermarket แห่งหนึ่ง ซึ่งมี 5 สาขา โดยใช้ Unsupervised machine learning ซึ่งในครั้งนี้ก็เลือกใช้ K-mean clustering มาทำการแบ่งกลุ่มลูกค้า

ก็เหมือนเช่นเคยครับ กระบวนการทำก็เป็นไปตาม machine learning pipeline
1. Get data
2. Data preprocessing
3. Extract feature
4. Model
5. Visualization
6. Interpretation (การตีความ)

1. Get Data

เริ่มจากดาวโหลดไฟล์ที่ใช้ในการเรียนครั้งนี้ จาก michelecoscia.com โดยใช้คำสั่ง !gdown และ !unzip แตกไฟล์จะได้เป็นไฟล์ pickle 3 ไฟล์

2. Data pre-processing

จากนั้นก็ import library ที่จำเป็นอย่าง numpy, pandas, matplotlib แล้วจึงใช้ method read_pickle อ่านไฟล์ pickle ทั้ง 3 ไฟล์ เก็บไว้เป็น dataframe


Objective: บทความนี้เป็นส่วนหนึ่งของ Data Science Essential ของ Botnoi Classroom หัวข้อ Trend Forecasting โดยเป็นการใช้ machine learning มาช่วยเลือกซื้อหุ้นจากกลุ่ม SET100

Team Member DSEs G5 : เกริก, เมย์, ฐนวัฒน์, ภาณุ , ไหม

การจะตัดสินเลือกซื้อหุ้นตัวใดนั้น ก็มีปัจจัยมากมายที่มีผลต่อการตัดสินใจของเรา ซึ่งบ่อยครั้งที่อารมณ์ของผู้ซื้อกลับมีผลมากกว่าเหตุผลในการตัดสินใจ จึงน่าจะเป็นการดีกว่าหากเราปล่อยให้ machine เรียนรู้ pattern ในราคาหุ้น แล้วช่วยเราตัดสินใจว่าควรเลือกซื้อหุ้นตัวไหนดี ว่าแล้วเราก็ไปเริ่มกันเลยดีกว่า

โจทย์ในสัปดาห์นี้ เป็นการใช้ machine learning ในการเลือกหุ้นที่อยู่ในกลุ่ม SET100 มาซื้อราคา ATO ในวันที่ 17/9/20 และขาย ATO ในวันที่ 24/9/20

กระบวนการเลือกหุ้น
ก็เป็นไปตาม machine learning pipeline

  1. Get data
  2. Train test split
  3. Train model
  4. Make prediction
  5. Create Pipeline
  6. Select the best stock

1. Get data

ในครั้งนี้เราก็จะใช้ library StarfishX และ pandas_datareader มาช่วยในการดึงข้อมูลหุ้น เราก็เริ่มจากการ import library ที่ต้องการใช้งานมาก่อนเลย

เราก็จะสร้างฟังก์ชั่น getseries เพื่อใช้ดึงเฉพาะราคาปิดที่มีการปรับปรุงแล้ว (Adj Close) ของหุ้นแต่ละตัวออกมา เก็บไว้เป็น series โดยเลือกดึงราคา 1 ปีย้อนหลัง เริ่มจาก 14/9/19 ถึง 14/9/20…


บทความนี้เป็นการสรุปเนื้อหา พร้อมกับอธิบาย code ใน google colab ประกอบคลาส DSE by BotNoi week 4เรื่อง Trend Forecasting ครับ

สัปดาห์นี้เราจะนำความรู้จาก class ก่อนๆ มาประยุกต์ใช้กับข้อมูลแบบอนุกรมเวลา หรือ time series

การดู Trend ของข้อมูล time series

ตัวอย่างแรก จะลองดู Trend ของผู้โดยสารสายการบิน จากไฟล์ airline-passenger.csv

เริ่มจาก download file และ library ที่ต้องการใช้มาก่อนเลย

ใช้ method read_csv อ่านไฟล์ csv มาเก็บไว้เป็น dataframe แล้วลองดูข้อมูล 5 บรรทัดแรก


Objective: บทความนี้เป็นส่วนหนึ่งของ Data Science Essential ของ Botnoi Classroom หัวข้อ Machine Learning and Prediction Model โดยเป็นการทำโปรเจคสร้าง API เพื่อเรียกใช้ Machine learning model มาทำนายผล

Team Member DSEs G5 : เกริก, เมย์, ฐนวัฒน์, ภาณุ , ไหม

สำหรับใครที่กำลังมองหาคอนโดในกรุงเทพ มองไปทางไหนก็เจอแต่ตัวเลือกน่าสนใจเต็มไปหมด ขนาดห้องก็มีหลายหลาก ราคาก็มีหลากหลาย ความสูงก็มีทั้ง high rise และ low rise ทั้งโครงการขึ้นใหม่ และโครงการเก่า แล้วเราจะตัดสินใจเลือกยังไงกันดีนะ

ก่อนอื่น แนะนำให้กำหนดสิ่งที่อยากได้ให้ชัดเจน อยากได้ห้องเล็กหรือห้องใหญ่ อยู่ติดรถไฟฟ้ารึเปล่า Area ไหน อยู่เองหรือปล่อยเช่า หลังจากที่รู้สิ่งที่ต้องการชัดเจนแล้ว เรื่องราคานั้น ไม่ต้องห่วง เรามีตัวช่วยให้ เพื่อให้คุณได้คอนโดที่ต้องการในราคาที่เหมาะสมที่สุด

วันนี้ทางทีมจะมาแนะนำ API ที่ใช้ machine learning มาช่วยให้คุณสามารถตัดสินใจในเรื่องของการประเมินราคาคอนโด ไม่ว่าจะเป็นราคาซื้อ (ควรต่อรองเท่าไหร่ดี) การตั้งราคาขายที่เหมาะสม(ถ้าขายปีหน้าจะได้ราคาดีกว่านี้รึเปล่า) เพื่อให้คุณไม่ต้องซื้อคอนโดในราคาที่แพงเกินไป หรือติดดอยในอนาคต ถ้าพร้อมกันแล้ว เราไปรู้จัก API ตัวนี้ตั้งแต่วิธีการสร้างกันเลย…


บทความนี้เป็นการสรุปเนื้อหา พร้อมกับอธิบาย code ใน google colab ประกอบคลาส DSE by BotNoi week 3 เรื่อง Prediction model ครับ

Prediction model

การทำ Prediction model ด้วยวิธีการ supervised machine learning จะมี 2 ประเภทหลักๆ คือ Classification กับ Regression ซึ่งจะใช้ model ประเภทไหน ก็ขึ้นอยู่กับปัญหาที่เราต้องการหาคำตอบ

ถ้าเราต้องการจำแนกข้อมูลเป็นชนิด (class) ต่างๆ เช่น จำแนกว่าภาพถ่ายนี้เป็นภาพของหมาหรือแมว ก็จะใช้ classification model เช่น Logistic Regression

ถ้าเราต้องการทำนายตัวเลขจากข้อมูล เช่น ทำนายราคาบ้านจากคุณลักษณะต่างๆ ของบ้าน ก็จะใช้ regression model เช่น Linear Regression, Random Forest Regressor

ก่อนเริ่ม class นี้ ได้มีการทำแบบสอบถามจากนักเรียนถึงอาหารที่ชอบ และเก็บข้อมูล เพศ อายุ และน้ำหนักของผู้ทำแบบสอบถาม เพื่อนำข้อมูลที่ได้มาทำ model ที่จะสามารถทำนายน้ำหนัก จากข้อมูลความชอบของอาหาร,เพศ และอายุ ในกรณีนี้ก็จะต้องใช้ regression model เพราะเป็นการทำนายตัวเลขจากข้อมูล

ขั้นตอนการทำ Prediction Model

ก็จะเป็นไปตาม pipeline ในการทำ machine learning ตามที่สอนใน week 2 แต่ได้แตกย่อย task ให้ชัดเจนมากขึ้นเป็น 7 tasks ตามภาพ โดยในแต่ละ task เราก็จะสร้าง function ไว้สำหรับ task นั้น แล้วนำ…


บทความนี้เป็นการอธิบาย code ใน google colab ประกอบคลาส DSE by BotNoi week 2 เรื่อง Machine learning ครับ

pipeline

colab นี้เป็นการสาธิตการทำ machine learning pipeline โดยเริ่มจาก install library ของ botnoi โดยใช้ code ตาม [1]

จากนั้น ก็ import module ที่จะใช้งาน โดย scrape เป็น module ที่เกี่ยวกับการดึงข้อมูลจาก internet , cv เป็น module ที่เกี่ยวข้องกับงาน computer vision, os เป็น module ที่เกี่ยวข้องกับระบบปฏิบัติการ มักใช้จัดการไฟล์ต่างๆ

Krirk Arunoprayote

AI enthusiast, currently working as Data Scientist at Botnoi Consulting Co., Ltd.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store