Sobes.tech
Middle

Aké spôsoby práce s kategorizálnymi znakmi existujú?

sobes.tech AI

Odpoveď od AI

Hlavné spôsoby práce s kategorizovanými znakmi v strojovom učení sú:

  1. Label Encoding (kódovanie štítkov) — každej kategórii je priradené jedinečné číslo. Vhodné pre zoradené kategórie, ale môže zmiasť model, ak poradie chýba.

  2. One-Hot Encoding — pre každú kategóriu sa vytvorí binárna vlastnosť. Napríklad vlastnosť "Farba" s kategóriami {červená, modrá, zelená} sa premení na tri binárne vlastnosti.

  3. Target Encoding (cieľové kódovanie) — kategórie sa nahradia štatistikami cieľovej premennej (napríklad priemernou hodnotou cieľovej premennej pre každú kategóriu). Vyžaduje opatrnosť, aby sa predišlo úniku dát.

  4. Frequency Encoding (frekvenčné kódovanie) — kategórie sa nahradia ich frekvenciou výskytu v dátach.

  5. Embeddings — pre kategórie s veľkým počtom unikátnych hodnôt (napríklad v NLP) sa používajú vektorové reprezentácie, ktoré sa trénujú spoločne s modelom.

Výber metódy závisí od úlohy, modelu a objemu dát. Napríklad pre rozhodovacie stromy je často postačujúce Label alebo One-Hot Encoding, zatiaľ čo pre neurónové siete — embeddings.

Príklad One-Hot Encoding v Pythone s pandas:

import pandas as pd

df = pd.DataFrame({'Farba': ['červená', 'modrá', 'zelená', 'modrá']})
df_encoded = pd.get_dummies(df, columns=['Farba'])
print(df_encoded)

Výsledok:

   Farba_červená  Farba_zelená  Farba_modrá
0             1             0             0
1             0             0             1
2             0             1             0
3             0             0             1