สถาบันข้อมูลขนาดใหญ่ (องค์การมหาชน)

Logo BDI For web

Logistic Regression ด้วย Microsoft Excel

Mar 26, 2021

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

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

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

ตัวอย่างโจทย์ด้านการจำแนกแบบไบนารีคือการแยกระหว่างสุนัขกับแมว (ภาพจากบทความ Analytics Building Blocks: Binary Classification)

การพัฒนาโมเดลโดยใช้เทคนิคการเรียนรู้ของเครื่องนี้ คนที่มีความรู้ด้านการเขียนโปรแกรมภาษาคอมพิวเตอร์ เช่น Python, R, MATLAB ฯลฯ อาจพัฒนาโมเดลผ่านการเขียนโปรแกรมด้วยภาษาที่ตนถนัด อย่างไรก็ดี ในบทความนี้จะมานำเสนอการทำโมเดลโดยใช้เครื่องมือง่าย ๆ ที่หลายคนมีอยู่ติดเครื่องคอมพิวเตอร์อยู่แล้ว นั่นก็คือโปรแกรม Microsoft Excel นั่นเอง โดยที่ไม่จำเป็นต้องใช้ความรู้การเขียนโปรแกรมที่ซับซ้อนแต่อย่างใด

คณิตศาสตร์ของการวิเคราะห์การถดถอยโลจิสติก

เทคนิคพื้นฐานหนึ่งที่ใช้ในการจัดหมวดหมู่ได้แก่เทคนิคการวิเคราะห์การถดถอยโลจิสติก (Logistic Regression) ซึ่งเป็นการพยายามฟิตเส้นโค้งซิกมอยด์ (Sigmoid Curve) ให้เข้ากับข้อมูลจริงมากที่สุดเท่าที่ทำได้ในหลักการที่คล้ายกับการวิเคราะห์การถดถอยเชิงเส้น (Linear Regression) ซึ่งเป็นการพยายามฟิตสมการเส้นตรงเข้ากับข้อมูลจริง สิ่งที่แตกต่างคือข้อมูลที่ทำนายจากการทำ Logistic Regression นั้นเป็นการทำนายระหว่างค่า 1 (ในเกณฑ์) และ ค่า 0 (นอกเกณฑ์) ในขณะที่การทำนายจากการทำ Linear Regression นั้นค่าที่ได้จากการทำนายอาจเป็นค่าตัวเลขใด ๆ ก็ได้

เพื่อให้ผลจากการทำนายโดย Logistic Regression มีค่าเป็น 0 หรือ 1 เท่านั้น ตัวแปรที่ส่งผลต่อการทำนายจะถูกคำนวณให้กลายเป็นค่าความน่าจะเป็น (Probability) ว่าค่านั้น ๆ มีความเป็นไปได้ที่จะเป็น 1 เท่าใด โดยสมการดังกล่าวสามารถเขียนได้ในรูปของ

{P(1) = \frac{e^{f(x,\beta)}}{1+e^{f(x,\beta)}} }
สมการคำนวณค่าความน่าจะเป็นที่จะเป็น 1

เมื่อ x คือเซ็ตของตัวแปรที่ส่งผลต่อการทำนาย, \beta คือเซ็ตของพารามิเตอร์ของโมเดลทำนาย, f(x) เป็นฟังก์ชันเชิงเส้นในรูปของ f(x)=\beta_0+\beta_1 x_1 + \beta_2 x_2 + ... และ P(1) คือค่าความน่าจะเป็นที่ค่าตัวแปรนั้นจะถูกทำนายให้เป็น 1

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

การฟิตเส้นตรงสำหรับการทำ Linear Regression นั้นวัดค่าความแม่นยำจากผลรวมของระยะห่างระหว่างข้อมูลจริงกับค่าที่ทำนายจากโมเดล

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

\mathrm{LL}=\log{\left(\mathrm{Likelihood}\right)}=\sum\limits_{i}\begin{cases}\log{\left(\frac{e^{\fleft(\mathbf{x}_i^\intercal \mathbf{\beta})}}{1+e^{\fleft(\mathbf{x}_i^\intercal \mathbf{\beta})}}\right)}, & y_i = 1 \\\log{\left(1-\frac{e^{\fleft(\mathbf{x}_i^\intercal \mathbf{\beta})}}{1+e^{\fleft(\mathbf{x}_i^\intercal \mathbf{\beta})}}\right)}, & y_i = 0\end{cases}
สมการคำนวณ Log Likelihood ของโมเดล

แทน โดยพจน์แรกว่าด้วยความเป็นไปได้ที่จุด i ใด ๆ ที่ทราบมาก่อน (labelled) ว่าเป็น 1 นั้น จะถูกโมเดลทำนายว่าเป็น 1 ในขณะที่พจน์ที่สองว่าด้วยความเป็นไปได้ที่จุด i ใดๆ ที่ทราบมาก่อนว่าเป็น 0 นั้นจะถูกโมเดลทำนายว่าเป็น 0 ด้วยเหตุนี้ผลรวมของสองพจน์จึงเป็นผลรวมความเป็นไปได้สำหรับกรณีที่โมเดลทายถูก (1 หรือ 0) ทั้งหมด โมเดลที่มีค่า \beta ที่สร้างความเป็นไปได้ที่สูงที่สุด (Maximum Likelihood) จึงถูกเลือกให้เป็นโมเดลที่เป็นตัวแทนของข้อมูลชุดนั้น

การฟิตเส้นโค้งซิกมอยด์ (Sigmoid Curve) เพื่อใช้ทำนายความน่าจะเป็นที่จะสอบผ่านเนื่องจากจำนวนชั่วโมงเรียน

เตรียมโปรแกรมและข้อมูลให้พร้อมสำหรับการทำ Logistic Regression

เพื่อจะให้โปรแกรม Microsoft Excel สามารถช่วยหาค่าเหมาะสมที่สุด (Optimization) ให้กับการคำนวณของเรานั้น ผู้ใช้จำเป็นต้องเปิดโหมด Solver ของโปรแกรมก่อน โดยไปที่แถบ File > Options > Add-ins จากนั้นเลื่อนไปที่ช่อง Manage เพื่อเลือก Excel Add-ins คลิก Go… ซึ่งจะเปิดหน้าต่าง Add-ins ขึ้นมา คลิกเลือก Solver Add-in กด OK แล้วรีสตาร์ตโปรแกรม หลังจากนั้นจะปรากฏคำสั่ง Solver ในหมวด Analyze ภายใต้แถบ Data

หลังจากแถบ File > Options ให้แถบเลือก Add-ins ก่อนจะคลิกเลือก Excel Add-ins ก่อนเลือก Solver Add-in เพื่อเปิดฟังก์ชัน Solver สำหรับใช้คำนวณหา Logistic Regression
หลังจากเปิดตัวเลือก Solver แล้ว จะปรากฏปุ่ม Solver ในหมวด Analyze ภายใต้แถบ Data

เมื่อเตรียมโปรแกรมเรียบร้อยแล้ว ขั้นตอนต่อไปอาจเป็นการเตรียมข้อมูล ในกรณีของ Tutorial นี้ผู้เขียนขอเลือกใช้ชุดข้อมูลผู้รอดชีวิตจากไททานิก โดยเลือกใช้ข้อมูล train.csv โดยเลือกเฉพาะตัวแปรที่เป็นตัวเลข (Numerical Data) โดยสรุปคอลัมน์ที่เลือกใช้ดังแสดงในตารางด้านล่าง

