ข้ามไปยังเนื้อหาหลัก

คู่มือกรณีการใช้งาน Data Science

เรียนรู้กรณีการใช้งานในด้านวิทยาศาสตร์ข้อมูล และค้นพบว่าวิทยาศาสตร์ข้อมูลสามารถนำไปใช้ในอุตสาหกรรมต่าง ๆ เพื่อขับเคลื่อนการเติบโตและการตัดสินใจได้อย่างไร
อัปเดตแล้ว 31 ส.ค. 2569  · 15 นาที อ่าน

สำรวจด้วย AI

ChatGPTClaudePerplexity

ภาพคอนเซ็ปต์ปัญญาประดิษฐ์

วิทยาศาสตร์ข้อมูล: คำจำกัดความและการประยุกต์ใช้งานจริง

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

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

กรณีการใช้งานวิทยาศาสตร์ข้อมูลคืออะไร?

กรณีการใช้งานวิทยาศาสตร์ข้อมูลคือภารกิจจริงในโลกความเป็นจริงที่ต้องแก้ด้วยข้อมูลที่มีอยู่ ภายใต้กรอบของบริษัทหนึ่ง ๆ จะวิเคราะห์ตัวแปรมากมายด้วยเทคนิควิทยาศาสตร์ข้อมูลในบริบทของอุตสาหกรรมเฉพาะของบริษัท กรณีการใช้งานอาจเป็นปัญหาที่ต้องแก้ ข้อสันนิษฐานที่ต้องตรวจสอบ หรือคำถามที่ต้องการคำตอบ แก่นแท้ของการทำวิทยาศาสตร์ข้อมูลก็คือการแก้โจทย์ใช้จริงเหล่านี้

แม้เนื้อหาของแต่ละกรณีจะต่างกันมาก แต่ก็มีสิ่งร่วมที่ควรคำนึงเสมอ:

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

จะแก้โจทย์กรณีศึกษาในวิทยาศาสตร์ข้อมูลอย่างไร?

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

  1. ตั้งคำถามให้ถูกต้อง ขั้นตอนแรกสำคัญมาก รวมถึงทบทวนวรรณกรรมที่มีและกรณีศึกษาที่มีอยู่ ทบทวนแนวทางปฏิบัติที่ดีที่สุด ขยายทฤษฎีที่เกี่ยวข้องและสมมติฐานทำงาน และเติมเต็มช่องว่างด้านความเชี่ยวชาญเฉพาะโดเมน สุดท้ายควรได้คำถามที่ชัดเจนสำหรับกรณีศึกษาที่สนใจ
  2. การรวบรวมข้อมูล ขั้นนี้จะทำรายการและเก็บข้อมูล ในโลกจริงเรามักได้ข้อมูลที่ไม่เป็นตัวแทน ขาดหาย มีข้อบกพร่อง และไม่เป็นโครงสร้าง กล่าวคือห่างไกลจากตารางข้อมูลที่อ่านง่ายและพร้อมวิเคราะห์ จึงต้องค้นหาและระบุแหล่งข้อมูลที่เป็นไปได้ทั้งหมดที่อาจเป็นประโยชน์ ข้อมูลที่ต้องการอาจอยู่ในคลังของบริษัท เก็บจากเว็บ หรือได้มาจากผู้สนับสนุน เป็นต้น
  3. การทำความสะอาด/จัดระเบียบข้อมูล ส่วนนี้มักกินเวลาและทรัพยากรมากที่สุดของโครงการวิทยาศาสตร์ข้อมูลใด ๆ จะประเมินคุณภาพและความเป็นตัวแทนของข้อมูลที่รวบรวม และทำการสำรวจข้อมูลเบื้องต้น จากนั้นทำความสะอาด เตรียมประมวลผล แปลง จัดการ และแม็ปข้อมูลจากรูปแบบดิบให้อยู่ในรูปที่เหมาะสมกว่า
  4. การวิเคราะห์และสร้างแบบจำลองข้อมูล จะวิเคราะห์ข้อมูลที่ทำความสะอาดแล้วตามสถานะปัจจุบัน แล้วปรับให้เข้ากับแบบจำลองเชิงพยากรณ์ที่เลือก ประเมินความแม่นยำของแบบจำลอง และหากยังไม่ดีพอ จะลองวิธีสร้างแบบจำลองอื่น ทำซ้ำจนได้แบบจำลองที่ทำนายสถานการณ์อนาคตได้แม่นยำที่สุด กระบวนการนี้เช่นเดียวกับก่อนหน้าล้วนมีลักษณะวนซ้ำ
  5. การสื่อสารผลลัพธ์ เมื่อเทียบกับขั้นก่อน ๆ ขั้นนี้ต้องใช้ทักษะการสื่อสารและทักษะเชิงอ่อนมากกว่าความเชี่ยวชาญเชิงเทคนิคและการเขียนโปรแกรม ประกอบด้วยการแบ่งปันข้อค้นพบสำคัญและข้อสรุปสุดท้ายกับผู้บริหาร ผู้ถือหุ้น และผู้มีส่วนได้ส่วนเสียอื่น ๆ มักถ่ายทอดอินไซต์เป็นรายงาน บทความ และสไลด์นำเสนอ พร้อมแนวทางเดินหน้าต่อ

