Menu
CoddyTech

fit metodu

Coddy'nin Makine Öğrenmesine Giriş kursunda ders 10 / 19.

 

Kaynak: Wikipedia

challenge icon

Görev

Zor

fit metodunu ve find_cluster_centroid metodunu uygulayın. find_cluster_centroid, verilen bir nokta listesinin (küme) merkezini (centroid) bulur. Merkezin nasıl bulunacağına dair talimatlar önceki derste yer almaktadır. fit metodunu uygulamak için şu talimatları izleyin:

  1. Merkezleri Başlatın: İlk olarak, veri setinden başlangıç merkezleri olarak k adet nokta seçin. Test durumlarını geçmek için başlangıç merkezleri olarak 3., 5., 7., 9., … noktaları seçin (k noktasına bağlı olarak).
  2. Kümeleri Atayın: Veri setindeki her bir nokta için, en yakın merkezi bulun (Öklid mesafesi gibi mesafe ölçümleri kullanarak) ve noktayı o kümeye atayın.
  3. Merkezleri Güncelleyin: Tüm noktalar kümelere atandıktan sonra, her kümedeki tüm noktaların ortalamasını alarak merkezleri yeniden hesaplayın.
  4. 2. ve 3. Adımları Tekrarlayın: Yukarıdaki adımlar, merkezler artık önemli ölçüde değişmeyene kadar tekrarlanır. Yeni merkez ile önceki merkez arasındaki mesafe 0.01 değerinden küçükse durun.

Test durumlarını nasıl geçersiniz:

  • Merkezleri self.centroids değişkenine kaydedin.
  • Yeni merkezleri bulduğunuzda, yeni merkezler ile öncekiler arasındaki toplam mesafe 0.01 değerinden küçükse, önceki merkezleri koruyun.
  • Merkezlerin sırası önemlidir. Her zaman merkezler üzerinde baştan sona doğru ilerleyin.
  • Test durumları self.centroids değişkenini yazdıracak ve doğru olup olmadıklarını doğrulayacaktır.

Kendin dene

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):
    # Kodunuzu buraya yazın

    def fit(self, X_train):
        # Kodunuzu buraya yazın
        self.centroids = ...
    
    def predict(self, X_test):
        pass

Makine Öğrenmesine Giriş bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi