Etiketler, zayıf etiketler ve gerçek

Python'da Machine Learning İş Akışları Tasarlama

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Etiketler her zaman kusursuz değildir

Doğruluk düzeyleri:

  • Gerçek değer (ground truth)
    • bilgisayar çöker ve fidye isteyen bir mesaj çıkar
  • Uzman tarafından etiketleme
    • analist günlükleri inceler ve yetkisiz davranışları tespit eder
  • Sezgisel etiketleme
    • çok kısa sürede çok fazla porta trafik gelmiştir
Python'da Machine Learning İş Akışları Tasarlama

Etiketler her zaman kusursuz değildir

Gürültüsüz veya güçlü etiketler:

  • Gerçek değer
  • Uzman tarafından etiketleme

Gürültülü veya zayıf etiketler:

  • Sezgisel etiketleme

Özellik mühendisliği:

  • Sezgilerde kullanılan özellikler
Python'da Machine Learning İş Akışları Tasarlama

Özellikler ve sezgiler

Her enfekte ana bilgisayarın ziyaret ettiği benzersiz bağlantı noktası ortalaması:

np.mean(X[y]['unique_ports'])
15.11

Etiketlerden bağımsız, ana bilgisayar başına benzersiz bağlantı noktası ortalaması:

np.mean(X['unique_ports'])
11.23
Python'da Machine Learning İş Akışları Tasarlama

Özelliklerden etiketlere

Bir özelliği etiketleme sezgisine dönüştürün:

X_train, X_test, y_train, y_test = train_test_split(X, y)
y_weak_train = X_train['unique_ports'] > 15

hist_cropped.png

Python'da Machine Learning İş Akışları Tasarlama

Özelliklerden etiketlere

Özellik matrisi üst üste iki kez yığılmıştır. Birinde alan uzmanlarının ürettiği etiketler, diğerinde sezgisel yöntemle üretilen etiketler vardır.

X_train_aug = pd.concat([X_train, X_train])
y_train_aug = pd.concat([pd.Series(y_train), pd.Series(y_weak_train)])
Python'da Machine Learning İş Akışları Tasarlama

Veriler önceki slaydaki gibi yığılmıştır; özgün etiketlere 1,0 ağırlık, sezgisel yöntemle üretilenlere 0,5 ağırlık verilmiştir.

weights = [1.0]*len(y_train) + [0.1]*len(y_weak_train)
Python'da Machine Learning İş Akışları Tasarlama

Yalnızca gerçek değerlerle doğruluk:

0.91

Ağırlıksız gerçek ve zayıf etiketler:

accuracy_score(y_test, clf.fit(X_train_aug, y_train_aug).predict(X_test))
0.93

Ağırlık ekleyin:

accuracy_score(y_test, clf.fit(X_train_aug, y_train_aug, sample_weight=weights).predict(X_test))
0.95
Python'da Machine Learning İş Akışları Tasarlama

Etiketlerin kusursuz olması gerekmez!

Python'da Machine Learning İş Akışları Tasarlama

Preparing Video For Download...