กรณีการใช้งานวิทยาศาสตร์ข้อมูลตามอุตสาหกรรม

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

วิทยาศาสตร์ข้อมูลในด้านสุขภาพ

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

การแพทย์และผู้ให้บริการสุขภาพเก็บข้อมูลจำนวนมหาศาลจากหลายแหล่ง: ระบบเวชระเบียนอิเล็กทรอนิกส์ (EHR) ข้อมูลจากอุปกรณ์สวมใส่ งานวิจัยทางการแพทย์ และเอกสารการเรียกเก็บเงิน การใช้ประโยชน์จากเทคนิควิทยาศาสตร์ข้อมูลและการวิเคราะห์ข้อมูลเชิงนวัตกรรมกำลังเปลี่ยนโฉมทั้งอุตสาหกรรมสุขภาพ มอบแนวทางแก้ที่ทรงพลังและมีผลกระทบต่อการพัฒนาในอนาคต โดยเฉพาะบางสาขาเฉพาะทาง เช่น พันธุศาสตร์ เวชศาสตร์การเจริญพันธุ์ มะเร็งวิทยา เทคโนโลยีชีวภาพ รังสีวิทยา การวินิจฉัยเชิงพยากรณ์ และเภสัชกรรม ต่างยกระดับขึ้นอย่างมากจากการปลดล็อกศักยภาพของข้อมูล

เพื่อให้เห็นภาพชัดขึ้นว่าดาต้าไซเอนซ์มีคุณค่าในทางการแพทย์อย่างไร ลองโฟกัสที่หนึ่งในกรณีใช้งานคลาสสิก

กรณีใช้งานในสุขภาพ: การพยากรณ์มะเร็งเต้านม

ตามข้อมูลของ World Cancer Research Fund International มะเร็งเต้านมเป็นมะเร็งที่พบบ่อยที่สุดในสตรี และเป็นชนิดที่พบบ่อยเป็นอันดับสองโดยรวม การวินิจฉัยพยาธิสภาพของเต้านมให้ทันท่วงที ไม่ว่าจะเป็นเนื้องอกธรรมดาหรือร้ายแรง สำคัญยิ่ง เพราะเพิ่มโอกาสการรักษาให้สำเร็จและอัตรารอดชีวิต นี่คือจุดที่วิทยาศาสตร์ข้อมูลเข้ามาช่วย

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

ประเด็นหลักของการใช้ชุดข้อมูลดังกล่าวกับตัวจัดหมวดหมู่คือความไม่สมดุลอย่างรุนแรง ตัวอย่างเช่น เมื่อผลลัพธ์อยู่ในรูป มีมะเร็ง/ไม่มีมะเร็ง ความน่าจะเป็นของการมีพยาธิสภาพ (ระเบียนในคลาสส่วนน้อย) ต่ำกว่าการไม่มีพยาธิสภาพ (ระเบียนในคลาสส่วนใหญ่) อย่างมาก ส่งผลให้อัลกอริทึมโน้มเอียงไปจัดกรณีใหม่เป็นไม่พบพยาธิสภาพ ดังนั้นการประเมินความแม่นยำของแบบจำลองประเภทนี้ให้มีประสิทธิภาพ ควรใช้ค่า F1-score เป็นเมตริก เพราะประเมินกรณีบวกลวง (ความคลาดเคลื่อนชนิดที่ I) และลบลวง (ความคลาดเคลื่อนชนิดที่ II) แทนการนับเฉพาะกรณีที่จัดถูกต้อง

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

import pandas as pd

cancer_data = pd.read_csv('data.csv')
pd.options.display.max_columns = len(cancer_data)
print(f'Number of entries: {cancer_data.shape[0]:,}\n'
      f'Number of features: {cancer_data.shape[1]:,}\n\n'
      f'Number of missing values: {cancer_data.isnull().sum().sum()}\n\n'
      f'{cancer_data.head(2)}')
Number of entries: 569
Number of features: 33

Number of missing values: 569

      id diagnosis  radius_mean  texture_mean  perimeter_mean  area_mean  \
0  842302         M        17.99         10.38           122.8     1001.0  
1  842517         M        20.57         17.77           132.9     1326.0  

  smoothness_mean  compactness_mean  concavity_mean  concave points_mean  \
0          0.11840           0.27760          0.3001              0.14710  
1          0.08474           0.07864          0.0869              0.07017  

  symmetry_mean  fractal_dimension_mean  radius_se  texture_se  perimeter_se  \
0         0.2419                 0.07871     1.0950      0.9053         8.589  
1         0.1812                 0.05667     0.5435      0.7339         3.398  

  area_se  smoothness_se  compactness_se  concavity_se  concave points_se  \
0   153.40       0.006399         0.04904       0.05373            0.01587  
1    74.08       0.005225         0.01308       0.01860            0.01340  

  symmetry_se  fractal_dimension_se  radius_worst  texture_worst  \
0      0.03003              0.006193         25.38          17.33  
1      0.01389              0.003532         24.99          23.41  

  perimeter_worst  area_worst  smoothness_worst  compactness_worst  \
