7
votes

Algorithme de sélection des fonctionnalités simples

J'essaie de créer mon propre algorithme de sélection de fonctionnalités simples. Le jeu de données que je vais travailler est Ici (ensemble de données très célèbre). Quelqu'un peut-il me donner un pointeur sur la façon de le faire?

Je prévois d'écrire un algorithme de classement des fonctionnalités pour une classification de texte. Ceci est pour une analyse de sentiment de critiques de films, les classant comme positif ou négatif.

Donc, ma question est de savoir comment écrire une sélection simple pour un ensemble de données de texte.


2 commentaires

C'est un gros sujet. Y a-t-il quelque chose de spécifique que vous rencontrez des problèmes ou avez-vous besoin d'idées sur où commencer?


Je veux juste éliminer les fonctionnalités qui ajoute du bruit à la classification. Mais comment puis-je choisir systématiquement ce type de mots? Quel est le nombre approprié de fonctionnalités qui me donne la meilleure précision et quels mots ... je suppose que c'est ce que je veux que mon résultat final de l'algorithme soit


4 Réponses :


0
votes

Voici une option: utilisez Informations communes de Motual . Vos fonctionnalités seront des jetons et les informations doivent être mesurées contre le label de sentiment. Soyez prudent avec des mots fréquents (mots d'arrêt), car dans ce type de tâche, ils peuvent être utiles.


0 commentaires

3
votes

Les méthodes de sélection des fonctionnalités sont un gros sujet. Vous pouvez commencer par suivre:

  1. carré chi

  2. informations mutuelles

  3. Fréquence terme

    etc. Lisez cet article si vous avez le temps: étude comparative sur la sélection de fonctionnalités dans Catégorisation de texte Cela vous aidera beaucoup.

    La mise en œuvre réelle dépend de la manière dont vous pré-traiter les données. Fondamentalement, sa tenue de la comptate, sa table de hachage ou une base de données.


4 commentaires

Parmi tout cela, la fréquence de terme semble être le droit moins puissant?


Non, vous voulez supprimer un terme bruyant. Et supposons qu'un terme se produise juste une fois, alors très probablement son bruit (peut-être un nom mal orthographié). Vous devez exécuter quelques tests avant de pouvoir décider.


Quelques tests tels que? Supprimez les termes situés sur le rang inférieur 50 sur la fréquence, puis testez la précision et continuez jusqu'à ce que la fréquence tombe?


La réponse optimale dépend du jeu de données que vous avez. Ce que vous avez dit comme un exemple de test peut être l'un de ces tests.



2
votes

Caractéristiques aléatoires fonctionnent bien, lorsque vous construisez ensuite des ensembles de construction. Il est connu sous le nom de bagage de fonctionnalité.


0 commentaires

0
votes

J'utilise actuellement cette approche:

Calculer la valeur moyenne et la variance des données pour chaque classe. Un bon fonctionnaire devrait avoir une faible variance et la valeur moyenne doit être différente des valeurs moyennes d'autres classes.

Avoir actuellement seulement <50 fonctionnalités que je les sélectionne manuellement. Pour l'automatisation de ce processus, on pourrait calculer des écarts de valeurs moyens parmi toutes les classes et donner la priorisation plus élevée à ceux qui ont une plus grande variance. Ensuite, sélectionnez d'abord ceux-ci, avoir une variance plus petite dans une classe .

de cause cela ne supprime pas les caractéristiques redondantes.


0 commentaires