Veri dönüştürme-sayımlar ile öğrenme

Bu makalede, Azure Machine Learning Studio (klasik) ' de bulunan ve sayı tabanlı bir özelliği destekleyen modüller açıklanmaktadır.

Not

Uygulama hedefi: Machine Learning Studio (klasik)

Bu içerik yalnızca Studio (klasik) ile ilgilidir. Benzer sürükle ve bırak modülleri Azure Machine Learning tasarımcısına eklenmiştir. Bu makalede iki sürümü karşılaştırandaha fazla bilgi edinin.

Sayımlar ile öğrenme, değerlerin sayımlarını temel alan bir veri kümesi özelliklerinin daha hızlı bir şekilde oluşturulması için etkili bir yoldur. Bu kategorideki modülleri, bir dizi sayı ve özellik oluşturmak için kullanabilirsiniz. Daha sonra, yeni verilerden yararlanmak veya iki sayı verisi kümesini birleştirmek için sayıları ve özellikleri güncelleştirebilirsiniz.

Sayı tabanlı korleştirme hakkında

Sayı tabanlı korunun temel fikri, sayıları hesaplarken, en önemli bilgileri hangi sütunların içerdiğini hızla ve kolayca alabilirsiniz. Modül bir değerin kaç kez göründüğünü sayar ve sonra bu bilgileri bir modele giriş için bir özellik olarak sağlar.

Kredi kartı işlemini doğruladığınızı düşünelim. Bu işlemin nereden geldiği önemli bir bilgi parçasıdır. İşlem kaynağının en yaygın kodlamalarının biri posta kodudur. Ancak, hesabı için 40.000 posta kodu, posta kodu ve coğrafi kodların birçoğu olabilir. Modeliniz 40.000 daha fazla parametre öğrenme kapasitesine sahip mi? Bu kapasiteye izin verirseniz, bu kapasitenin üzerine kaçmasını engellemek için yeterli eğitim verisi mi var?

Çok sayıda örnek içeren iyi verileriniz varsa, bu tür hassas yerel ayrıntı düzeyi güçlü olabilir. Ancak, küçük bir yerde sahte bir işlemin yalnızca bir örneğine sahipseniz, bu yer olan tüm işlemlerin hatalı olması veya yeterli veri bulundurmayacağınız anlamına gelir.

Bir çözüm, sayımlar hakkında bilgi almak için kullanılır. 40.000 daha fazla özelliğe giriş yapmak yerine, her posta kodu için sahtekarlık sayısını ve oranlarını gözlemleyebilirsiniz. Bu sayıları özellik olarak kullanarak, her bir değer için kanıt gücü hakkında bilgi alırsınız. Ayrıca, sayımların ilgili istatistiklerini kodlayarak öğrenici, yaklaşımını ne zaman değişeceğinize karar vermek için istatistikleri kullanabilir, bunun yerine bilgileri almak için diğer özellikleri kullanır.

Sayı tabanlı öğrenme, birçok nedenden dolayı çekici değildir. Sayı tabanlı öğrenme sayesinde, daha az parametre gerektiren daha az özelliğe sahip olursunuz. Daha az parametre daha hızlı öğrenme, daha hızlı tahmin, daha küçük tahminler ve daha fazla uyum için daha az potansiyel hale gelir.

Sayım tabanlı özellikler nasıl oluşturulur

Temel bir örnek, sayım tabanlı özelliklerin nasıl oluşturulup uygulanacağını göstermeye yardımcı olabilir. Etiketler ve girişler ile bunun gibi aşağıdaki tabloya sahip olduğunuzu varsayalım. Her durumda (veya satır veya örnek) sütunlarda bir değerler kümesi vardır. Bu örnekte, değerler A ve B ' dir.

Etiket sütunu Giriş değeri
0 A
0 A
1 A
0 B
1 B
1 B
1 B

Bunlar, sayı tabanlı özellikler oluşturmak için gerçekleştirmeniz gereken adımlardır:

  1. Belirli bir değer kümesi için, bu veri kümesindeki aynı değere sahip diğer tüm durumları bulun. Bu durumda, A ve dört B örneğinin üç örneği vardır.
  2. Her bir değerin sınıf üyeliğini kendi kendine özellik olarak say. Bu durumda, küçük bir matris alırsınız: bir = 0; olduğunda iki durum vardır. biri = 1; büyük bir durum B = 0; ve B = 1 olduğu üç durum.
  3. Bu matris temelinde, çeşitli sayı tabanlı özellikler alırsınız. Bunlar, günlük-ODDS oranının hesaplanması ve her bir hedef sınıf için sayımlar içerir. Sonraki bölümdeki tablo, verileri görüntüler.

Sayı tabanlı özelliklerin örnek tablosu

Etiketle 0_0_Class000_Count 0_0_Class001_Count 0_0_Class000_LogOdds 0_0_IsBackoff
0 2 1 0,510826 0
0 2 1 0,510826 0
1 2 1 0,510826 0
0 1 3 -0,8473 0
1 1 3 -0,8473 0
1 1 3 -0,8473 0
1 1 3 -0,8473 0

Örnekler

Tıklama tahmini modellerini oluşturmak için Azure Machine Learning kullanın, Microsoft Machine Learning ekibi, makine öğreniminde sayımların nasıl kullanılacağına ilişkin ayrıntılı bir yol sağlar. Makalede, diğer yöntemlerle Count tabanlı modellemenin göre etkinliğine karşılaştırılır.

Teknik notlar

Bu bölümde, sık sorulan soruların uygulama ayrıntıları, ipuçları ve yanıtları yer almaktadır.

Günlük kayıp değeri nasıl hesaplanır

Günlük kayıp değeri düz günlük-ODDS değil. Bu durumda, önceki dağıtım log-ODDS hesaplamasını düzgünleştirmek için kullanılır.

İkili sınıflandırma için kullanılan bir veri kümeniz olduğunu varsayalım. Bu veri kümesinde, 0 sınıfı için önceki sıklık p_0 ve 1. sınıf için önceki sıklık p_1 = 1 – p_0 . Belirli bir eğitim örneği özelliği için, 0 sınıfı için sayı x_0 ve 1 sınıfı için olan sayı x_1 .

Bu varsayımlar altında, log-ODDS, LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1) c Kullanıcı tarafından ayarlanarak önceki katsayı olduğu gibi hesaplanır. Log işlevi doğal temeli kullanır.

Diğer bir deyişle, her bir sınıf için i :

Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))

Önceki katsayı pozitif ise, günlük-Odd 'lerden farklı olabilir Log(count[i] / (sum_of_counts – count[i])) .

Log-ODDS 'nin bazı öğeler için hesaplanmamasının nedeni

Varsayılan olarak, 10 ' dan küçük bir sayı olan tüm öğeler "çöp kutusu" adlı tek bir sepete toplanır. Bu değeri, Sayım tablosu parametrelerini değiştirme modülündeki çöp kutusu eşiği seçeneğini kullanarak değiştirebilirsiniz.

Modül listesi

Sayımlar Ile öğrenme kategorisi aşağıdaki modülleri içerir:

  • Derleme sayım dönüştürmesi: bir veri kümesinden bir sayma tablosu ve sayı tabanlı özellikler oluşturur ve ardından tablo ve özellikleri bir dönüşüm olarak kaydeder.
  • Dışarı aktarma sayısı tablosu: sayım dönüşümünden bir Count tablosu dışarı aktarır. Bu modül, derleme sayısı tablosu (kullanım dışı) ve sayı Feaulaştırıcı (kullanım dışı) kullanarak sayı tabanlı özellikler oluşturan denemeleri ile geriye dönük uyumluluğu destekler.
  • Içeri aktarma sayısı tablosu: var olan bir Count tablosunu içeri aktarır. Bu modül, derleme sayısı tablosu (kullanım dışı) ve sayı Feaulaştırıcı (kullanım dışı) kullanarak sayı tabanlı özellikler oluşturan denemeleri ile geriye dönük uyumluluğu destekler. Modül, Count tablolarının Count dönüşümlerine dönüştürülmesini destekler.
  • Birleştirme sayısı dönüşümü: iki sayı tabanlı özellik kümesini birleştirir.
  • Sayım tablosu parametrelerini değiştir: varolan bir sayı tablosundan türetilmiş, sayı tabanlı özellikleri değiştirir.

Ayrıca bkz.