Différence entre tf-idf et tf avec Random Forests

8

Je travaille sur un problème de classification de texte en utilisant Random Forest comme classificateurs et une approche par sac de mots. J'utilise l'implémentation de base de Random Forests (celle présente dans scikit), qui crée une condition binaire sur une seule variable à chaque division. Compte tenu de cela, existe-t-il une différence entre l'utilisation de fonctions tf simples (fréquence terminologique). où chaque mot a un poids associé qui représente le nombre d'occurrences dans le document, ou tf-idf (fréquence de terme * fréquence de document inverse), où la fréquence de terme est également multipliée par une valeur qui représente le rapport entre le nombre total de documents et le nombre de documents contenant le mot)?

À mon avis, il ne devrait pas y avoir de différence entre ces deux approches, car la seule différence est un facteur de mise à l'échelle sur chaque fonctionnalité, mais comme la division est effectuée au niveau des fonctionnalités uniques, cela ne devrait pas faire de différence.

Ai-je raison dans mon raisonnement?

papafe
la source
Pourquoi ne pas tester les deux approches sur un petit échantillon et voir s'il y a une différence?
Charlie Greenbacker le

Réponses:

7

Les arbres de décision (et donc les forêts aléatoires) sont insensibles aux transformations monotones des entités en entrée.

Étant donné que la multiplication par le même facteur est une transformation monotone, je suppose que pour les forêts aléatoires, il n'y a en effet aucune différence.

Cependant, vous pouvez éventuellement envisager d'utiliser d'autres classificateurs qui n'ont pas cette propriété, il peut donc être judicieux d'utiliser l'intégralité de TF * IDF.

Alexey Grigorev
la source
1
J'essayais juste de savoir si mon raisonnement était correct, donc je continuerai à utiliser Random Forests, merci pour votre aide!
papafe