{"id":2471,"date":"2026-07-06T21:00:34","date_gmt":"2026-07-06T21:00:34","guid":{"rendered":"https:\/\/news.jurskitech.pl\/blog\/uncategorized\/typy-danych-w-ai-3-bledy-ktore-winduja-koszty-projektu\/"},"modified":"2026-07-06T21:00:34","modified_gmt":"2026-07-06T21:00:34","slug":"typy-danych-w-ai-3-bledy-ktore-winduja-koszty-projektu","status":"publish","type":"post","link":"https:\/\/news.jurskitech.pl\/blog\/warto-wiedziec\/typy-danych-w-ai-3-bledy-ktore-winduja-koszty-projektu\/","title":{"rendered":"Typy danych w AI: 3 b\u0142\u0119dy, kt\u00f3re winduj\u0105 koszty projektu"},"content":{"rendered":"<h2 id=\"wprowadzenie\">Wprowadzenie<\/h2>\n<p>S\u0142ysza\u0142em ostatnio histori\u0119 od znajomego CTO: jego startup wyda\u0142 200 tysi\u0119cy z\u0142otych na model AI, kt\u00f3ry mia\u0142 przewidywa\u0107 rotacj\u0119 klient\u00f3w. Po p\u00f3\u0142 roku okaza\u0142o si\u0119, \u017ce model dzia\u0142a gorzej ni\u017c rzut monet\u0105. Diagnoza? U\u017cyli z\u0142ych typ\u00f3w danych \u2013 daty by\u0142y stringami, kategorie mia\u0142y za du\u017co unikalnych warto\u015bci, a brakowa\u0142o normalizacji. To nie jest odosobniony przypadek. W mojej praktyce widz\u0119, \u017ce a\u017c 70% projekt\u00f3w AI ma problemy wynikaj\u0105ce z b\u0142\u0119d\u00f3w na etapie przygotowania danych, a konkretnie \u2013 typ\u00f3w danych. Ten artyku\u0142 poka\u017ce trzy najcz\u0119stsze b\u0142\u0119dy i jak ich unikn\u0105\u0107.<\/p>\n<h2 id=\"bd1traktowaniedatjakzwykychstringw\">B\u0142\u0105d #1: Traktowanie dat jak zwyk\u0142ych string\u00f3w<\/h2>\n<p>Daty to jeden z najcz\u0119\u015bciej \u017ale rozumianych typ\u00f3w danych. Wiele firm przechowuje je jako tekst (np. &#8222;2024-03-15&#8221;) i nie konwertuje na format datetime przed trenowaniem modelu. Skutek? Model nie rozumie sekwencji czasowej, nie potrafi wyci\u0105gn\u0105\u0107 trend\u00f3w sezonowych, a predykcje s\u0105 przypadkowe.<\/p>\n<p>Przyk\u0142ad z \u017cycia: Klient z bran\u017cy e-commerce chcia\u0142 przewidywa\u0107 popyt na produkty. Mieli dane sprzeda\u017cowe z 3 lat z datami w formacie DD-MM-YYYY jako string. Model regresji liniowej dawa\u0142 MAPE na poziomie 35%. Po konwersji na datetime i wyodr\u0119bnieniu cech takich jak dzie\u0144 tygodnia, miesi\u0105c, czy dzie\u0144 roku, b\u0142\u0105d spad\u0142 do 12%.<\/p>\n<p>Jak to zrobi\u0107 dobrze? U\u017cyj wbudowanych funkcji do parsowania dat w swoim j\u0119zyku (np. <code>pd.to_datetime()<\/code> w Pythonie). Nast\u0119pnie wyodr\u0119bnij cechy cykliczne \u2013 zakoduj dzie\u0144 tygodnia i miesi\u0105c jako sinus\/cosinus, \u017ceby model zrozumia\u0142 cykliczno\u015b\u0107. To prosta zmiana, kt\u00f3ra cz\u0119sto daje ogromny skok jako\u015bci.<\/p>\n<h2 id=\"bd2ignorowanietypwkategorycznychowysokiejkardynalnoci\">B\u0142\u0105d #2: Ignorowanie typ\u00f3w kategorycznych o wysokiej kardynalno\u015bci<\/h2>\n<p>Zmienne kategoryczne, takie jak kod pocztowy, ID produktu czy kategoria, maj\u0105 cz\u0119sto setki lub tysi\u0105ce unikalnych warto\u015bci. Wiele firm na si\u0142\u0119 stosuje one-hot encoding, co tworzy tysi\u0105ce kolumn i winduje koszty pami\u0119ci oraz czasu trenowania. Co gorsza, model mo\u017ce przeuczy\u0107 si\u0119 na rzadkich kategoriach.<\/p>\n<p>Case: Firma SaaS z platform\u0105 subskrypcyjn\u0105 mia\u0142a zmienn\u0105 &#8222;plan&#8221; z 50 warto\u015bciami. Zastosowali one-hot encoding \u2013 dostali 50 kolumn. Model dzia\u0142a\u0142 wolno, a dla ma\u0142o popularnych plan\u00f3w prognozy by\u0142y losowe. Wystarczy\u0142o u\u017cy\u0107 target encoding (\u015brednia warto\u015b\u0107 targetu dla ka\u017cdej kategorii) \u2013 liczba kolumn spad\u0142a do 1, a dok\u0142adno\u015b\u0107 wzros\u0142a o 8%.<\/p>\n<p>Rozwi\u0105zanie: Dla kategorii z &gt;10 unikalnymi warto\u015bciami rozwa\u017c target encoding lub embeddingi (np. w sieciach neuronowych). Alternatywnie, u\u017cyj algorytm\u00f3w odpornych na wysok\u0105 kardynalno\u015b\u0107, jak LightGBM, kt\u00f3re radz\u0105 sobie z kategoriami bez eksplozji wymiar\u00f3w.<\/p>\n<h2 id=\"bd3nieujednolicenietypwliczbowychzapomnienieonormalizacji\">B\u0142\u0105d #3: Nieujednolicenie typ\u00f3w liczbowych \u2013 zapomnienie o normalizacji<\/h2>\n<p>Modele oparte na odleg\u0142o\u015bciach (np. k-NN, SVM, sieci neuronowe) wymagaj\u0105, aby wszystkie cechy liczbowe by\u0142y w podobnej skali. Je\u015bli jedna cecha to \u201ecena w z\u0142otych\u201d (0-10000), a druga to \u201eliczba klikni\u0119\u0107\u201d (0-100), model b\u0119dzie przywi\u0105zywa\u0142 wi\u0119ksz\u0105 wag\u0119 do ceny, bo jej warto\u015bci s\u0105 wi\u0119ksze liczbowo. To cz\u0119sty b\u0142\u0105d, kt\u00f3ry winduje koszty \u2013 bo trzeba trenowa\u0107 d\u0142u\u017cej i z wi\u0119ksz\u0105 ilo\u015bci\u0105 danych, \u017ceby skompensowa\u0107 ten brak skalowania.<\/p>\n<p>Przyk\u0142ad: Startup z bran\u017cy fintech budowa\u0142 model scoringu kredytowego. Mieli cechy: wiek (18-70), doch\u00f3d (0-500000), liczba transakcji (0-1000). Bez normalizacji model osi\u0105ga\u0142 AUC=0.62. Po zastosowaniu StandardScaler (\u015brednia=0, odchylenie=1) AUC wzros\u0142o do 0.78. I to przy tych samych danych \u2013 tylko dzi\u0119ki skalowaniu.<\/p>\n<p>Praktyczna rada: Zawsze stosuj normalizacj\u0119 lub standaryzacj\u0119 dla cech ci\u0105g\u0142ych. Wyj\u0105tkiem s\u0105 modele drzewiaste (Random Forest, XGBoost), kt\u00f3re s\u0105 odporne na skal\u0119 \u2013 ale wci\u0105\u017c warto sprawdzi\u0107, czy normalizacja nie poprawia wynik\u00f3w.<\/p>\n<h2 id=\"podsumowanie\">Podsumowanie<\/h2>\n<p>Typy danych to fundament ka\u017cdego projektu AI. B\u0142\u0119dy na tym etapie nie tylko obni\u017caj\u0105 jako\u015b\u0107 modelu, ale te\u017c winduj\u0105 koszty \u2013 wi\u0119cej iteracji trenowania, wi\u0119ksze zapotrzebowanie na pami\u0119\u0107 i czas. Te trzy b\u0142\u0119dy (daty jako stringi, z\u0142e kodowanie kategorii, brak normalizacji) s\u0105 najcz\u0119stsze i naj\u0142atwiejsze do naprawienia. Je\u015bli prowadzisz projekt AI, po\u015bwi\u0119\u0107 tydzie\u0144 na audyt typ\u00f3w danych \u2013 zwr\u00f3ci si\u0119 wielokrotnie. W JurskiTech regularnie widzimy projekty, kt\u00f3re po takich poprawkach oszcz\u0119dzaj\u0105 nawet 30% bud\u017cetu na infrastruktur\u0119. Zanim wydasz pieni\u0105dze na kolejny model, upewnij si\u0119, \u017ce Twoje dane maj\u0105 odpowiednie typy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wprowadzenie S\u0142ysza\u0142em ostatnio histori\u0119 od znajomego CTO: jego startup wyda\u0142 200 tysi\u0119cy z\u0142otych na model AI, kt\u00f3ry mia\u0142 przewidywa\u0107 rotacj\u0119 klient\u00f3w. Po p\u00f3\u0142 roku okaza\u0142o si\u0119, \u017ce model dzia\u0142a gorzej ni\u017c rzut monet\u0105. Diagnoza? U\u017cyli z\u0142ych typ\u00f3w danych \u2013 daty by\u0142y stringami, kategorie mia\u0142y za du\u017co unikalnych warto\u015bci, a brakowa\u0142o normalizacji. To nie jest odosobniony<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[445,798,142,854],"class_list":["post-2471","post","type-post","status-publish","format-standard","hentry","category-warto-wiedziec","tag-agenci-ai","tag-bledy-404","tag-dane","tag-koszty-backendu"],"_links":{"self":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts\/2471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/comments?post=2471"}],"version-history":[{"count":0,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts\/2471\/revisions"}],"wp:attachment":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/media?parent=2471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/categories?post=2471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/tags?post=2471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}