Close Menu
    Trending
    • From Accidents to Actuarial Accuracy: The Role of Assumption Validation in Insurance Claim Amount Prediction Using Linear Regression | by Ved Prakash | Jun, 2025
    • I Wish Every Entrepreneur Had a Dad Like Mine — Here’s Why
    • Why You’re Still Coding AI Manually: Build a GPT-Backed API with Spring Boot in 30 Minutes | by CodeWithUs | Jun, 2025
    • New York Requiring Companies to Reveal If AI Caused Layoffs
    • Powering next-gen services with AI in regulated industries 
    • From Grit to GitHub: My Journey Into Data Science and Analytics | by JashwanthDasari | Jun, 2025
    • Mommies, Nannies, Au Pairs, and Me: The End Of Being A SAHD
    • Building Essential Leadership Skills in Franchising
    Finance StarGate
    • Home
    • Artificial Intelligence
    • AI Technology
    • Data Science
    • Machine Learning
    • Finance
    • Passive Income
    Finance StarGate
    Home»Machine Learning»Data Preparation. Notes from Data Science class + my own… | by Wichada Chaiprasertsud | Feb, 2025
    Machine Learning

    Data Preparation. Notes from Data Science class + my own… | by Wichada Chaiprasertsud | Feb, 2025

    FinanceStarGateBy FinanceStarGateFebruary 4, 2025No Comments4 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Notes from Information Science class + my very own analysis

    Information ส่วนใหญ่ที่เราจะได้มักจะอยู่ในรูปของ Information Desk ซึ่งก็จะประกอบไปด้วย

    • Row — แทนแต่ละ instance หรือ occasion
    • Column — ซึ่งแทนแต่ละ Characteristic

    ตัวแปรก็จะแบ่งออกเป็น

    • Enter — ข้อมูลตัวแปรต้นของเรา
    • Output — ข้อมูลที่เป็นตัวแปรตาม หรือผลลัพธ์ Final result ที่เราต้องการจะหา
    https://365datascience.com/trending/data-types-complete-guide/

    ข้อมูลของเราเองก็จะแบ่งได้เป็นหลายปะเภทตามรูปกราฟข้างต้น และในบางครั้งก็สามารถเรียกได้หลายแบบ เช่น

    Quantitiative อาจเรียกเป็น Numerical
    Quantitiative เองก็อาจจะแบ่งเป็น Steady/Discrete หรือ Interval/Ratio ก็ได้ โดย

    • Steady vs. Discrete is about how numbers behave (measured vs. counted)
    • Interval vs. Ratio is about what the numbers imply (have they got a real zero?)
    ChatGPT generated

    ซึ่งบางครั้งก็ชวนให้สับสนได้ เช่น

    • Gender (Feminine/Male) ก็จะเป็นประเภทของ Nominal
    • การเลือกซื้อหรือไม่ซื้อ โดยระบุค่าแทนด้วย 1 หรือ 0 ก็จัดเป็นประเภทของ Nominal

    “Garbage in, rubbish out. No algorithm can repair unhealthy knowledge.”

    การเตรียม Information เป็นขั้นตอนที่สำคัญและมีผลมาก ๆ กับ mannequin ของเรา “A mannequin is simply nearly as good as the info it learns from.”

    Cr. Peerapon Vateekul, Ph.D. Slide
    Cr. Peerapon Vateekul, Ph.D. Slide/https://www.dataquest.io/blog/machine-learning-preparing-data/

    เราจะมา walkthrough แต่ละขั้นตอนที่สำคัญกัน

    การตรวจสอบและทำความเข้าใจ Information ของเรา โดยพื้นฐานแล้วนั้น อาจจะเริ่มจากการ ดูข้อมูลของเราคร่าว ๆ เช่น การใช้ functionใน pandas เพื่อ examine knowledge มาดู

    guideline คร่าว ๆ ก็เช่นการดู

    • df.form()
    • df.information()
    • df.describe()
    • df.isnull().sum()
    • df.hist()
    • df.value_counts()

    ซึ่งตัวแปรแต่ละประเภทก็จะมีสิ่งที่เราควรดูแตกต่างกันออกไป

    Numerical variables
    – เช็ค vary — out of ranges
    – Graph distribution: Histogram

    Categorical variables
    – การดูค่าแปลก ๆ ค่าที่พิมพ์ผิด ผิดปกติ miscodes ต่าง ๆ
    – Graph distribution: Frequency desk, bar chat

    Goal variable
    – ดูการกระจายตัวของคำตอบในข้อมูลที่เรามี
    – ดูอัตราส่วนของค่าต่าง ๆ
    – Graph distribution: bar chat, pie chart

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

    • Take away unqualified characteristic
      การเอา characteristic ที่อาจทำให้เกิดผลที่ผิดเพี้ยนออกไม่ว่าจะเป็น
      – too many distinctive values → เมื่อ map enter/output แทบจะเป็น 1:1 ซึ่งค่าเหล่านี้ lack of generalization อาจทำให้เกิด overfit ได้
      – too many lacking values > 50%
      – Flat values → มี output ใด output หนึ่งมากเกินไป จนแทบมีคำตอบเดียว อาจทำให้ undergit ได้ (อาจมองเป็นการตั้ง precondition แทน)
    • Characteristic engineering
      สำหรับเรามันคือการแปลงข้อมูลให้มีความหมาย มีประสิทธิภาพมากขึ้น
      เช่น เราอาจจะแปลง zip code เป็นระยะห่างจากสาขาที่ใกล้ที่สุด เอา Date/Time มาแปลงเป็นรูปแบบต่าง ๆ เช่นวันในสัปดาห์ เดือน ครั้งล่าสุดที่มา ช่วงของชั่วโมงในวัน หรือการเอา location มามองเป็น district เป็นต้น
    • Take away temporal Infidelity options
      ข้อมูลบางตัวที่เรามีอาจจะใช้ในการทำนายไม่ได้ อาจจะเป็นข้อมูลที่ในลำดับ timeline ตอนที่เราทำนาย ยังไม่ควรได้มา ทำให้เมื่อใช้ไปอาจจะขี้โกงบอกผลลัพธ์ที่ควรได้ให้กับเราล่วงหน้า เช่น ถ้าเราต้องการทำ cresit scoring ของปี 2017 เราก็ไม่สามารถใช้ค่า FICO 2017 ที่จะถูกคิดในตอนสิ้นปี 2017 มาใช้ได้
      ต้องดูลำดับเหตุการณ์หรือความสัมพันธ์ของข้อมูลตามเวลาดี ๆ
    • Take away leaking-target options
      ข้อมูลที่แอบบอกใบ้ผลการทำนาย ทำให้ข้อมูลที่ไม่ควรมี leak ออกมา เช่น เราต้องการจะทำนายว่าลูกค้าจะซื้อของหรือไม่ แต่เราใส่ยอดการซื้อ หรือจำนวนการซื้อของของลูกค้าไป

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

    เมื่อเราทำความเข้าใจและคัดกรองข้อมูลที่จะนำมาใช้เรียบร้อยแล้ว ขั้นตอนถัดมาก็คือการเตรียมความพร้อมและตรวจเช็คข้อมูลที่เราคัดมาใช้

    3.1) Lacking values

    Information ที่เราได้มาอาจจะไม่ได้ excellent เสมอไป อาจจะมีความผิดพลาดในการเก็บจ จึงมี lacking worth ได้

    Inputs มี lacking
    ทำการแทนที่ข้อมูลนั้น ๆ หรือตัดข้อมูลชุดนั้นออก การแทนที่อาจทำได้โดย

    Statistical strategy
    ใช้ stat values อย่าง imply median mode หรืออาจจะเพิ่มเติมโดยการ Stats by group เช่น ใช้ Imply by group รวมถึงการ Separate lacking group ออกมา โดยการใส่เป็น group แยกใน Categorical variables

    Mannequin-based strategy
    “use different variables to foretell the lacking values” ซึ่งก็ใช้ได้ทั้ง linear mannequin, tree-based mannequin

    Goal มี lacking
    ในกรณีนี้เราจะต้องตัดข้อมูลชุดนั้น ๆ ออก

    3.2) Categorical to numeric variables

    เนื่องจากการทำงานด้านใน mannequin ต่าง ๆ เป็นการใช้หลักการทางคณิตศาสตร์ เราจึงจะต้องแปลงตัวแปร categorical → numeric

    Categorical variable แบ่งออกเป็น

    Ordinal variable

    เราสามารถ Enumerate ทำการ apply operate อะไรสักอย่างเข้าไปได้เลย เนื่องจากเป็นตัวแปรที่สามารถเรียงลำดับได้อยู่แล้ว เช่น เกรด

    Nominal variable

    เราสามารถใช้การ Encoding หรือว่าเทคนิคต่าง ๆ เช่น

    One-hot Encoding — รูปแบบยอดฮิต
    Converts N categorical values into N-1 separate binary columns
    การแปลงจาก x = “A” or “B” or “C” มาเป็น column A B ที่เก็บ 0, 1 แทนการเป็นเลขแต่ละตัว ทำให้จะได้ A=1, B=0 แทน A A=0, B=1 แทน B และ A=0, B=0 แทน C
    ข้อเสีย ถ้ามีรูปแบบเยอะจะได้ columns เพิ่มเยอะไป

    Cr. Peerapon Vateekul, Ph.D. Slide

    Goal Encoding
    replaces categorical values with the typical of the goal variable for every class. เหมาะกับ characteristic ที่มี distinctive worth เยอะ
    ข้อเสีย overfitted ง่าย, Information leakage

    Goal Averaging (Likelihood Encoding)
    คล้าย Goal Encoding แต่ใช้กับ classification issues(Binary). Replaces every class with the likelihood of the goal class.
    จำนวนครั้งที่ class นั้น ๆ เป็น 1/จำนวนครั้งที่เป็น class นั้น เช่น
    df[‘City_encoded’] = df.groupby(‘Metropolis’)[‘Churn’].remodel(‘imply’)
    ข้อเสีย overfitted ง่าย, Information leakage

    Cr. Peerapon Vateekul, Ph.D. Slide

    Weight of Proof (WoE) Encoding
    Utilized in binary classification issues. Calculates the ratio of optimistic to unfavourable outcomes in a logarithmic scale.
    ข้อเสีย Wants massive knowledge

    Cr. Peerapon Vateekul, Ph.D. Slide

    Smoothed Weight of Proof (SWoE)
    Modification of WoE to deal with small pattern sizes and keep away from excessive values. Makes use of Laplace smoothing to make sure stability.
    ข้อเสีย Wants tuning

    Cr. Peerapon Vateekul, Ph.D. Slide

    3.3) Truncate outliers

    take away or remodel outliers
    การระบุ outliers ก็อาจทำได้โดย
    1.) ใช้ regular distribution
    2.) ใช้ Field plot แล้วใช้ IQR ในการคิด
    3.) trim ตามเปอร์เซ็นหัว, ท้ายที่กำหนด

    3.4) Characteristic transformation

    ดูความเบ้จากค่า skewness ถ้าเบ้มากอาจจะต้อง remodel เพื่อปรับค่า เช่น การ take log, Bining(Group ค่าเป็นช่วงแล้วใช้เลขช่วงแทน)

    3.4) Characteristic engineering

    สำหรับเรามันคือการแปลงข้อมูลให้มีความหมาย นำค่ามาคำนวณ หรือคัดเอาพฤติกรรมต่าง ๆ เช่น Conduct from transactional knowledge (RFM/RFA) ดู Recency(final order) Frequency(variety of orders within the given interval) Financial worth(How a lot cash spent)

    แบ่ง knowledge ออกเป็นส่วนสำหรับ Practice/Validate/Take a look at หรือ Practice/Take a look at โดยที่ดราจะต้องคง distribution ตั้งต้นเอาไว้ (stratification) ส่วนมากก็ใช้ train_test_split ในการแบ่งโดยปกติ (ใส่ random_state เพื่อให้ replicate ผลได้ กับ stratify ด้วย*)

    Practice → ใช้สำหรับ practice
    Validate(non-obligatory) → ใช้สำหรับ mannequin tuning
    Take a look at → ใช้สำหรับ take a look at/consider(simulate on unseen)

    บางครั้งในขั้นตอนการแบ่งชุดข้อมูลก็อาจทำให้เกิด Information leaking ได้เช่นกัน เช่นสมมุติเรามี enter เป็นภาพจาก VDO เราก็อาจจะต้องแบ่งให้ VDO เดียวกัน อยู่ในชุดเดียวกัน หรือในข้อมูลประเภท time sequence เราก็อาจจะต้องแบ่งตามช่วงเวลาที่ต่อกัน

    หลังการ practice ก็อาจจะเกิด overfitting/underfitting ซึ่งเราก็ต้องแก้ไขตามวิธีการต่าง ๆ ต่อไป

    บางครั้งในขั้นตอน Validation ก็อาจจะเกิดการ overfitting บน validation take a look at ได้เหมือนกัน ซึ่งวิธีการ Validate ที่จะช่วยได้ก็คือ

    Ok-Fold Cross Validation

    Why: Helps estimate the mannequin’s anticipated efficiency, Prevents unfortunate splits.

    เวลาที่เราแบ่งเป็น Practice/Validate/Take a look at สังเกตว่า เรามีการ validate บน knowledge ก้อนเดียว ซึ่งผลจากการ validate บน knowledge ก้อนเดียวนั้น ก็ไม่ได้แปลว่าผลจะดีกับ knowledge ทั้งหมด

    Is the mannequin constantly good?
    The way to choose the very best hyperparameters and mannequin choice?

    แทนที่จะทำแบบนั้น เราเลยแบ่งเป็น Practice/Take a look at แต่ก้อน Practice ของเราจะแบ่งเป็น ก้อนเล็ก ๆ okay ก้อน โดยเราจะวน iterationในการ practice และ validate ทั้งหมด okay รอบ โดยเราจะวนก้อนสำหรับ validate 1 ก้อนไปเรื่อย ๆ และให้อีก k-1 ก้อนเป็นส่วนสำหรับ practice ผลการ validate ก็จะเป็น imply(accuracy_scores) ของทุก fold นั่นเอง การทำแบบนี้จะทำให้ทุก Practice knowledge มีส่วนในการ validate ทำให้เราได้ผล validate ที่ตรงกับความจริงมากขึ้น และสามารถเลือก/เปรียบเทียบ mannequin ได้ดีกว่านั่นเอง



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleHow to unlock tax-efficient RRSP strategies
    Next Article Solving the generative AI app experience challenge
    FinanceStarGate

    Related Posts

    Machine Learning

    From Accidents to Actuarial Accuracy: The Role of Assumption Validation in Insurance Claim Amount Prediction Using Linear Regression | by Ved Prakash | Jun, 2025

    June 13, 2025
    Machine Learning

    Why You’re Still Coding AI Manually: Build a GPT-Backed API with Spring Boot in 30 Minutes | by CodeWithUs | Jun, 2025

    June 13, 2025
    Machine Learning

    From Grit to GitHub: My Journey Into Data Science and Analytics | by JashwanthDasari | Jun, 2025

    June 13, 2025
    Add A Comment

    Comments are closed.

    Top Posts

    7 AI Tools That Help You Build a One-Person Business — and Make Money While You Sleep

    April 26, 2025

    Sentence Transformers, Bi-Encoders And Cross-Encoders | by Shaza Elmorshidy | Mar, 2025

    March 10, 2025

    Best Jobs for Introverts With the Highest Pay: Report

    March 13, 2025

    Build a Profitable One-Person Business That Runs Itself — with These 7 AI Tools

    June 7, 2025

    How Mentoring Young People Makes You a Better Leader

    March 23, 2025
    Categories
    • AI Technology
    • Artificial Intelligence
    • Data Science
    • Finance
    • Machine Learning
    • Passive Income
    Most Popular

    Logistic Regression in Real Life: How Netflix, Uber, and Banks Use It Daily | by Jainil Gosalia | May, 2025

    May 12, 2025

    Should You Switch from Scikit-learn to PyTorch for GPU-Accelerated Machine Learning? | by ThamizhElango Natarajan | Jun, 2025

    June 5, 2025

    🚀 Unlock the Future of AI with the GSDC Global Agentic AI Masterclass 2025 — Absolutely Free! 🤖 | by Global Skill Development Council (GSDC) | Apr, 2025

    April 26, 2025
    Our Picks

    Why Every Aspiring Day Trader Should Start With a Simulator

    April 22, 2025

    Anthropic’s Claude Opus 4 AI Model Is Capable of Blackmail

    May 23, 2025

    Comprehensive Guide to Dependency Management in Python

    March 7, 2025
    Categories
    • AI Technology
    • Artificial Intelligence
    • Data Science
    • Finance
    • Machine Learning
    • Passive Income
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • About us
    • Contact us
    Copyright © 2025 Financestargate.com All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.