J'ai un ensemble de données assez volumineux avec des données purement catégorielles. Le nombre de lignes (échantillons) de données est supérieur à 30 000 000. Les attributs ont été réduits à 4 (colonnes) et tous (attributs) sont catégoriques, l'un d'entre eux ayant presque 50 000 niveaux! J'essaie de regrouper mes données avant de poursuivre le traitement. Cependant, en raison de la grande taille des données, il n'est pas possible d'utiliser la plupart des algorithmes de clustering. J'ai choisi d'utiliser Clara_Medoids du package ClusterR pour essayer le clustering. Le problème auquel je suis confronté est que l'exécution du code me donne une erreur que je ne peux pas résoudre.Clara_Medoids avec un grand ensemble de données catégorielles avec plusieurs niveaux dans R
code:
Cmediods_5 <- ClusterR::Clara_Medoids(MyData, clusters = 5, samples = 3, sample_size = 0.0005, distance_metric = "simple_matching_coefficient")
et ceci est l'erreur que je reçois:
Erreur dans check_NaN_Inf (données): Non compatible avec le type demandé: [type = caractère; target = double].
Je sens cette erreur est due au fait que j'utilise la distance métrique, mais je ne vois pas « simple_matching_coefficient » toute autre option viable que mes données sont purement catégorique. Est-il possible de contourner le problème de type de données pour que cet algorithme fonctionne correctement? Évidemment, je ne veux pas créer de variables fictives, car comme je l'ai expliqué plus tôt, l'un des attributs a environ 50 000 niveaux!
Les options pour les mesures de distance fonction Clara_Medoids sont: euclidienne, manhattan, Tchebychev, canberra, braycurtis, pearson_correlation, simple_matching_coefficient, Minkowski, Hamming, jaccard_coefficient, Rao_coefficient, Mahalanobis
Malheureusement, il n'a pas la distance de Gower sinon, ça aurait été mon choix.
Travaillez avec un * échantillon * d'abord, puis augmentez la taille. Travailler avec des données de câlins juste pour savoir ce qui ne fonctionne pas est une perte de temps. –