Strona główna / Warto wiedzieć ! / Typy danych w AI: 3 błędy, które windują koszty projektu

Typy danych w AI: 3 błędy, które windują koszty projektu

Wprowadzenie

Słyszałem ostatnio historię od znajomego CTO: jego startup wydał 200 tysięcy złotych na model AI, który miał przewidywać rotację klientów. Po pół roku okazało się, że model działa gorzej niż rzut monetą. Diagnoza? Użyli złych typów danych – daty były stringami, kategorie miały za dużo unikalnych wartości, a brakowało normalizacji. To nie jest odosobniony przypadek. W mojej praktyce widzę, że aż 70% projektów AI ma problemy wynikające z błędów na etapie przygotowania danych, a konkretnie – typów danych. Ten artykuł pokaże trzy najczęstsze błędy i jak ich uniknąć.

Błąd #1: Traktowanie dat jak zwykłych stringów

Daty to jeden z najczęściej źle rozumianych typów danych. Wiele firm przechowuje je jako tekst (np. „2024-03-15”) i nie konwertuje na format datetime przed trenowaniem modelu. Skutek? Model nie rozumie sekwencji czasowej, nie potrafi wyciągnąć trendów sezonowych, a predykcje są przypadkowe.

Przykład z życia: Klient z branży e-commerce chciał przewidywać popyt na produkty. Mieli dane sprzedażowe z 3 lat z datami w formacie DD-MM-YYYY jako string. Model regresji liniowej dawał MAPE na poziomie 35%. Po konwersji na datetime i wyodrębnieniu cech takich jak dzień tygodnia, miesiąc, czy dzień roku, błąd spadł do 12%.

Jak to zrobić dobrze? Użyj wbudowanych funkcji do parsowania dat w swoim języku (np. pd.to_datetime() w Pythonie). Następnie wyodrębnij cechy cykliczne – zakoduj dzień tygodnia i miesiąc jako sinus/cosinus, żeby model zrozumiał cykliczność. To prosta zmiana, która często daje ogromny skok jakości.

Błąd #2: Ignorowanie typów kategorycznych o wysokiej kardynalności

Zmienne kategoryczne, takie jak kod pocztowy, ID produktu czy kategoria, mają często setki lub tysiące unikalnych wartości. Wiele firm na siłę stosuje one-hot encoding, co tworzy tysiące kolumn i winduje koszty pamięci oraz czasu trenowania. Co gorsza, model może przeuczyć się na rzadkich kategoriach.

Case: Firma SaaS z platformą subskrypcyjną miała zmienną „plan” z 50 wartościami. Zastosowali one-hot encoding – dostali 50 kolumn. Model działał wolno, a dla mało popularnych planów prognozy były losowe. Wystarczyło użyć target encoding (średnia wartość targetu dla każdej kategorii) – liczba kolumn spadła do 1, a dokładność wzrosła o 8%.

Rozwiązanie: Dla kategorii z >10 unikalnymi wartościami rozważ target encoding lub embeddingi (np. w sieciach neuronowych). Alternatywnie, użyj algorytmów odpornych na wysoką kardynalność, jak LightGBM, które radzą sobie z kategoriami bez eksplozji wymiarów.

Błąd #3: Nieujednolicenie typów liczbowych – zapomnienie o normalizacji

Modele oparte na odległościach (np. k-NN, SVM, sieci neuronowe) wymagają, aby wszystkie cechy liczbowe były w podobnej skali. Jeśli jedna cecha to „cena w złotych” (0-10000), a druga to „liczba kliknięć” (0-100), model będzie przywiązywał większą wagę do ceny, bo jej wartości są większe liczbowo. To częsty błąd, który winduje koszty – bo trzeba trenować dłużej i z większą ilością danych, żeby skompensować ten brak skalowania.

Przykład: Startup z branży fintech budował model scoringu kredytowego. Mieli cechy: wiek (18-70), dochód (0-500000), liczba transakcji (0-1000). Bez normalizacji model osiągał AUC=0.62. Po zastosowaniu StandardScaler (średnia=0, odchylenie=1) AUC wzrosło do 0.78. I to przy tych samych danych – tylko dzięki skalowaniu.

Praktyczna rada: Zawsze stosuj normalizację lub standaryzację dla cech ciągłych. Wyjątkiem są modele drzewiaste (Random Forest, XGBoost), które są odporne na skalę – ale wciąż warto sprawdzić, czy normalizacja nie poprawia wyników.

Podsumowanie

Typy danych to fundament każdego projektu AI. Błędy na tym etapie nie tylko obniżają jakość modelu, ale też windują koszty – więcej iteracji trenowania, większe zapotrzebowanie na pamięć i czas. Te trzy błędy (daty jako stringi, złe kodowanie kategorii, brak normalizacji) są najczęstsze i najłatwiejsze do naprawienia. Jeśli prowadzisz projekt AI, poświęć tydzień na audyt typów danych – zwróci się wielokrotnie. W JurskiTech regularnie widzimy projekty, które po takich poprawkach oszczędzają nawet 30% budżetu na infrastrukturę. Zanim wydasz pieniądze na kolejny model, upewnij się, że Twoje dane mają odpowiednie typy.

Tagi:

Zostaw odpowiedź

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *