Sobes.tech
Middle

Ποιοι είναι οι τρόποι εργασίας με κατηγορικές μεταβλητές;

sobes.tech AI

Απάντηση από AI

Οι κατηγορικές ιδιότητες στη μηχανική μάθηση αντιμετωπίζονται κυρίως με τους ακόλουθους βασικούς τρόπους:

  1. Label Encoding (Κωδικοποίηση ετικετών) — σε κάθε κατηγορία αποδίδεται ένας μοναδικός αριθμός. Κατάλληλο για ταξινομημένες κατηγορίες, αλλά μπορεί να παραπλανήσει το μοντέλο αν δεν υπάρχει τάξη.

  2. One-Hot Encoding — δημιουργείται μια δυαδική ιδιότητα για κάθε κατηγορία. Για παράδειγμα, η ιδιότητα "Χρώμα" με κατηγορίες {κόκκινο, μπλε, πράσινο} μετατρέπεται σε τρεις δυαδικές ιδιότητες.

  3. Target Encoding (Κωδικοποίηση στόχου) — οι κατηγορίες αντικαθίστανται από στατιστικά της μεταβλητής στόχου (π.χ., ο μέσος όρος της μεταβλητής στόχου για κάθε κατηγορία). Απαιτεί προσοχή για να αποφευχθεί διαρροή δεδομένων.

  4. Frequency Encoding (Κωδικοποίηση συχνότητας) — οι κατηγορίες αντικαθίστανται από τη συχνότητά τους στα δεδομένα.

  5. Embeddings — για κατηγορίες με μεγάλο αριθμό μοναδικών τιμών (π.χ., σε NLP), χρησιμοποιούνται διανυσματικές αναπαραστάσεις που εκπαιδεύονται μαζί με το μοντέλο.

Η επιλογή της μεθόδου εξαρτάται από το πρόβλημα, το μοντέλο και τον όγκο των δεδομένων. Για παράδειγμα, για δέντρα αποφάσεων συχνά αρκεί το Label ή το One-Hot Encoding, ενώ για νευρωνικά δίκτυα — embeddings.

Παράδειγμα One-Hot Encoding σε Python με pandas:

import pandas as pd

df = pd.DataFrame({'Χρώμα': ['κόκκινο', 'μπλε', 'πράσινο', 'μπλε']})
df_encoded = pd.get_dummies(df, columns=['Χρώμα'])
print(df_encoded)

Αποτέλεσμα:

   Χρώμα_κόκκινο  Χρώμα_πράσινο  Χρώμα_μπλε
0             1               0             0
1             0               0             1
2             0               1             0
3             0               0             1