ชื่อตัวแปรความหมายคีย์
PassengerIdเลขประจำตัวผู้โดยสาร
Survivedรอดชีวิต0 = No, 1 = Yes
Pclassชั้นของตั๋ว1 = 1st, 2 = 2nd, 3 = 3rd
Ageอายุในหน่วยปี
SibSpจำนวนพี่น้อง/คู่สมรสที่ร่วมเดินทางบนเรือ
Parchจำนวนบิดามารดา/บุตรที่ร่วมเดินทางบนเรือ
Fareค่าโดยสาร
ตารางสรุปคอลัมน์ที่เลือกใช้สำหรับ Tutorial นี้

ตัวแปร PassengerId จะถูกใช้เป็น primary key สำหรับระบุตัวบุคคล ตัวแปร Survived จะเป็นตัวแปรที่เป็นเลเบลของข้อมูล ในขณะที่ตัวแปรอื่นจะถูกใช้เป็นตัวแปรอิสระ (Independent Variables) สำหรับการเทรนโมเดล ทั้งนี้ผู้เขียนได้ตัดแถวที่ไม่มีข้อมูลอายุของผู้โดยสารออกเพื่อให้ง่ายต่อการเทรน โดยสามารถทำบน Microsoft Excel ได้ผ่านการเลือกคำสั่ง Filter ภายใต้แถบ Data เพื่อเลือกเฉพาะข้อมูลที่เป็นค่าว่างในคอลัมน์ Age แล้วทำแถบดำเลือกทุกแถวที่ผ่านฟิลเตอร์เพื่อลบแถวเหล่านั้นออก เมื่อทำการเลือกคอลัมน์ข้อมูลและลบแถวที่มีข้อมูลไม่ครบแล้ว สามารถบันทึกไฟล์ดังกล่าวให้อยู่ในฟอร์แมต .xlsx เพื่อใช้เป็นข้อมูลที่จะนำเข้าเทรนโมเดลในขั้นตอนถัดไป

ผู้ใช้สามารถใช้คำสั่ง Filter ภายใต้แถบ Menu เพื่อเลือกเฉพาะข้อมูลแถวที่ต้องการ

เตรียม Excel Worksheet ให้พร้อมเทรนโมเดล

สำหรับ Tutorial นี้ เราจะเทรนโมเดลทำนายการรอดชีวิตของผู้โดยสารบนเรือไททานิก โดยใช้ตัวแปรอิสระ 5 ตัว ได้แก่ ชั้นของตั๋ว, อายุผู้โดยสาร, จำนวนพี่น้อง/คู่สมรสที่เดินทางร่วม, จำนวนบิดา/มารดา/บุตรที่เดินทางร่วม และค่าโดยสาร โดยใช้เทคนิค Logistic Regression

ตัวอย่างการจัดหน้า Excel Sheet ให้พร้อมสำหรับการคำนวณหาโมเดล Logistic Regression ข้อมูลดิบแสดงด้วยส่วนสีเหลือง ส่วนสีส้มแสดงคอลัมน์ที่จำเป็นในการคำนวณค่าสำหรับโมเดล ในขณะที่ค่าสัมประสิทธิ์ (พารามิเตอร์) ของโมเดลจะถูกแสดงในส่วนสีน้ำเงิน ซึ่งในภาพกำหนดค่าเริ่มต้นให้เป็น 0 สำหรับทุกสัมประสิทธิ์

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

ชื่อคอลัมน์ความหมายสูตรสำหรับ MS Excel (สำหรับข้อมูลของบุคคลในแถวที่ 6)
f(X)สมการเชิงเส้นสำหรับตัวแปรอิสระเพื่อใช้ในการคำนวณโมเดล=B2 + C2C6 + D2D6 + E2E6 + F2F6 + G2*G6
P(1)ค่าความน่าจะเป็นที่บุคคลนั้นจะถูกทำนายว่าเป็น 1 (รอดชีวิต)=EXP(I6)/(1+EXP(I6))
P(1 or 0)ปรับค่าความน่าจะเป็นให้ขึ้นกับเลเบลของบุคคลนั้น=J6^B6*(1-J6)^(1-B6)
LLค่าล็อกการิธึมของ likelihood=LOG(K6)
ตารางสรุปคอลัมน์ที่จำเป็นต้องใช้สำหรับการคำนวณ

ค่าในคอลัมน์ P(1) เป็นค่า probability ของผู้โดยสารที่ผู้โดยสารคนหนึ่ง ๆ จะรอดชีวิตที่คำนวณจากโมเดล โมเดลที่แม่นยำควรทำนายผู้โดยสารที่รอดชีวิตให้มีค่าเข้าใกล้ 1 ในขณะที่ผู้โดยสารที่ไม่รอดชีวิตควรจะมีค่าเข้าใกล้ 0

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

ในทางทฤษฎีเราอาจคำนวณ likelihood ของโมเดลด้วยผลคูณของ P(1 or 0) ของแต่ละผู้โดยสาร โมเดลที่ดีจะให้ผลคูณที่สูงที่สุด อย่างไรก็ดีในทางปฏิบัติพบว่าผลคูณดังกล่าวมีค่าน้อยมากเข้าใกล้ 0 และมีแนวโน้มสูงที่จะเกิดค่าความคลาดเคลื่อนเชิงตัวเลข (Numerical Error) เมื่อทำการคำนวณ ในทางปฏิบัติเราจึงคำนวณหาค่าล็อกการิธึมของค่าดังกล่าวก่อนจะนำไปคำนวณ โดยโมเดลที่ดีจะให้ค่าผลรวม log(likelihood) ที่สูงที่สุด ซึ่งจำเป็นต้องคำนวณลงมาแสดงบนเซลล์ให้เรียบร้อยเพื่อเตรียมพร้อมก่อนเทรนโมเดลต่อไป

เทรนโมเดลด้วย solver

เมื่อเตรียม worksheet พร้อมแล้ว ขั้นตอนถัดไปก็คือการให้ solver ช่วยหาค่าสัมประสิทธิ์ที่เหมาะกับข้อมูลชุดดังกล่าว โดยสามารถทำได้โดยคลิกที่แถบ Data > Solver

  1. Set Objective: ใส่เซลล์ที่เก็บค่าของผลรวม log(likelihood)
  2. To: เลือก Max
  3. By Changing Variable Cells: ใส่ลิสต์ของเซลล์ที่เก็บค่าสัมประสิทธิ์ของตัวแปร (พารามิเตอร์ของโมเดล)
  4. Make Unconstrained Variables Non-Negative: ไม่เลือก
  5. Select a Solving Method: เลือก GRG Nonlinear
  6. คลิก Solve

หลังจากนั้นโปรแกรมจะคำนวณโมเดลที่เหมาะสมให้ โปรแกรมจะแสดงหน้าต่าง Solver Results ขึ้นมา โดยผู้ใช้อาจเลือก Keep Solver Solution เพื่อเก็บค่าสัมประสิทธิ์ที่คำนวณลงบน worksheet พร้อมทั้งอาจเลือกให้โปรแกรมสร้างรายงานแสดงผลของโมเดล ก่อนกด OK เพื่อปิดหน้าต่างดังกล่าว ค่าสัมประสิทธิ์ที่คำนวณได้จาก solver สามารถนำไปใช้คำนวณบนข้อมูลของผู้โดยสารอื่นเพื่อทำนายความน่าจะเป็นที่ผู้โดยสารคนนั้นจะรอดชีวิตต่อไป

วัดค่าความแม่นยำของโมเดล

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

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

