Article
· Avr 12, 2023 4m de lecture

Comment utiliser l'apprentissage automatique pour organiser la communauté - 2

Cet article est le deuxième d'une série expliquant comment créer un système d'apprentissage automatique de bout en bout.

Exploration des données

L'Intersystème IRIS dispose déjà de ce dont nous avons besoin pour explorer les données : un moteur SQL ! Pour les personnes qui ont l'habitude
d'explorer des données dans des fichiers
csv ou des fichiers texte, cela pourrait aider à accélérer cette étape. Fondamentalement, nous explorons toutes les données pour comprendre l'intersection
(jointures), ce qui devrait permettre de créer un jeu de données préparé pour être utilisé par un algorithme d'apprentissage automatique.

Tableau d'articles ( Fourni par l'équipe Intersystems )

image

Tableaude balises ( Fourni par l'équipe Intersystems )

image

Notre défi consiste à classer un article avec les bonnes balises. Et nous avons un tas d'articles et toutes les balises avec
description.
Il existe plusieurs techniques de classification, mais les cas les plus courants de classification utilisent des données structurées ! Un article,
un long texte n'est pas exactement structuré de ce point de vue.

L'apprentissage automatique fonctionne la plupart du temps avec des NOMBRES - Faites avec !

Oui ! Même le modèle de données le plus normalisé contient du texte, mais lorsque nous devons utiliser des algorithmes de ML, nous devons trouver une solution
pour convertir tous les textes en nombres. Mais n'oubliez pas que les **données non structurées* ne prendront pas les nombres prêts à être utilisés
dans un modèle de classification. Il est temps de...

Ingénierie des caractéristiques

Dans cette étape, nous convertissons le texte, les nombres, les éléments non structurés et le chaos dans une matrice (la plupart du temps)...
oui, cet élément de vos cours d'algèbre d'autrefois. Si nous avons un tableau qui ressemble déjà à une matrice, vous aurez probablement moins
de travail que nous ! Nous avons un grand texte avec des tailles, des formes et des mots différents...

Sac de mots

L'une des façons de transformer un texte long en une matrice est le sac de mots :

expression
Nicole devrait acheter une voiture
Jack devrait vendre son bateau
 [Nicole, Jack, devrait, acheter, vendre, une, son, voiture, bateau]
 [1     ,    0,      1,   1,    0, 1,   0,   1,    0]
 [0     ,    1,      1,   0,    1, 0,   1,   0,    1]

Ce n'est qu'un petit exemple. Mais vous pouvez constater que plus il y a de mots, plus la matrice est grande. Heureusement, nous disposons de nombreux
composants pour vous aider à créer des sacs de mots. Dans ce cas, j'ai utilisé les composants de Sklearn pour le faire.

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.preprocessing import MultiLabelBinarizer

ml_bin = MultiLabelBinarizer(classes=all_tags)
matrix_y = ml_bin.fit_transform(a_dataframe)

count_vec = CountVectorizer(ngram_range=(1,1), tokenizer=tokenize, strip_accents='unicode', stop_words=stop_words)
matrix_x = count_vec.fit_transform(a_dataframe)

Après avoir exécuté les méthodes ci-dessus, nous disposons d'un vectoriseur que nous devrons conserver tout le temps que nous voulons prédire.
Si nous changeons le vectoriseur, nous risquons de perturber les matrices et rien ne devrait fonctionner par la suite.

Est-ce que je vous ai déjà dit que nous ne devions utiliser que des chiffres ?

Il y a un autre problème ! Pour certains algorithmes, la taille du nombre peut perturber vos intentions. En bref, si un élément de la matrice a
une valeur de 1 et qu'un autre élément a une valeur de 987, certains algorithmes pourraient interpréter cela
comme l'importance de l'élément et prendre la mauvaise direction.

Algorithmes de classification ML

Il existe de nombreux documents à lire sur les algorithmes de classification, vous pouvez commencer par cet article :
https://machinelearningmastery.com/types-of-classification-in-machine-learning/

Article suivant : stratégie de formation (pour les données, oubliez les GIMS)

J'espère que vous appréciez. Si vous aimez le texte et mon application, votez sur
https://openexchange.intersystems.com/contest/current dans mon application iris-ml-suite

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer