Menu
CoddyTech

Broadcasting

Coddy'nin Machine Learning Journey'sinin Veriler ve Grafikler bölümünün bir parçası. Ders 13 / 60.

Her özellik 0 civarında olduğunda modeller daha iyi öğrenir. Bu yüzden her sütunun ortalamasını o sütundan çıkarırsın ve NumPy ortalamaları her satıra kopyalar:

Boy ve kilodan oluşan 3'e 2 tablo, her üç satıra kopyalanan ortalamalar satırı 170 ve 70 çıkarıldığında merkezlenmiş tablo elde edilir: 0 ve -10, 10 ve 10, -10 ve 0

Kodda, üç kişinin boy ve kiloları için:

data = np.array([[170, 60],
                 [180, 80],
                 [160, 70]])
print(data - data.mean(axis=0))

Şunu yazdırır:

[[  0. -10.]
 [ 10.  10.]
 [-10.   0.]]

Bu kopyalama yayma işlemidir. Tablo artık ortalanmıştır: her değer, sütununun ortalamasından ne kadar uzakta olduğunu gösterir.

Ortalamalar (2,) şekline sahiptir: (3, 2) tablosunun sütun başına bir değer. Başka herhangi bir uzunluk hata vererek işlemi durdurur.

challenge icon

Görev

Kolay

Bir fitness uygulaması, antrenmandan önce her tablonun merkezini ortalar. Başlangıç kodu, iki tablo üzerinde center çağırır: users (3 özellik) ve workouts (2) ve sonuçları yazdırır. Şu anda center, tabloyu değiştirmeden döndürür.

center işlevini, sütun sayısı ne olursa olsun her sütunun ortalamasını o sütundan çıkaracak şekilde tamamla. Altındaki satırları olduğu gibi bırak.

İki kullanıcı ve iki antrenman olduğunda çıktı şöyle görünür:

Centered users:
[[-6.  7. -5.]
 [ 6. -7.  5.]]
Column means after centering: [0. 0. 0.]
Centered workouts:
[[-10. -90.]
 [ 10.  90.]]
Column means after centering: [0. 0.]

Kendin dene

import numpy as np


def center(table):
    # Her sütunun ortalaması çıkarılmış table değerini döndür
    # Kodunuzu aşağıya yazın
    return table


# Her kullanıcı için bir satır: yaş, dinlenme hâlindeki kalp atış hızı, günlük egzersiz süresi (dakika)
users = np.array([[25, 62, 30],
                  [31, 70, 45],
                  [40, 58, 20],
                  [29, 66, 25]])
# Her antrenman için bir satır: süre (dakika), yakılan kalori
workouts = np.array([[30, 240],
                     [45, 410],
                     [20, 150],
                     [60, 520],
                     [35, 300]])

# Aşağıdaki satırları değiştirmeyin
print("Centered users:")
print(center(users))
print("Column means after centering:", np.round(center(users).mean(axis=0), 2))
print("Centered workouts:")
print(center(workouts))
print("Column means after centering:", np.round(center(workouts).mean(axis=0), 2))
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Veriler ve Grafikler bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi