Vidéo: Algorithmes pour flux de données 2024
L'apprentissage non supervisé comporte de nombreux défis pour l'analyse prédictive, y compris le fait de ne pas savoir à quoi s'attendre lorsque vous exécutez un algorithme. Chaque algorithme produira des résultats différents; vous ne serez jamais certain si un résultat est meilleur que l'autre - ou même si le résultat est de n'importe quelle valeur.
Lorsque vous connaissez les résultats, vous pouvez modifier les algorithmes pour obtenir les résultats souhaités. Dans les jeux de données du monde réel, vous n'aurez pas ce luxe. Vous devrez compter sur une connaissance préalable des données - ou de l'intuition - pour décider quels paramètres d'initialisation et quels algorithmes utiliser lors de la création de votre modèle.
Dans les vraies tâches d'apprentissage non supervisées, cependant, cette connaissance préalable n'est pas disponible et le résultat souhaité est difficile à trouver. Choisir le bon nombre de clusters est le problème clé. Si vous tombez sur le bon nombre de grappes, vos données donneront des informations que vous pouvez faire des prédictions très précises. D'un autre côté, deviner le mauvais nombre de grappes peut donner des résultats inférieurs.
L'algorithme K-means est un bon choix pour les jeux de données qui ont un petit nombre de clusters avec des tailles proportionnelles et des données linéairement séparables - et vous pouvez l'étendre pour utiliser l'algorithme sur de très grands jeux de données.
Pensez à données linéairement séparables comme un ensemble de points dans un graphique qui peut être séparé en utilisant une ligne droite. Si les données ne sont pas linéairement séparables, alors des versions plus avancées de K-means devront être employées - ce qui deviendra plus coûteux en calcul et peut ne pas convenir à de très grands ensembles de données. Dans sa mise en œuvre standard, la complexité pour calculer les centres de cluster et les distances est faible.
K-means est largement utilisé pour résoudre les problèmes de big data car il est simple à utiliser, efficace et hautement évolutif. Pas étonnant que la plupart des fournisseurs commerciaux utilisent l'algorithme K-means en tant que composant clé de leurs progiciels d'analyse prédictive.
L'implémentation DBSCAN (mise en grappe spatiale basée sur la densité des applications avec bruit) dans scikit-learn ne nécessite aucun paramètre d'initialisation défini par l'utilisateur pour créer une instance. Vous pouvez remplacer les paramètres par défaut lors de l'initialisation si vous le souhaitez. Malheureusement, si vous utilisez les paramètres par défaut, l'algorithme ne peut pas correspondre exactement au résultat souhaité.
DBSCAN convient mieux aux ensembles de données qui ont des tailles de grappe disproportionnées et dont les données peuvent être séparées de manière non linéaire.Comme K-means, DBSCAN est évolutif, mais l'utiliser sur de très grands ensembles de données nécessite plus de mémoire et de puissance de calcul.