méthode fit
Leçon 10 sur 19 du cours Introduction à l’apprentissage automatique de Coddy.
Défi
DifficileImplémentez la méthode fit et la méthode find_cluster_centroid. La méthode find_cluster_centroid trouve le centroïde d'une liste de points donnée (cluster). Les instructions sur la façon de trouver le centroïde se trouvent dans la leçon précédente. Pour implémenter fit, suivez ces instructions :
- Initialiser les centroïdes : Tout d'abord, choisissez
kpoints comme centroïdes initiaux à partir du jeu de données. Pour réussir les cas de test, choisissez les 3ème, 5ème, 7ème, 9ème, … points comme centroïdes initiaux (en fonction du nombre de pointsk) - Assigner les clusters : Pour chaque point du jeu de données, trouvez le centroïde le plus proche (en utilisant des mesures de distance telles que la distance euclidienne) et assignez le point à ce cluster.
- Mettre à jour les centroïdes : Une fois que tous les points sont assignés aux clusters, recalculez les centroïdes en prenant la moyenne de tous les points de chaque cluster.
- Répéter les étapes 2 et 3 : Les étapes ci-dessus sont répétées jusqu'à ce que les centroïdes ne changent plus de manière significative. Si la distance entre le nouveau centroïde et le centroïde précédent est inférieure à
0.01, arrêtez.
Comment réussir les cas de test :
- Enregistrez les centroïdes dans la variable
self.centroids. - Une fois que vous avez trouvé de nouveaux centroïdes, si la distance totale entre les nouveaux centroïdes et les précédents est inférieure à
0.01, conservez les centroïdes précédents. - L'ordre des centroïdes est important. Itérez toujours sur les centroïdes du début à la fin.
- Les cas de test afficheront
self.centroidset valideront s'ils sont corrects.
Essayez vous-même
def euclidian_distance(point_a, point_b):
return (sum([(point_a[i] - point_b[i])**2 for i in range(len(point_a))]))**0.5
class KMeans:
def __init__(self, k):
self.k = k
def find_cluster_centroid(self, cluster_points):
# Écrivez votre code ici
def fit(self, X_train):
# Écrivez votre code ici
self.centroids = ...
def predict(self, X_test):
passToutes les leçons de Introduction à l’apprentissage automatique
1Le début du parcours en ML
Introduction au MLLes données à fournir à un modèleQu’est-ce qu’un modèle de ML ?Entraînez-vous par vous-même : Compilateur Python en ligne
