Narzedzia AI
Narzedzia AI · 5 min czytania · 27 grudnia 2025

AI: 3 sposoby na kodowanie kategorii w danych

Jak przygotować dane dla AI? 3 sposoby na kodowanie kategorii

Źródło: Link

Masz bazę klientów. Kolumna "Miasto": Warszawa, Kraków, Gdańsk. Albo "Wykształcenie": podstawowe, średnie, wyższe.

Problem? Algorytmy nie czytają słów. Liczą.

I tu zaczyna się zabawa - bo sposób, w jaki przekształcisz te kategorie, zadecyduje, czy Twój model zadziała, czy padnie.

Czemu AI ma problem ze słowami

Uczysz kogoś matematyki, ale zamiast cyfr dostajesz: "trochę", "sporo", "masa". Jak to dodać?

Czemu AI ma problem ze słowami
Czemu AI ma problem ze słowami

Modele ML mnożą, dodają, porównują. Słowo "Warszawa" dla nich to pusty dźwięk. Zero sensu.

Dlatego potrzebujemy kodowania - zamiany kategorii (płeć, miasto, kolor) na liczby. Ale nie byle jakie.

Bo jeśli zakodujemy miasta jako: Warszawa = 1, Kraków = 2, Gdańsk = 3, model pomyśli, że Gdańsk jest "3 razy większy" od Warszawy. Co brzmi absurdalnie.

Metoda 1: Label Encoding - proste numerowanie

Najprostsza metoda. Każdej kategorii dajesz kolejną liczbę.

Przykład: Kolumna "Rozmiar koszulki" z wartościami S, M, L, XL. Kodujesz: S = 1, M = 2, L = 3, XL = 4.

Kiedy to działa? Gdy kategorie mają naturalny porządek - są ordinalne. Wykształcenie: podstawowe < średnie < wyższe. Oceny: słabo < średnio < dobrze.

Tu relacja "większe od" ma sens. Model zrozumie hierarchię i użyje jej.

Kiedy to NIE zadziała

Kolumna "Kolor samochodu": czerwony, niebieski, zielony. Kodujesz: czerwony = 1, niebieski = 2, zielony = 3.

Model pomyśli: zielony (3) jest "bardziej" niż czerwony (1). Że niebieski to coś pomiędzy. Nonsens - kolory nie mają hierarchii.

Efekt? Model znajdzie fałszywe zależności. Będzie myślał, że czerwone auta są "mniejsze". Twoje prognozy pójdą w las.

Metoda 2: One-Hot Encoding - każda kategoria dostaje swoją kolumnę

Najbezpieczniejsza metoda dla kategorii bez porządku (nominalnych).

Metoda 2: One-Hot Encoding - każda kategoria dostaje swoją kolumnę
Metoda 2: One-Hot Encoding - każda kategoria dostaje swoją kolumnę

Jak działa? Zamiast jednej kolumny "Miasto" tworzysz trzy:

  • Miasto_Warszawa (1 jeśli Warszawa, 0 jeśli nie)
  • Miasto_Kraków (1 jeśli Kraków, 0 jeśli nie)
  • Miasto_Gdańsk (1 jeśli Gdańsk, 0 jeśli nie)

Klient z Warszawy: [1, 0, 0]. Z Krakowa: [0, 1, 0].

Teraz model nie widzi żadnej hierarchii. Warszawa nie jest "mniejsza" od Gdańska - to po prostu różne opcje.

Pułapka: eksplozja kolumn

Kolumna "Kod pocztowy" z 10 000 unikalnymi wartościami. One-Hot Encoding stworzy 10 000 nowych kolumn.

Tabela eksploduje. Obliczenia zwolnią do granic absurdu. Model utonie.

Zasada? One-Hot sprawdza się, gdy masz mało kategorii - powiedzmy do 10-20. Płeć, województwo, typ produktu? Okej. Kod pocztowy, ID użytkownika? Już nie.

Metoda 3: Target Encoding - kodowanie przez cel

Najbardziej zaawansowana. I najbardziej ryzykowna.

Zamiast losowych liczb, kodujesz kategorię na podstawie tego, co chcesz przewidzieć (target).

Przykład: Przewidujesz, czy klient kupi produkt (tak/nie). Kolumna "Miasto".

  • W Warszawie kupiło 60% klientów → Warszawa = 0.6
  • W Krakowie 45% → Kraków = 0.45
  • W Gdańsku 75% → Gdańsk = 0.75

Każde miasto ma teraz liczbę pokazującą "siłę kupowania". Model dostaje gotową podpowiedź.

Ryzyko: overfitting

Overfitting to sytuacja, gdy model "zakuwa na pamięć" dane treningowe, zamiast uczyć się ogólnych zasad.

Target Encoding daje modelowi zbyt łatwe życie. Widzi, że Gdańsk = 0.75, więc automatycznie: "Gdańsk = kupią". A co, jeśli Twoja próbka z Gdańska była przypadkowo pełna entuzjastów? Model nie zadziała na nowych danych.

Zabezpieczenie? Cross-validation - dzielisz dane na części i kodujesz każdą osobno. Albo dodajesz smoothing - wygładzanie, które łagodzi ekstremalne wartości.

To techniki dla osób z lekkim doświadczeniem. Dopiero zaczynasz? Trzymaj się One-Hot Encoding.

Która metoda dla Ciebie?

Zależy od typu danych:

Która metoda dla Ciebie?
Która metoda dla Ciebie?
  • Kategorie z porządkiem (oceny, rozmiary, poziomy) → Label Encoding
  • Kategorie bez porządku, mało wartości (płeć, województwo, typ) → One-Hot Encoding
  • Kategorie bez porządku, dużo wartości (kody pocztowe, marki) → Target Encoding (ostrożnie!)

Nie ma jednej złotej reguły. Czasem trzeba przetestować kilka metod i sprawdzić, która daje lepsze wyniki.

Jedno jest pewne: jeśli zignorujesz kodowanie i wrzucisz surowe słowa do modelu, dostaniesz błąd. Albo - co gorsze - model się nauczy kompletnie nie tego, co chciałeś.

Praktyczny przykład w Pythonie

Nie musisz kodować ręcznie. Biblioteka scikit-learn (najpopularniejsze narzędzie do ML w Pythonie) robi to za Ciebie.

Label Encoding:

from sklearn.preprocessing import LabelEncoder
Le = LabelEncoder()
Df['Rozmiar_zakodowany'] = le.fit_transform(df['Rozmiar'])

One-Hot Encoding:

df = pd.get_dummies(df, columns=['Miasto'])

Jedna linijka - i masz gotowe dane dla modelu.

Target Encoding wymaga dodatkowej biblioteki (category_encoders), ale zasada ta sama. Kilka linijek kodu i działa.

Co zapamiętać

Dane z prawdziwego świata to nie arkusz Excela z liczbami. To chaos: słowa, kategorie, błędy.

Kodowanie to most między tym chaosem a modelem AI. Zrobisz to źle - model nauczy się bzdur. Zrobisz dobrze - dostaniesz prognozy, które działają.

Zacznij od One-Hot Encoding dla kategorii nominalnych. To bezpieczna stawka. Potem eksperymentuj.

Źródła

Informacje o artykule

Darmowy AI Starter Kit

10 gotowych promptów do codziennej pracy + 5 narzędzi + plan na pierwszy tydzień. PDF, 4 strony konkretu.

Udostępnij:
Nie przegap nowych artykułów - dodaj SukcesAI do swoich źródeł w wyszukiwarce Google.
Dodaj do preferowanych źródeł
Jan Gajos

Ekspert AI & Founder, AI Evolution

Pasjonat sztucznej inteligencji, który od ponad 15 lat działa z sukcesem biznesowo i szkoleniowo. Wprowadzam AI do swoich firm oraz codziennego życia. Fascynują mnie nowe technologie, gry wideo i składanie klocków Lego - tam też widzę logikę i kreatywność, które AI potrafi wzmacniać. Wierzę, że dobrze użyta sztuczna inteligencja to nie ogłupiające ułatwienie, lecz prawdziwy przełom w sposobie, w jaki myślimy, tworzymy i pracujemy.