Differenza tra tf-idf e tf con le foreste casuali


8

Sto lavorando a un problema di classificazione del testo usando Random Forest come classificatori e un approccio bag-of-word. Sto usando l'implementazione di base di Random Forests (quella presente in scikit), che crea una condizione binaria su una singola variabile ad ogni divisione. Detto questo, c'è una differenza tra l'uso di semplici funzioni tf (frequenza di termine). dove ogni parola ha un peso associato che rappresenta il numero di occorrenze nel documento, o tf-idf (frequenza del termine * frequenza inversa del documento), dove anche la frequenza del termine viene moltiplicata per un valore che rappresenta il rapporto tra il numero totale di documenti e il numero di documenti contenenti la parola)?

A mio avviso, non ci dovrebbe essere alcuna differenza tra questi due approcci, poiché l'unica differenza è un fattore di ridimensionamento su ciascuna funzionalità, ma poiché la divisione viene eseguita a livello di singole funzionalità, ciò non dovrebbe fare la differenza.

Ho ragione nel mio ragionamento?


Perché non testare entrambi gli approcci su un piccolo set di campioni e vedere se c'è qualche differenza?
Charlie Greenbacker,

Risposte:


7

Gli alberi decisionali (e quindi le foreste casuali) sono insensibili alle trasformazioni monotone delle funzioni di input.

Poiché la moltiplicazione per lo stesso fattore è una trasformazione monotona, suppongo che per le foreste casuali non ci sia davvero alcuna differenza.

Tuttavia, potresti eventualmente prendere in considerazione l'utilizzo di altri classificatori che non dispongono di questa proprietà, quindi potrebbe avere senso utilizzare l'intero TF * IDF.


1
Stavo solo cercando di capire se il mio ragionamento era corretto, quindi continuerò a usare le foreste casuali, grazie per il tuo aiuto!
papafe,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.