Klasifikasi: rekayasa fitur

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Lisa Stuart

Data Scientist

Rekayasa fitur... mengapa?

  • Mengekstrak info tambahan dari data
  • Membuat fitur relevan baru
  • Salah satu cara paling efektif meningkatkan model prediktif
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Manfaat rekayasa fitur

  • Meningkatkan daya prediksi algoritme
  • Membuat model machine learning Anda makin baik
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Jenis rekayasa fitur

  • Variabel indikator
  • Fitur interaksi
  • Representasi fitur
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Variabel indikator

  • Indikator ambang
    • usia: SMA vs kuliah
  • Banyak fitur
    • dipakai sebagai flag
  • Acara khusus
    • Black Friday
    • Natal
  • Kelompok kelas
    • flag traffic berbayar situs
      • Google Adwords{4}}
      • Iklan Facebook
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Fitur interaksi

  • Jumlah
  • Selisih
  • Perkalian
  • Pembagian
  • Kombinasi matematis lain
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Representasi fitur

  • Stempel waktu
    • Hari dalam minggu
    • Jam dalam hari
  • Mengelompokkan level kategorikal menjadi 'Other'
  • Ubah kategorikal ke variabel dummy
    • (k - 1) kolom biner
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Level kategorikal berbeda

  • Data latih:
    • model dilatih dengan [red, blue, green]
  • Data uji:

    • model diuji dengan [red, green, yellow]
    • warna baru tidak muncul saat pelatihan
    • satu warna hilang
  • One-hot encoding yang robust

1 https://blog.cambridgespark.com/robust-one-hot-encoding-in-python-3e29bfcec77e
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Rasio utang terhadap pendapatan

  • Monthly Debt
  • Annual Income/12
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Fungsi rekayasa fitur

Function returns
sklearn.linear_model.LogisticRegression regresi logistik
sklearn.model_selection.train_test_split fungsi pecah train/test
sns.countplot(x='Loan Status', data=data) diagram batang
df.drop(['Feature 1', 'Feature 2'], axis=1) hapus daftar fitur
df["Loan Status"].replace({'Paid': 0, 'Not Paid': 1}) Loan Status sebagai integer
pd.get_dummies() k - 1 fitur biner
sklearn.metrics.accuracy_score(y_test, predict(X_test)) akurasi model
Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Tutorial yang sangat baik:

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Ayo berlatih!

Berlatih Pertanyaan Wawancara Machine Learning dengan Python

Preparing Video For Download...