ColumnTransformer สำหรับชนิดข้อมูลผสม
เตรียมข้อมูลต่างกันในแต่ละกลุ่มคอลัมน์
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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เหตุใดไปป์ไลน์จึงดีกว่าขั้นตอนทำเอง
- ColumnTransformer สำหรับชนิดข้อมูลผสม
- ปรับแต่งด้วย GridSearchCV
- บันทึกและโหลดไปป์ไลน์ที่ฝึกแล้ว