ชื่อคอลัมน์ความหมายสูตรสำหรับ MS Excel (สำหรับข้อมูลของบุคคลในแถวที่ 6 ของ excel sheet)
predictionผลทำนาย=IF(J6>=0.5,1,0)
accurateความสอดคล้องระหว่างค่าทำนายและค่าจริง=NOT(XOR(B6,M6 ))
ตารางสรุปคอลัมน์ที่ใช้สำหรับการคำนวณค่าความแม่นยำของโมเดล
ตัวอย่าง Excel Sheet ที่ได้หลังจากรัน Solver ส่วนสีน้ำเงินจะถูกแทนที่ด้วยค่าที่ได้จากการคำนวณ ส่วนสีเขียวเป็นการสร้างคอลัมน์เพิ่มเติมสำหรับใช้คำนวณหาความแม่นยำของตัวแปร

โดยรายละเอียดในคอลัมน์ accurate สามารถนำไปคำนวณหาค่า Accuracy ของโมเดลได้จากสมการ

\mathrm{Accuracy} = \frac{\mathrm{True  Prediction}}{\mathrm{Total  Cases}}
สมการคำนวณค่าความแม่นยำจากจำนวนการทำนายถูกต่อจำนวนการทายทั้งหมด

นอกจากนี้เรายังสามารถพล็อตข้อมูลเทียบกับโมเดล ค่าของข้อมูลสามารถพล็อตลงบนกราฟโดยให้แกนนอนแทนค่าของฟังก์ชันเชิงเส้นที่ได้จากพารามิเตอร์ของโมเดลและข้อมูลจริง (คอลัมน์ f(X)) และให้แกนตั้งแสดงค่าเลเบลจริงของข้อมูล (คอลัมน์ Survived) ดังแสดงให้เห็นในจุดสีส้มในภาพ โดยพล็อตคู่กับกราฟของสมการ y=\frac{e^x}{1+e^x} ซึ่งเป็นกราฟแสดงค่าที่โมเดลทำนาย

ตัวอย่างการพล็อตโมเดล (เส้นสีน้ำเงิน) เทียบกับข้อมูลจริง (จุดสีส้ม) โดยใช้ f(x) เพื่อแปลงค่าตัวแปรอิสระหลายตัวให้สามารถพล็อตได้บนแกนนอน และแกนตั้งแสดงค่าความน่าจะเป็นที่จะรอดชีวิต (P(1)) โมเดลที่พัฒนาขึ้นจะคำนวณค่า P(1) จากค่าตัวแปรอิสระจากบุคคลหนึ่งๆ ซึ่งอาจมีค่าอยู่ระหว่าง 0 ถึง 1

สำหรับกรณีนี้จะพบว่าโมเดลที่ได้มีค่าความแม่นยำ (Accuracy) ระดับปานกลางที่ 70% ประกอบกับเมื่อพิจารณาบนกราฟที่พล็อตเส้นโค้งซิกมอยด์คู่กับข้อมูลแล้วพบว่า ยังอาจมีค่า False Positive อยู่ค่อนข้างมาก เพื่อพัฒนาโมเดลเพิ่มเติม อาจจำเป็นต้องเพิ่มตัวแปรอิสระอื่น ๆ ที่ไม่ใช่ตัวแปรประเภทตัวเลขมาเทรนโมเดลเพิ่มเติมผ่านการ encode ให้สามารถคำนวณเสมือนเป็นตัวแปรประเภทตัวเลขได้ หรืออาจทำการวิศวกรรมฟีเจอร์ (Feature Engineering) เพิ่มเติม เพื่อพัฒนาโมเดลให้สามารถทำนายได้แม่นยำขึ้น


การสร้างโมเดลด้วย Microsoft Excel ช่วยให้สามารถตรวจสอบข้อผิดพลาดในการคำนวณ รวมทั้งช่วยให้เข้าใจคณิตศาสตร์เบื้องหลังโมเดล

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

เนื้อหาโดย พีรดล สามะศิริ
ปรับปรุงและแก้ไขโดย นนทวิทย์ ชีวเรืองโรจน์ และ ปพจน์ ธรรมเจริญพร

Peeradon Samasiri, PhD

Senior Project Manager & Data Scientist at Big Data Institute (Public Organization), BDI

© Big Data Institute | Privacy Notice