0            184.6      2019.0            0.1622             0.6656  
1            158.8      1956.0            0.1238             0.1866  

  concavity_worst  concave points_worst  symmetry_worst  \
0           0.7119                0.2654          0.4601  
1           0.2416                0.1860          0.2750  

  fractal_dimension_worst  Unnamed: 32 
0                  0.11890          NaN 
1                  0.08902          NaN 

มาลองลบคอลัมน์สุดท้ายที่มีแต่ค่าว่างกัน:

cancer_data = cancer_data.drop('Unnamed: 32', axis=1)

ผู้หญิงกี่เปอร์เซ็นต์ที่ได้รับการยืนยันว่าเป็นมะเร็ง (เนื้องอกเต้านมชนิดร้าย)?

round(cancer_data['diagnosis'].value_counts()*100/len(cancer_data)).convert_dtypes()
B    63
M    37
Name: diagnosis, dtype: Int64

37% ของผู้ตอบทั้งหมดเป็นมะเร็งเต้านม ดังนั้นชุดข้อมูลจึงค่อนข้างสมดุล

เนื่องจากค่าของตัวแปรการวินิจฉัยเป็นเชิงหมวดหมู่ จึงต้องเข้ารหัสให้เป็นตัวเลขเพื่อใช้กับแมชชีนเลิร์นนิง ก่อนทำเช่นนั้น แยกข้อมูลเป็นตัวแปรทำนายและตัวแปรเป้าหมาย diagnosis ก่อน:

X = cancer_data.iloc[:, 2:32].values
y = cancer_data.iloc[:, 1].values

# Encoding categorical data
from sklearn.preprocessing import LabelEncoder

labelencoder_y = LabelEncoder()
y = labelencoder_y.fit_transform(y)

ต่อไป แบ่งชุด train/test แล้วทำการสเกลคุณลักษณะ:

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)

sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)

เพื่อจำลองข้อมูลของเรา จะใช้อัลกอริทึมเริ่มต้นสองแบบ: k-nearest neighbors (KNN) และลอจิสติกรีเกรสชัน:

from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LogisticRegression

# KNN
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
knn_predictions = knn.predict(X_test)

# Logistic regression
lr = LogisticRegression()
lr.fit(X_train, y_train)
lr_predictions = lr.predict(X_test)

ก่อนหน้านี้เห็นว่าชุดข้อมูลค่อนข้างสมดุล จึงใช้เมตริก accuracy score เพื่อระบุแบบจำลองที่แม่นยำที่สุด:

from sklearn.metrics import accuracy_score

print(f'Accuracy scores:\n'
      f'KNN model:\t\t   {accuracy_score(y_test, knn_predictions):.3f}\n'
      f'Logistic regression model: {accuracy_score(y_test, lr_predictions):.3f}')
Accuracy scores:
KNN model:         0.956
Logistic regression model: 0.974

จากข้อมูลของเรา แบบจำลองลอจิสติกรีเกรสชันทำผลงานได้ดีที่สุดในการทำนายเนื้องอกเต้านมชนิดร้าย/ไม่ร้ายสำหรับสตรีที่ตรวจพบพยาธิสภาพใด ๆ

แนวทางต่อไป เนื่องจากอัลกอริทึมลอจิสติกรีเกรสชันไม่มีพารามิเตอร์สำคัญให้ปรับมากนัก อาจลองปรับวิธีแบ่ง train/test และ/หรือทดลองเทคนิคการพยากรณ์แบบอื่น

กรณีใช้งานอื่นที่พบบ่อยในสุขภาพ:

  • การติดตามข้อมูลเรียลไทม์จากอุปกรณ์สวมใส่
  • การวิเคราะห์เชิงพยากรณ์
  • การวิเคราะห์ภาพทางการแพทย์
  • การค้นคว้ายา
  • วิจัยด้านพันธุศาสตร์
  • ผู้ช่วยเสมือน
  • การจัดการข้อมูลลูกค้า

วิทยาศาสตร์ข้อมูลในด้านขนส่งและโลจิสติกส์

โลจิสติกส์คือการจัดการกระบวนการส่งมอบสินค้าจากจุดหนึ่งไปยังอีกจุดหนึ่ง ส่วนการขนส่งคือการขนย้ายผู้โดยสารหรือสินค้า ขึ้นอยู่กับลักษณะธุรกิจของบริษัท (เช่น ส่งอาหาร ไปรษณีย์ ขนส่งระหว่างประเทศ สายการบิน บริการแท็กซี่หรือรถบัส) แหล่งข้อมูลอาจเป็นตารางเวลา ไทม์ชีต รายละเอียดเส้นทาง รายการสต็อกคลังสินค้า รายงาน สัญญา เอกสารทางกฎหมาย และข้อเสนอแนะจากลูกค้า ตัวข้อมูลอาจมีโครงสร้างหรือไม่มีก็ได้ และรวมถึงเวลา เส้นทาง พิกัด ข้อมูลลูกค้า รายละเอียดสินค้า ต้นทุนและราคา

ประสิทธิภาพธุรกิจในซัพพลายเชนและภาคขนส่งไม่ได้ตรงไปตรงมาเสมอไป และขึ้นอยู่กับปัจจัยมากมาย: ปัญหาการจราจรที่ไม่คาดคิด คุณภาพเส้นทาง สภาพอากาศ เหตุฉุกเฉิน ความผันผวนของราคาน้ำมัน การขาดแคลนสต็อก ความเสียหายทางเทคนิค ความล่าช้าเกี่ยวกับความปลอดภัย กฎระเบียบและมาตรการคว่ำบาตรของรัฐ ฯลฯ อีกทั้งช่วงไม่กี่ปีมีผู้เล่นรายใหม่เกิดขึ้นมาก ทำให้การแข่งขันรุนแรงยิ่งขึ้น ดังนั้นเพื่อก้าวทันคู่แข่งและเพิ่มผลิตภาพการปฏิบัติงาน บริษัทโลจิสติกส์/ขนส่งจึงจำเป็นต้องวิเคราะห์บิ๊กดาต้าและแปลงเป็นอินไซต์ที่มีความหมาย

วิทยาศาสตร์ข้อมูลช่วยภาคขนส่งและโลจิสติกส์ได้อย่างไรบ้าง ต่อไปนี้คือรายการการประยุกต์ใช้ที่ยังไม่ครบถ้วน:

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

กรณีใช้งานในขนส่งและโลจิสติกส์: ระบุตำแหน่งที่เหมาะสมที่สุดของรถแท็กซี่

Uber Technologies Inc. หรือ Uber เป็นบริษัทอเมริกันที่ให้บริการด้านโลจิสติกส์และขนส่งหลากหลาย กรณีศึกษานี้จะจัดกลุ่มข้อมูล GPS ของการแชร์การเดินทางของ Uber เพื่อระบุตำแหน่งที่เหมาะสมที่สุดของรถแท็กซี่ โดยเฉพาะมีประโยชน์ดังนี้:

  • คำขอโดยสารใหม่แต่ละรายการจะถูกจับคู่กับคลัสเตอร์ที่ใกล้ที่สุด แล้ว Uber จะส่งรถที่อยู่ใกล้จากคลัสเตอร์นั้นไปยังตำแหน่งของลูกค้า
  • การวิเคราะห์คลัสเตอร์ที่ได้ตามภาระงาน อาจแยกตามชั่วโมงหรือวันในสัปดาห์ ทำให้ Uber กระจายรถล่วงหน้าและส่งไปยังตำแหน่งยุทธศาสตร์ที่มีความต้องการสูง
  • ขึ้นอยู่กับอัตราส่วนอุปสงค์/อุปทานในแต่ละคลัสเตอร์ บริษัทสามารถปรับอัตราค่าโดยสารแบบไดนามิก

เราจะใช้ชุดข้อมูลจาก FiveThirtyEight เรื่อง การเดินทางของ Uber ในนิวยอร์กช่วงเมษายน 2014:

import pandas as pd

uber_data = pd.read_csv('uber-raw-data-apr14.csv')
print(f'Number of trips: {uber_data.shape[0]:,}\n\n'
      f'{uber_data.head()}')
Number of trips: 564,516

          Date/Time      Lat      Lon    Base
0  4/1/2014 0:11:00  40.7690 -73.9549  B02512
1  4/1/2014 0:17:00  40.7267 -74.0345  B02512
2  4/1/2014 0:21:00  40.7316 -73.9873  B02512
3  4/1/2014 0:28:00  40.7588 -73.9776  B02512
4  4/1/2014 0:33:00  40.7594 -73.9722  B02512

มาลองแสดงตำแหน่งรับผู้โดยสารทั้งหมดอย่างคร่าว ๆ โดยให้ลองจิจูดเป็นแกน x และละติจูดเป็นแกน y:

import matplotlib.pyplot as plt

plt.scatter(uber_data.iloc[:, 2], uber_data.iloc[:, 1])
plt.show()

กราฟข้อมูลการเดินทางของ Uber

เพื่อจัดกลุ่มข้อมูลนี้ จะใช้อัลกอริทึมเรียนรู้ของเครื่องแบบไม่มีผู้สอนที่เรียกว่า k-means แนวคิดคือแบ่งตัวอย่างข้อมูลทั้งหมดออกเป็นหลายกลุ่มที่มีความแปรปรวนเท่ากัน โดยรับจำนวนคลัสเตอร์ n_clusters (ค่าเริ่มต้นคือ 8) และแยกข้อมูลตามนั้น เพื่อหาจำนวนคลัสเตอร์ที่เหมาะสม จะใช้วิธีศอก (elbow method) ซึ่งประกอบด้วย:

  • ฝึกหลายโมเดลด้วยจำนวนคลัสเตอร์ต่างกัน และเก็บค่า WCSS (Within Cluster Sum of Squares) ของแต่ละโมเดล ซึ่งคือผลรวมกำลังสองของระยะทางของจุดสังเกตจากเซนทรอยด์ของคลัสเตอร์ที่ใกล้ที่สุด
  • พล็อตค่า WCSS เทียบกับจำนวนคลัสเตอร์ที่สอดคล้องกัน
  • เลือกจำนวนคลัสเตอร์น้อยที่สุดที่เห็นการลดลงของ WCSS อย่างมีนัยสำคัญ
