Data Science Academy · บทเรียน

ColumnTransformer สำหรับชนิดข้อมูลผสม

เตรียมข้อมูลต่างกันในแต่ละกลุ่มคอลัมน์

บทเรียน 2 จาก 413 ขั้นตอน

ColumnTransformer สำหรับชนิดข้อมูลผสม เป็นบทเรียน Data Science Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Data Science Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Data Science Academy มีบทเรียนทั้งหมด 4 บทเรียน

คอลัมน์ไม่ได้เหมือนกันทั้งหมด

ตารางจริงมักมีทั้งตัวเลขและหมวดหมู่ ซึ่งแต่ละประเภทต้องเตรียมข้อมูลต่างกัน การใช้ตัวปรับสเกลเพียงตัวเดียวกับทุกอย่างย่อมใช้ไม่ได้ 🧩

พบกับ ColumnTransformer

ColumnTransformer ใช้ตัวแปลงที่แตกต่างกันกับกลุ่มคอลัมน์ที่แตกต่างกัน โดยรวมทุกอย่างไว้ในขั้นตอนเดียวที่สามารถใส่ไว้ในกระบวนการทำงานได้

ระบุกลุ่มคอลัมน์

ขั้นแรกให้ตัดสินใจว่าคอลัมน์ใดเป็นตัวเลขและคอลัมน์ใดเป็นหมวดหมู่ จากนั้นคุณจะกำหนดตัวแปลงเฉพาะให้แต่ละ กลุ่ม โดยใช้ชื่อ

num_cols = ['age', 'income']
cat_cols = ['city', 'plan']

ปรับสเกลตัวเลข

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

from sklearn.preprocessing import StandardScaler

เข้ารหัสหมวดหมู่

คอลัมน์หมวดหมู่จำเป็นต้องแปลงเป็นตัวเลข ดังนั้นโปรดใช้ OneHotEncoder เพื่อเปลี่ยนแต่ละหมวดหมู่ให้เป็นคอลัมน์ 0/1 ของตนเอง

from sklearn.preprocessing import OneHotEncoder

เชื่อมทุกอย่างเข้าด้วยกัน

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

from sklearn.compose import ColumnTransformer
prep = ColumnTransformer([('num', StandardScaler(), num_cols), ('cat', OneHotEncoder(), cat_cols)])

ใส่ลงในไปป์ไลน์

วางตัวแปลงเป็นขั้นตอนแรก และวางโมเดลเป็นขั้นตอนสุดท้าย จากนี้การเตรียมข้อมูลหลายชนิดและการสร้างโมเดลจะอยู่ในไปป์ไลน์เดียวกัน

pipe = Pipeline([('prep', prep), ('model', LogisticRegression())])

คอลัมน์ที่เหลือ

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

ColumnTransformer([...], remainder='passthrough')

จัดการหมวดหมู่ที่ไม่เคยพบ

ข้อมูลทดสอบอาจมีหมวดหมู่ที่ไม่เคยปรากฏในข้อมูลฝึก ให้ตั้งค่า จัดการค่าที่ไม่รู้จัก เป็น ignore เพื่อให้ตัวเข้ารหัสข้ามหมวดหมู่นั้นแทนที่จะทำงานล้มเหลว

OneHotEncoder(handle_unknown='ignore')

เลือกคอลัมน์ตามชนิด

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

from sklearn.compose import make_column_selector as selector

ฝึกครั้งเดียว ใช้ได้ทั้งสองเส้นทาง

การเรียกใช้ fit เพียงครั้งเดียวจะฝึกตัวปรับมาตราส่วนและตัวเข้ารหัสกับคอลัมน์ที่ถูกต้องพร้อมกัน แต่ละเส้นทางจะเรียนรู้จากคอลัมน์ของตัวเองเท่านั้น

ตรวจสอบอย่างรวดเร็ว

คุณมีคอลัมน์ตัวเลขและคอลัมน์หมวดหมู่ที่ต้องเตรียมต่างกัน สิ่งใดจะจัดการเรื่องนี้

สรุปทบทวน

ตอนนี้คุณสามารถส่งคอลัมน์ตัวเลขและคอลัมน์หมวดหมู่ไปยังตัวแปลงของตนเองได้ด้วย ColumnTransformer ภายในไปป์ไลน์เดียว ขั้นต่อไปคือการปรับแต่ง 🔧

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “ColumnTransformer สำหรับชนิดข้อมูลผสม” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ColumnTransformer สำหรับชนิดข้อมูลผสม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Data Science Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Data Science Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ColumnTransformer สำหรับชนิดข้อมูลผสม”

เตรียมข้อมูลต่างกันในแต่ละกลุ่มคอลัมน์ คุณปฏิบัติ Data Science Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Data Science Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Data Science Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “ColumnTransformer สำหรับชนิดข้อมูลผสม” ใช้เวลานานแค่ไหน

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

ฉันเขียนและรันโค้ดในบทเรียน Data Science Academy นี้ได้ไหม

ได้ บทเรียน Data Science Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เหตุใดไปป์ไลน์จึงดีกว่าขั้นตอนทำเอง
  2. ColumnTransformer สำหรับชนิดข้อมูลผสม
  3. ปรับแต่งด้วย GridSearchCV
  4. บันทึกและโหลดไปป์ไลน์ที่ฝึกแล้ว
← กลับไปที่ Data Science Academy