ColumnTransformer dla mieszanych typów
Różne przygotowanie dla różnych grup kolumn
ColumnTransformer dla mieszanych typów to bezpłatna lekcja Data Science Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Data Science Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Data Science Academy zawiera 4 lekcji w sumie.
Kolumny nie są sobie równe
Rzeczywiste tabele łączą liczby i kategorie, a każdy rodzaj wymaga innego przygotowania. Jeden skaler zastosowany do wszystkiego po prostu się nie sprawdzi. 🧩
Poznaj ColumnTransformer
ColumnTransformer stosuje różne transformatory do różnych grup kolumn — wszystko w jednym kroku, który można umieścić w pipeline.
Wymień grupy kolumn
Najpierw zdecyduj, które kolumny są numeryczne, a które kategoryczne. Każdej grupie przekażesz nazwany przez siebie transformer.
num_cols = ['age', 'income']
cat_cols = ['city', 'plan']Skalowanie liczb
Kolumny numeryczne zwykle wymagają StandardScaler, aby przed modelowaniem duże i małe wartości miały porównywalną skalę.
from sklearn.preprocessing import StandardScalerKodowanie kategorii
Kolumny kategoryczne trzeba zamienić na liczby, dlatego użyj OneHotEncoder, aby przekształcić każdą kategorię w osobną kolumnę 0/1.
from sklearn.preprocessing import OneHotEncoderPołącz wszystko
Każdy wpis to krotka zawierająca nazwę, transformer i kolumny, których dotyczy. ColumnTransformer uruchamia je równolegle.
from sklearn.compose import ColumnTransformer
prep = ColumnTransformer([('num', StandardScaler(), num_cols), ('cat', OneHotEncoder(), cat_cols)])Włącz element do potoku
Umieść transformer jako pierwszy krok, a model jako ostatni. Teraz przygotowanie danych mieszanych typów i modelowanie znajdują się w jednym potoku.
pipe = Pipeline([('prep', prep), ('model', LogisticRegression())])Pozostałe kolumny
Kolumny, których nie wymieniono, są domyślnie usuwane. Ustaw remainder na passthrough, jeśli chcesz zachować pozostałe kolumny bez zmian.
ColumnTransformer([...], remainder='passthrough')Obsługa nieznanych kategorii
Dane testowe mogą zawierać kategorię, której nie było w danych treningowych. Ustaw handle_unknown na ignore, aby enkoder ją pominął zamiast powodować błąd.
OneHotEncoder(handle_unknown='ignore')Wybieranie kolumn według typu
Ma Pan/Pani dość wpisywania nazw kolumn? make_column_selector wybiera kolumny na podstawie dtype, dzięki czemu przygotowanie danych dostosowuje się do zmian w tabeli.
from sklearn.compose import make_column_selector as selectorJedno dopasowanie, dwie ścieżki
Jednokrotne wywołanie fit uczy skaler i enkoder jednocześnie, korzystając z właściwych kolumn. Każda ścieżka uczy się wyłącznie na podstawie własnych kolumn.
Szybkie sprawdzenie
Ma Pan/Pani kolumny numeryczne i kategoryczne, które wymagają różnego przygotowania. Co sobie z tym poradzi?
Podsumowanie
Może Pan/Pani kierować kolumny numeryczne i kategoryczne do własnych transformerów za pomocą ColumnTransformer umieszczonego w jednym potoku. Następny temat: dostrajanie. 🔧
Często zadawane pytania
Czy lekcja „ColumnTransformer dla mieszanych typów” jest bezpłatna?
Tak — pełny tekst „ColumnTransformer dla mieszanych typów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Data Science Academy, przejdź na CoddyKit PRO. Kurs Data Science Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „ColumnTransformer dla mieszanych typów”?
Różne przygotowanie dla różnych grup kolumn Ćwiczysz Data Science Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Data Science Academy?
Nie wymagamy żadnego doświadczenia. Data Science Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „ColumnTransformer dla mieszanych typów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Data Science Academy?
Tak. Każda lekcja Data Science Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dlaczego Pipeline przewyższa ręczne kroki
- ColumnTransformer dla mieszanych typów
- Dostrajanie za pomocą GridSearchCV
- Zapisywanie i ponowne wczytywanie wytrenowanego Pipeline