Ποιοι είναι οι τρόποι εργασίας με κατηγορικές μεταβλητές;
sobes.tech AI
Απάντηση από AI
Οι κατηγορικές ιδιότητες στη μηχανική μάθηση αντιμετωπίζονται κυρίως με τους ακόλουθους βασικούς τρόπους:
-
Label Encoding (Κωδικοποίηση ετικετών) — σε κάθε κατηγορία αποδίδεται ένας μοναδικός αριθμός. Κατάλληλο για ταξινομημένες κατηγορίες, αλλά μπορεί να παραπλανήσει το μοντέλο αν δεν υπάρχει τάξη.
-
One-Hot Encoding — δημιουργείται μια δυαδική ιδιότητα για κάθε κατηγορία. Για παράδειγμα, η ιδιότητα "Χρώμα" με κατηγορίες {κόκκινο, μπλε, πράσινο} μετατρέπεται σε τρεις δυαδικές ιδιότητες.
-
Target Encoding (Κωδικοποίηση στόχου) — οι κατηγορίες αντικαθίστανται από στατιστικά της μεταβλητής στόχου (π.χ., ο μέσος όρος της μεταβλητής στόχου για κάθε κατηγορία). Απαιτεί προσοχή για να αποφευχθεί διαρροή δεδομένων.
-
Frequency Encoding (Κωδικοποίηση συχνότητας) — οι κατηγορίες αντικαθίστανται από τη συχνότητά τους στα δεδομένα.
-
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