CodeBlanks Logo Icon CodeBlanks

Özellik ve etiket gösterimi

ML'de özellikler genelde X matrisi, etiketler y vektörü olarak gösterilir.

Özellik matrisi X

Geleneksel olarak girdiler büyük X, etiketler küçük y ile gösterilir. X iki boyutludur (örnek × özellik), y tek boyutludur (her örnek için bir etiket).

import numpy as np
X = np.array([[170, 65], [160, 55], [180, 80]])  # boy, kilo
y = np.array([1, 0, 1])
print(X.ndim, y.ndim)   # 2 1

Büyük harf matrisi, küçük harf vektörü anlatan matematik gösteriminden gelir.

reshape(-1, 1)

Tek özellikli veriyi sütun haline getirmenin yolu reshape(-1, 1)'dir. -1 "bu boyutu sen hesapla" anlamına gelir:

x = np.array([10, 20, 30])
X = x.reshape(-1, 1)
print(X.shape)   # (3, 1)

Etiketler ise tek boyutlu kalmalıdır; y'yi sütuna çevirmek bazı modellerde uyarıya yol açar.

Uygulama Sütuna çevir

x dizisini reshape(-1, 1) ile X'e çevir; X.shape ve X.ndim değerlerini aralarında boşlukla yazdır.

Başlangıç kodu

model.py
import numpy as np

x = np.array([4, 8, 15, 16, 23, 42])

# buraya yaz

Örnek çözüm

model.py
import numpy as np

x = np.array([4, 8, 15, 16, 23, 42])

X = x.reshape(-1, 1)
print(X.shape, X.ndim)

Beklenen çıktı

(6, 1) 2

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>X = np.array([10, 20, 30])</code> scikit-learn'e neden doğrudan verilemez?

  • Üç örnek az
  • NumPy dizisi kabul edilmez
  • Tek boyutlu; X iki boyutlu olmalı Doğru cevap
  • Sayılar tam sayı

Açıklama: reshape(-1, 1) ile tek sütunlu iki boyutlu diziye çevrilmesi gerekir.

2 Tek boyutlu diziyi tek sütunlu matrise çevir.

Soru
X = x.reshape(____)
Cevap
X = x.reshape(-1, 1)

Açıklama: reshape(-1, 1) satır sayısını otomatik hesaplar ve tek sütun üretir.

3 Gösterimleri eşleştir.

Kavram Anlamı
X Özellik matrisi
y Etiket vektörü
ndim Boyut sayısı
reshape(-1, 1) Tek sütuna çevirme

Başlangıç bölümündeki tüm dersler