from sklearn.cluster import KMeans

wcss = []
for i in range(1, 11):
    kmeans = KMeans(n_clusters=i, random_state=1)
    kmeans.fit(uber_data[['Lat', 'Lon']])
    wcss.append(kmeans.inertia_)

plt.figure(figsize=(12, 5))
plt.plot(range(1, 11), wcss)
plt.title('Elbow Method', fontsize=25)
plt.xlabel('Number of clusters', fontsize=18)
plt.ylabel('WCSS', fontsize=18)
plt.xticks(ticks=list(range(1, 11)),
          labels=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'])
plt.show()

กราฟจำนวนคลัสเตอร์

กรณีนี้ จำนวนคลัสเตอร์ที่เหมาะสมที่สุดคือ 7 มาลองใช้ค่านี้เพื่อฝึกโมเดลและทำนายหมายเลขคลัสเตอร์สำหรับจุดรับผู้โดยสารแต่ละจุด จากนั้นจะแสดงข้อมูลอีกครั้งโดยเพิ่มตำแหน่งของเซนทรอยด์ทั้งเจ็ด:

kmeans = KMeans(n_clusters=7, random_state=1)
kmeans.fit_predict(df[['Lat', 'Lon']])
plt.scatter(uber_data.iloc[:, 2], uber_data.iloc[:, 1])
plt.scatter(kmeans.cluster_centers_[:, 1], kmeans.cluster_centers_[:, 0], s=100, c='lime')
plt.show()

กราฟเซนทรอยด์เจ็ดคลัสเตอร์

ต่อไปจะดึงพิกัดที่แน่นอนของเซนทรอยด์ทั้งหมดและแสดงแยกต่างหากโดยไม่รวมตัวข้อมูล:

centroids = pd.DataFrame(kmeans.cluster_centers_)
centroids.columns = ['Lat', 'Lon']
print(centroids)
plt.scatter(centroids['Lon'], centroids['Lat'])
plt.show()
  Lat        Lon
0  40.688588 -73.965694
1  40.765423 -73.973165
2  40.788001 -73.879858
3  40.656997 -73.780035
4  40.731074 -73.998644
5  40.700541 -74.201673
6  40.971229 -73.611288

พล็อตพิกัดของเซนทรอยด์ทั้งหมด

จะแสดงให้เข้าใจง่ายขึ้นหากวางเซนทรอยด์เหล่านี้บนแผนที่นครนิวยอร์ก:

import folium

centroids_values = centroids.values.tolist()
nyc_map = folium.Map(location=[40.79659011772687, -73.87341741832425], zoom_start=50000)
for point in range(0, len(centroids_values)):
    folium.Marker(centroids_values[point], popup=centroids_values[point]).add_to(nyc_map)
nyc_map

แผนที่นิวยอร์กซิตี้

ด้วยโมเดลของเรา เราสามารถทำนายคลัสเตอร์ที่ใกล้ที่สุดสำหรับตำแหน่งใด ๆ ในนิวยอร์กที่ระบุด้วยพิกัดภูมิศาสตร์ ในทางปฏิบัติหมายถึง Uber จะส่งแท็กซี่ที่ว่างจากตำแหน่งที่ใกล้ที่สุดและให้บริการลูกค้าได้เร็วขึ้น

ลองหาคลัสเตอร์ที่ใกล้ที่สุดสำหรับ Lincoln Center for the Performing Arts ในเขตแมนฮัตตัน:

lincoln_center = [(40.7725, -73.9835)]
kmeans.predict(lincoln_center)
array([1])

และสำหรับ Howard Beach ในเขตควีนส์:

howard_beach = [(40.6571, -73.8430)]
kmeans.predict(howard_beach)
array([3])

แนวทางต่อไป อาจลองใช้อัลกอริทึมจัดกลุ่มแบบอื่น วิเคราะห์สไลซ์ของข้อมูลที่ต่างกัน (ตามชั่วโมง/วันในสัปดาห์/เดือน) หาโหลดมากสุดและน้อยสุดของแต่ละคลัสเตอร์ หรือศึกษา ความสัมพันธ์ระหว่างคลัสเตอร์ที่พบกับตัวแปร Base ในดาต้าเฟรม

กรณีใช้งานอื่นที่พบบ่อยในขนส่งและโลจิสติกส์:

  • การกำหนดราคาระบบไดนามิกเพื่อจับคู่ดีมานด์-ซัพพลาย
  • การพยากรณ์ความต้องการ
  • การทำงานอัตโนมัติแทนงานมือ
  • ยานยนต์ขับเคลื่อนอัตโนมัติ
  • การมองเห็นซัพพลายเชน
  • การตรวจจับความเสียหาย
  • การจัดการคลังสินค้า
  • การวิเคราะห์ความรู้สึกลูกค้า
  • แชตบอตบริการลูกค้า

วิทยาศาสตร์ข้อมูลในโทรคมนาคม

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

สิ่งนี้ยิ่งจริงช่วงการแพร่ระบาดของโควิด-19 เมื่อหลายบริษัทและโรงเรียนหันไปทำงาน/เรียนทางไกล ในความเป็นจริงที่เปลี่ยนเร็วเช่นนี้ คุณภาพและความราบรื่นของการเชื่อมต่อดิจิทัลมีความสำคัญอย่างไม่เคยมีมาก่อน ช่วงล็อกดาวน์ทำให้ผู้คนต้องโทรและส่งข้อความหาผู้ร่วมงาน ญาติ และเพื่อน มากกว่าก่อน แนวโน้มใหม่เหล่านี้นำไปสู่ปริมาณการสื่อสารที่เพิ่มขึ้นมหาศาล ซึ่งสร้างข้อมูลจำนวนมหาศาลในอุตสาหกรรมนี้

การใช้วิธีวิทยาศาสตร์ข้อมูลเพื่อต่อยอดจากข้อมูลที่สะสมช่วยอุตสาหกรรมโทรคมนาคมได้หลายทาง:

  • ทำให้กระบวนการลื่นไหล
  • ปรับเครือข่ายให้เหมาะสม
  • กรองสแปม
  • ปรับปรุงการรับส่งข้อมูล
  • วิเคราะห์แบบเรียลไทม์
  • พัฒนากลยุทธ์ธุรกิจที่มีประสิทธิภาพ
  • สร้างแคมเปญการตลาดที่ได้ผล
  • เพิ่มรายได้

ลองเจาะลึกภารกิจทั่วไปในโทรคมนาคมที่เกี่ยวข้องกับการตรวจจับและกรองข้อความที่ไม่ต้องการ

กรณีใช้งานในโทรคมนาคม: สร้างตัวกรองสแปม

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

อัลกอริทึมแมชชีนเลิร์นนิงแบบกำกับที่นิยมสำหรับงานนี้คือตัวจัดหมวดหมู่ Naive Bayes ตั้งอยู่บนทฤษฎีเบส์ โดย "naive" สื่อถึงสมมติฐานว่าคำทุกคำในข้อความเป็นอิสระต่อกัน สมมติฐานนี้ไม่ถูกต้องนักเพราะมองข้ามบริบทและความสัมพันธ์เชิงความหมายของคำ อย่างไรก็ดี ในงานจัดหมวดหมู่ข้อความที่ข้อมูลไม่มาก วิธีนี้มักได้ผลและทำนายได้แม่น

Naive Bayes มีหลายเวอร์ชัน แต่ละแบบมีกรณีใช้งานที่เหมาะสม: multinomial, Bernoulli, Gaussian และ flexible Bayes สำหรับการตรวจจับสแปม เหมาะที่สุดคือ multinomial Naive Bayes ซึ่งอาศัยการนับความถี่แบบไม่ต่อเนื่องของคุณลักษณะเชิงหมวดหมู่หรือค่าต่อเนื่องที่แทนจำนวนคำในแต่ละข้อความ

มาลองใช้ multinomial Naive Bayes กับ ชุดข้อมูล SMS Spam Collection จาก UCI Machine Learning Repository

import pandas as pd

sms_data = pd.read_csv('SMSSpamCollection', sep='\t', header=None, names=['Label', 'SMS'])
print(f'Number of messages: {sms_data.shape[0]:,}\n\n'
      f'{sms_data.head()}')
Number of messages: 5,572

  Label                                                SMS
0   ham  Go until jurong point, crazy.. Available only ...
1   ham                      Ok lar... Joking wif u oni...
2  spam  Free entry in 2 a wkly comp to win FA Cup fina...
3   ham  U dun say so early hor... U c already then say...
4   ham  Nah I don't think he goes to usf, he lives aro...

มีข้อความที่มนุษย์จัดหมวดหมู่ไว้ 5,572 ข้อความ กี่เปอร์เซ็นต์เป็นสแปม?

round(sms_data['Label'].value_counts()*100/len(sms_data)).convert_dtypes()
ham     87
spam    13
Name: Label, dtype: Int64

13% ของ SMS ถูกระบุด้วยมือว่าเป็นสแปม

เพื่อเตรียมข้อมูลสำหรับ multinomial Naive Bayes ต้องทำขั้นตอนต่อไปนี้ก่อน:

  1. เข้ารหัสป้ายกำกับจากสตริงเป็นตัวเลข กรณีนี้เป็นไบนารี จึงเข้ารหัสเป็น 0/1
  2. แยกตัวแปรทำนายและตัวแปรเป้าหมาย
  3. แบ่งข้อมูลเป็นชุดฝึกและทดสอบ
  4. แปลงสตริงในคอลัมน์ SMS ของชุดฝึกและทดสอบของตัวทำนายเป็นเมทริกซ์แบบ CSR (compressed sparse row)

ขั้นที่ 4 ต้องอธิบายเพิ่ม จะสร้างออบเจ็กต์เมทริกซ์ ฝังพจนานุกรมคำศัพท์ (คำที่ไม่ซ้ำทั้งหมดจากข้อความในชุดฝึกของตัวทำนายพร้อมความถี่) แล้วแปลงชุดฝึกและทดสอบของตัวทำนายเป็นเมทริกซ์ ผลลัพธ์คือเมทริกซ์สองชุดสำหรับชุดฝึกและชุดทดสอบของตัวทำนาย โดยคอลัมน์สอดคล้องกับแต่ละคำที่ไม่ซ้ำจากข้อความทั้งหมดของชุดฝึก แถวสอดคล้องกับข้อความแต่ละข้อความ และค่าคือจำนวนครั้งที่คำปรากฏในข้อความนั้น

from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer

# Encoding labels
sms_data = sms_data.replace('ham', 0).replace('spam', 1)

X = sms_data['SMS'].values
y = sms_data['Label'].values

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)

# Vectorizing strings from the 'SMS' column
cv = CountVectorizer(max_df=0.95)
cv.fit(X_train)
X_train_csr_matrix = cv.transform(X_train)
X_test_csr_matrix = cv.transform(X_test)

ถัดไปจะสร้างตัวจัดหมวดหมู่ multinomial Naive Bayes ด้วยพารามิเตอร์เริ่มต้นและตรวจสอบความแม่นยำ:

from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score, f1_score

clf = MultinomialNB()
clf.fit(X_train_csr_matrix, y_train)
predictions = clf.predict(X_test_csr_matrix)

print(f'Model accuracy:\n'
      f'Accuracy score: {accuracy_score(y_test, predictions):.3f}\n'
      f'F1-score:       {f1_score(y_test, predictions):.3f}\n')
Model accuracy:
Accuracy score: 0.990
F1-score:       0.962

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

แนวทางต่อไป อาจลองวิธีแบ่ง train/test อื่น ๆ เพื่อปรับปรุงกระบวนการเวกเตอร์ไรซ์ด้วยการปรับพารามิเตอร์มากมายของมัน (เช่น ค่าตัดสำหรับคำที่พบบ่อยเกินไปทั้งในสแปมและแฮม) ตรวจสอบกรณีที่พบได้ยากซึ่งตัวจัดหมวดหมู่ทำนายผิดและทำความเข้าใจสาเหตุ นอกจากนี้ยังสามารถแสดงคำที่พบบ่อยในสแปมและแฮมด้วยวิธีอย่าง word cloud (หลังทำความสะอาดข้อมูลและตัดคำหยุดหรือคำที่ให้ข้อมูลต่ำออก) สุดท้ายลองใช้อัลกอริทึมแมชชีน/ดีพลเลิร์นนิงอื่น (SVM ต้นไม้ตัดสินใจ โครงข่ายประสาท) แล้วเปรียบเทียบกับ Naive Bayes

กรณีใช้งานอื่นที่พบบ่อยในโทรคมนาคม:

  • การแบ่งกลุ่มลูกค้า
  • การพัฒนาผลิตภัณฑ์
  • การวิเคราะห์บันทึกรายละเอียดการโทร
  • ระบบแนะนำ
  • การพยากรณ์การยกเลิกใช้บริการของลูกค้า
  • การทำการตลาดแบบเจาะจงเป้าหมาย
  • การตรวจจับการทุจริต
  • การจัดการและเพิ่มประสิทธิภาพเครือข่าย
  • เพิ่มความปลอดภัยของเครือข่าย
  • การปรับราคาให้เหมาะสม
  • การพยากรณ์มูลค่าตลอดอายุลูกค้า

กรณีศึกษาวิทยาศาสตร์ข้อมูล: คอร์สเรียน

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

  1. Case Study: School Budgeting with Machine Learning in Python ในคอร์สที่อ้างอิงกรณีศึกษาจากการแข่งขันแมชชีนเลิร์นนิงบน DrivenData นี้ คุณจะได้สำรวจปัญหาเกี่ยวกับงบประมาณเขตการศึกษา และวิธีทำให้โรงเรียนเปรียบเทียบการใช้จ่ายกับที่อื่นได้ง่ายและเร็วขึ้น โดยใช้เทคนิคภาษาธรรมชาติบางส่วน คุณจะเตรียมงบประมาณของโรงเรียนและสร้างโมเดลเพื่อจัดหมวดหมู่รายการโดยอัตโนมัติ เริ่มจากเวอร์ชันง่ายแล้วค่อย ๆ ไปสู่ขั้นสูง นอกจากนี้ยังสามารถดูและวิเคราะห์วิธีของผู้ชนะการแข่งขัน รวมถึงดูผลงานของผู้เข้าร่วมรายอื่น
  2. Analyzing Marketing Campaigns with pandas Pandas เป็นไลบรารีที่ได้รับความนิยมที่สุดของ Python และการพัฒนาทักษะการใช้เครื่องมือของมันอย่างแข็งแรงเป็นสิ่งจำเป็นสำหรับนักวิทยาศาสตร์ข้อมูล ในคอร์สเชิงปฏิบัติสูงนี้ คุณจะต่อยอดพื้นฐาน Python และ pandas (เพิ่มคอลัมน์ใหม่ ผสาน/ตัดชุดข้อมูล ทำงานกับคอลัมน์วันที่ แสดงผลด้วย matplotlib) โดยใช้ข้อมูลการตลาดสมมติของธุรกิจสมัครสมาชิกออนไลน์ คุณจะฝึกแปลงคำถามการตลาดทั่วไปเป็นค่าที่วัดได้ เช่น "แคมเปญนี้ทำผลงานอย่างไร?" "ทำไมช่องทางหนึ่งถึงทำผลงานต่ำ?" "ช่องทางไหนส่งลูกค้ามากที่สุด?" เป็นต้น
  3. Analyzing US Census Data in Python ในคอร์สนี้ คุณจะเรียนรู้การนำทาง Decennial Census และ American Community Survey รายปีอย่างง่าย และดึงข้อมูลประชากรและสังคมเศรษฐกิจต่าง ๆ เช่น รายได้ครัวเรือน การเดินทาง เชื้อชาติ และโครงสร้างครอบครัว คุณจะใช้ Python เพื่อเรียกข้อมูลสำหรับภูมิศาสตร์ต่าง ๆ จาก Census API และใช้ไลบรารี pandas จัดการข้อมูลที่เก็บมาเพื่อดึงอินไซต์ที่มีความหมาย นอกจากนี้คุณยังจะฝึกทำแผนที่ด้วยไลบรารี geopandas
  4. Case Study: Exploratory Data Analysis in R คอร์สสั้นนี้เหมาะหากมีพื้นฐานการจัดการและการแสดงผลข้อมูลใน R อยู่แล้ว เรียนคอร์สนี้คุณจะลองใช้ทักษะกับชุดข้อมูลจริงเพื่อสำรวจข้อมูลการลงมติของสมัชชาใหญ่แห่งสหประชาชาติในอดีต โดยเฉพาะจะวิเคราะห์แนวโน้มการลงมติระหว่างประเทศ ตามช่วงเวลา และประเด็นระหว่างประเทศ กรณีศึกษานี้จะทำให้คุณได้ทำ EDA ตั้งแต่ต้นจนจบ ฝึกใช้แพ็คเกจ dplyr และ ggplot2 มากขึ้น และเรียนรู้ทักษะใหม่
  5. Human Resources Analytics: Exploring Employee Data in R R เป็นที่รู้จักว่าถูกปรับให้เหมาะกับการวิเคราะห์เชิงสถิติมากกว่า Python ในคอร์สนี้ คุณจะใช้ข้อได้เปรียบของ R เพื่อจัดการ แสดงผล และทดสอบสถิติกับชุดกรณีศึกษาด้าน HR เทคนิควิทยาศาสตร์ข้อมูลเพิ่งปรากฏในภาคทรัพยากรบุคคลไม่นาน แต่ปัจจุบันมีแนวโน้มที่ดีเพราะหลายบริษัทพึ่งพาฝ่าย HR มากขึ้นในการให้ข้อมูลเชิงลึกและข้อแนะนำที่นำไปใช้ได้จริงจากฐานข้อมูลพนักงาน
  6. Data-Driven Decision Making in SQL ในคอร์สนี้ คุณจะได้เรียนรู้การใช้ SQL สนับสนุนการตัดสินใจและรายงานผลต่อผู้บริหาร กรณีศึกษามุ่งไปที่บริษัทให้เช่าหนังออนไลน์ที่มีฐานข้อมูลลูกค้า เรตติ้งภาพยนตร์ ข้อมูลพื้นหลังนักแสดง ฯลฯ งานบางส่วนคือใช้คิวรี SQL เพื่อศึกษาความชอบของลูกค้า การมีส่วนร่วม และการพัฒนาการขาย คุณจะได้เรียนรู้ส่วนขยาย SQL สำหรับการประมวลผลเชิงวิเคราะห์ออนไลน์ที่ช่วยดึงอินไซต์สำคัญจากข้อมูลหลายมิติที่ซับซ้อน

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

บทสรุป

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

ข้อสังเกตสุดท้ายที่น่าสนใจ: ไม่มีภาคส่วนใดที่เราพิจารณาในงานนี้ที่เป็นเรื่องใหม่ทั้งหมด บางภาคส่วนเช่นการแพทย์และการขายมีมานานเป็นศตวรรษ ตลอดประวัติศาสตร์ของพวกเขา นานก่อนยุคดิจิทัลทั่วโลก ข้อมูลจากอุตสาหกรรมเหล่านี้ก็ถูกเก็บในรูปแบบต่าง ๆ เขียนไว้ในหนังสือและเอกสาร เก็บในคลังและห้องสมุด สิ่งที่เปลี่ยนแปลงอย่างมากในไม่กี่ปีที่ผ่านมาพร้อมเทคโนโลยีใหม่คือความเข้าใจอย่างพื้นฐานถึงศักยภาพมหาศาลที่ซ่อนอยู่ในข้อมูลทุกชนิด และความสำคัญยิ่งของการบันทึก รวบรวม และเก็บรักษามันอย่างเหมาะสม การทุ่มเทความพยายามและพัฒนาระบบจัดการข้อมูลอย่างต่อเนื่องทำให้สามารถสะสมบิ๊กดาต้าในทุกอุตสาหกรรมเพื่อการวิเคราะห์และการพยากรณ์ต่อไป

หัวข้อ
วิทยาการข้อมูล
ความรู้ด้านข้อมูล