Traitement des données manquantes catégorielles
Résolu
Bonjour à tous,
J'ai un ensemble de données constitué de 3 millions de lignes, chacune d'elle contenant des données catégorielles (str). Je travaille actuellement sur un échantillon de 100 000 lignes, et sur quelques variables (colonnes). J'ai entre 50 000 et 55 000 de valeurs manquantes sur un total de 100 000, donc un peu plus de la moitié.
J'ai pensé en premier temps faire un modèle qui prédit les valeurs manquantes, en encodant mes données catégorielles. Mais je ne peux pas, car je n'ai pas assez de RAM et il y a beaucoup de catégories pour plusieurs variables.
Je me suis penché donc sur la méthode de création d'une catégorie "Unknown" pour chaque variable.
Pensez-vous que c'est une bonne démarche ?
Je vous remercie d'avance de votre retour.
J'ai un ensemble de données constitué de 3 millions de lignes, chacune d'elle contenant des données catégorielles (str). Je travaille actuellement sur un échantillon de 100 000 lignes, et sur quelques variables (colonnes). J'ai entre 50 000 et 55 000 de valeurs manquantes sur un total de 100 000, donc un peu plus de la moitié.
J'ai pensé en premier temps faire un modèle qui prédit les valeurs manquantes, en encodant mes données catégorielles. Mais je ne peux pas, car je n'ai pas assez de RAM et il y a beaucoup de catégories pour plusieurs variables.
Je me suis penché donc sur la méthode de création d'une catégorie "Unknown" pour chaque variable.
Pensez-vous que c'est une bonne démarche ?
Je vous remercie d'avance de votre retour.
A voir également:
- Traitement des données manquantes catégorielles
- Fuite données maif - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Trier des données excel - Guide
- Traitement de texte gratuit - Guide
- Sauvegarde des données - Guide
1 réponse
Bonjour,
Le problème présenté tel quel est un peu vague, peux-tu l'illustrer avec un petit exemple (ce que tu as, ce que tu aimerais obtenir) ?
Ensuite il faudrait spécifier un peu comment la prédiction serait faite. Tu peux effectivement utiliser du machine learning pour essayer de prédire des données manquantes, encore faut-il que ton échantillon soit bien constitué (et ton réseau bien dimensionné) pour faire une prédiction correcte et sans sur-apprentissage.
Peut-être aussi que tu devrais nous dire quel est ton objectif, afin qu'on voit si tu pars dans la bonne direction.
Bonne chance
Le problème présenté tel quel est un peu vague, peux-tu l'illustrer avec un petit exemple (ce que tu as, ce que tu aimerais obtenir) ?
Ensuite il faudrait spécifier un peu comment la prédiction serait faite. Tu peux effectivement utiliser du machine learning pour essayer de prédire des données manquantes, encore faut-il que ton échantillon soit bien constitué (et ton réseau bien dimensionné) pour faire une prédiction correcte et sans sur-apprentissage.
Peut-être aussi que tu devrais nous dire quel est ton objectif, afin qu'on voit si tu pars dans la bonne direction.
Bonne chance
Si on prend par exemple la colonne url (www.qlqchose.fr) et qui contient beaucoup de catégories. pour 100k valeurs j'ai 50k valeurs manquantes donc la moitié. J'aimerai savoir si les remplacer par une nouvelle catégorie ("Unknown") serai une bonne méthode, mon but c'est trouver la meilleure méthode de traitement de données manquantes quand on a des millions de lignes.
Je sais que quand on a que quelques valeurs manquantes, en général on supprime les lignes ou remplace par la plus courante, et quand la majorité des valeurs sont manquantes dans une variable, on supprime cette dernière.
Mais quand on a la moitié sont des valeurs manquantes, je ne sais pas trop quelle méthode suivre(si je supprime je perd beaucoup d'information, et si je remplace par la valeur la plus courante, ça risque de chambouler mes résultats à l'avenir, si je fais du clustering ou autre ) .
PS: pour la méthode de prédiction, je viens de tester mais j'arrive même pas a encoder mes données en binaire car j'ai beaucoup de catégories différentes (C'est valable pour toutes les autres colonnes, il y en a 40).
Commenter
0
Voici à ce stade mon opinion :
Bonne chance
Donc je suis entrain d'extraire des données à partir des logs (logs web) ( la colonne action qui prend par exemple les valeurs allow ou blocking, j'ai des dates, j'ai des usernames, des adresses ip et d'autres colonnes de la même structure ) toutes ces colonnes sont de type object. Pour le nombre de valeurs possibles pour chaque colonne, ça varie y'en a elles en ont des centaines, et d'autres des dizaines.
Mon but à la fin c'est de faire de la détection d'anomalies.
Je ne sais pas trop comment y procéder pour le moment, mais ce qui me pose problème c'est plus les valeurs manquantes pour le moment.
PS : désolé je peux pas donné plus d'informations sur les données car c'est confidentiel.
Bonne chance