Sto lavorando a un set di dati con oltre 200.000 campioni e circa 50 funzioni per campione: 10 variabili continue e le altre ~ 40 sono variabili categoriali (paesi, lingue, campi scientifici ecc.). Per queste variabili categoriche, hai ad esempio 150 paesi diversi, 50 lingue, 50 campi scientifici ecc ...
Finora il mio approccio è:
Per ogni variabile categoriale con molti valori possibili, prendi solo quella con più di 10000 campioni che accetta questo valore. Ciò riduce a 5-10 categorie anziché a 150.
Costruisci una variabile fittizia per ciascuna categoriale (se 10 paesi quindi per ogni campione aggiungi un vettore binario di dimensione 10).
Alimenta un classificatore di foresta casuale (convalida incrociata dei parametri ecc ...) con questi dati.
Attualmente con questo approccio, riesco solo ad ottenere una precisione del 65% e sento che si può fare di più. Soprattutto non sono soddisfatto del mio 1) poiché sento che non dovrei rimuovere arbitrariamente i "valori meno rilevanti" in base al numero di campioni che hanno, perché questi valori meno rappresentati potrebbero essere più discriminatori. D'altra parte, la mia RAM non può permettersi di aggiungere 500 colonne * 200000 righe ai dati mantenendo tutti i possibili valori.
Avresti qualche suggerimento per far fronte a queste variabili categoriche?