Menu
CoddyTech

Verileri Hazırlayın

Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 51 / 58.

Bir model yalnızca sayıların eksiksiz olduğu satırları okur. Penguen verilerinde eksik değerler ve iki metin sütunu vardır; bu yüzden her sütun kendi yolundan ilerler:

Bir eğitim penguenini gösteren şema. Dört ölçümü mavi bir yoldan ilerler, medyanla doldurulup ölçeklenir ve -0.79, 0.00, -0.05 ve -0.90 olarak çıkar. Biscoe adasındaki penguen ve cinsiyeti eksik olan penguen turuncu bir yoldan ilerler, bilinmiyor olarak doldurulup one-hot kodlaması yapılır ve altı adet 0 veya 1 sütunu olarak çıkar

Metin boşluklarına "unknown" değeri verilir: cinsiyeti kaydedilmemiş bir penguen, tahmin yürütmek yerine kendine ait bir sütun alır.

text_steps = make_pipeline(
    SimpleImputer(strategy="constant", fill_value="unknown"),
    OneHotEncoder())

Şeritleri yalnızca eğitim satırlarına uydurun. Test penguenlerini görmüş bir medyan, onları eğitim verilerine sızdırır.

challenge icon

Görev

Orta

Penguenlerin resimdeki şeritlere ihtiyacı var. Başlangıç kodu onları ayırır ve bir satır numarası okur.

  1. numbers değerlerini sayı şeridine, text değerlerini metin şeridine gönderen bir ColumnTransformer olan prep oluştur.
  2. Eğitim satırlarına uydur ve tek bir çağrıyla dönüştür.
  3. Önce boyutu ve boşlukları, ardından sonraki boyutu ve son olarak o satırın hazırlanmış hâlini 2 ondalık basamağa yuvarlayarak yazdır.

Başka bir koloni ve 3 numaralı satır için:

Before: 180 penguins, 6 columns, 9 gaps
After: 180 penguins, 10 columns
Penguin 3: [-1.12  0.47 -0.83 -0.6   0.    1.    0.    0.    1.    0.  ]

14. satır, kimsenin ölçemediği bir penguen. Ne hâle gelir?

Kendin dene

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import make_pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler, OneHotEncoder

# Meet the Penguins'deki koloni, öznitelikleri ve etiketi
penguins = pd.read_csv("penguins.csv")
numbers = ["bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g"]
text = ["island", "sex"]
X = penguins[numbers + text]
y = penguins["species"]

# Önce veriyi böl: test penguenleri Ship the Model aşamasına kadar ayrı tutulur
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, stratify=y, random_state=0)
row = int(input())

# Kodunuzu aşağıya yazın
quiz iconKendini test et

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

Denetimli Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi