Keşifsel veri analizi tamamen öngörülü modelleme yaparken önemli midir?


23

Makine öğrenme tekniklerini kullanarak yordayıcı bir model oluştururken, keşifsel veri analizi (EDA) yapmanın amacı nedir? Model oluşturma ve model oluşturma özelliklerine doğrudan atlamak uygun mudur? EDA'da tanımlayıcı istatistikler nasıl önemlidir?


6
“Keşifsel veri analizi” hakkında soru soruyorsunuz, ancak [descriptive-statistics]etiketi de ekliyorsunuz ve son sorunuz açıklayıcı istatistiklerin önemli olup olmadığı. Bu bağlamda, yalnızca EDA'dan bahsettiğinizde çeşitli tanımlayıcı istatistikleri hesaplamak mı istiyorsunuz yoksa hem tanımlayıcı istatistikler hem de EDA'yı mı soruyorsunuz? Soruyorum çünkü çoğu insan (ben dahil) EDA'yı tanımlayıcı istatistiklerden daha fazlası olarak düşünüyor.
gung - Reinstate Monica

Tam olarak "özellik oluşturma" nedir? Bir keşif süreci değil mi?
einar

5
Son zamanlarda, 37 kişi tarafından 224 gözlem yapıldı. Betimsel analiz bana, 36 kadının 1 erkek olduğunu söylediğinde, diğerlerinin yanı sıra cinsiyet / cinsiyetin etkisini araştırmayı planlamıştım. Bu tanımlayıcı istatistik nedeniyle, cinsiyet / cinsiyetle ilgili tüm analizleri atladım. Benim için önemliydi, çünkü tanımlayıcılar model oluşturma sürecimi etkiledi. Bu veriyle ilgili daha fazla bilgi için istatistik.stackexchange.com/questions/352015/…
Bernhard

Yanıtlar:


47

Çok uzun zaman önce, bir veri bilimi pozisyonu için bir röportaj görevim vardı. Bana bir veri seti verildi ve diğerlerine verilen belirli bir ikili değişkeni tahmin etmek için birkaç saatlik bir zaman limiti olan bir öngörü modeli oluşturmam istendi.

Değişkenlerin her birini sırayla izledim, grafiğe döktüm, özet istatistikleri hesapladım. Ayrıca sayısal değişkenler arasındaki korelasyonları hesapladım.

Bulduğum şeyler arasında:

  • Bir kategorik değişken neredeyse hedefi mükemmel şekilde eşleştirdi.
  • İki veya üç değişken, değerlerinin yarısından fazlasında eksikti.
  • Birkaç değişken aşırı aykırı değerlere sahipti.
  • Sayısal değişkenlerin ikisi mükemmel bir şekilde ilişkilendirildi.
  • vb.

Benim demek ki bunlar kasıtlı koymak olmuştu şeyler olduğunu insanlar bir model inşa etmeye çalışmadan önce onları fark edip görebilirsiniz. Şirket onları içeri soktu çünkü gerçek hayatta olabilecek bir şeydiler ve model performansını büyük ölçüde etkilediler.

Yani evet, makine öğrenirken EDA önemlidir!


8
Öğrencilere ödevler verdiğimde bunu da sıklıkla yaparım ;-).
gung - Reinstate Monica

14

Açıkçası evet.

Veri analizi, tahmine dayalı modelinize zarar verecek birçok noktaya yol açabilir:

Eksik veri

Nicel verilerden bahsettiğimizi varsayarsak, sütunu göz ardı etmek isteyip istemediğinize karar vermeniz gerekir (çok fazla veri varsa) veya "varsayılan" değerinizin ne olacağını bulmak zorundasınız (Ortalama, Mod, vb.). İlk önce verilerinizi keşfetmeden bunu yapamazsınız.

Anormal veri

Oldukça güçlü bir korelasyon ama olan verilerin% 2 olduğu verileriniz var ki yolu bu korelasyonun kapatır. Tahmini modelinize yardımcı olmak için bu verileri tamamen kaldırmak isteyebilirsiniz.

Çok fazla ilişkilendirmeye sahip sütunları kaldır

Tamam, bu biraz önceki noktamla çelişiyor ama ingilizce benim ana dilim değil bu yüzden anlayacağınızı umuyorum.

Aptal bir örnek alacağım, bir futbol stadyumu veri setini analiz ettiğinizi Width, Length, Areave parametreleriniz olduğunu söyleyeceğim . Bu üç parametrenin güçlü bir şekilde ilişkilendirileceğini kolayca hayal edebiliriz. Sütununuz arasında çok fazla korelasyon olması tahmin modelini yanlış yöne yönlendirir. Parametrelerden birini veya daha fazlasını temizlemeye karar verebilirsiniz.

Yeni özellikler bul

Küçük Titanic Kaggle "Yarışması" örneğini alacağım . İnsanların isimlerine bakarken, kişinin özelliklerinden birini çıkarabileceğinizi anlayabilirsiniz Title. Bu özellik modelleme söz konusu olduğunda oldukça önemli olduğu ortaya çıkıyor, ancak önce verilerinizi analiz etmeseydiniz kaçırırdınız.

Sürekli verilerinizi bölmeye karar verebilirsiniz, çünkü bu daha uygun hissettirir veya sürekli bir özelliği kategorik olana dönüştürür.

Ne tür bir algoritma kullanacağınızı bulun

Şu anda arsa çizemem, ama bunu basit bir örnek yapalım.

Bir özellik sütunu ve bir ikili (sadece 0 veya 1) "sonuç" sütunu olan küçük bir modeliniz olduğunu hayal edin. Bu veri kümesi için tahmine dayalı bir sınıflandırma modeli oluşturmak istiyorsunuz.

Bir kez daha bir örnek olarak, onu çizecekseniz (soo, verilerinizi analiz edin), arsanın 1 değerinizin etrafında mükemmel bir daire oluşturduğunu fark edebilirsiniz. Böyle bir senaryoda, doğrudan DNN'ye atlamak yerine harika bir model elde etmek için bir polinom sınıflandırıcısını kullanabileceğinizi açıkça belirtmek gerekirse. (Açıkçası, benim örneğimde sadece iki sütun olduğunu düşünürsek, bu mükemmel bir örnek değil, ama sen anladın)

Genel olarak, önce verilere bakmazsanız, öngörücü bir modelin iyi performans göstermesini bekleyemezsiniz.


8

EDA tarafından yapılan önemli bir şey, veri girişi hatalarını ve diğer anormal noktaları bulmaktır.

Bir diğeri ise değişkenlerin dağılımının uymaya çalıştığınız modelleri etkileyebileceğidir.


8

Kimyada bir cümle vardı:

" Laboratuarda geçirilen iki hafta Scifinder'da iki saat tasarruf sağlayabilir ".

Aynısının makine öğrenmesi için de geçerli olduğuna eminim:

" Bir sinir ağını eğitmek için harcanan iki hafta, giriş verilerine bakarken 2 saat tasarruf sağlayabilir ".

Herhangi bir ML işlemine başlamadan önce yaşadıklarım bunlar.

  • Her (sürekli) değişkenin yoğunluğunu çizin. Rakamlar nasıl çarpık? Verilerin anlamlı olması için bir log dönüşümüne ihtiyacım var mı? Outliers ne kadar uzakta? Fiziksel veya mantıklı olmayan hiçbir değer var mı?
  • NA'lara dikkat edin. Genellikle, onları yalnızca atabilirsiniz, ancak çok sayıda varsa veya sistemin davranışının çok önemli bir yönünü temsil ediyorlarsa, verileri yeniden oluşturmanın bir yolunu bulmanız gerekebilir. Bu başlı başına bir proje olabilir.
  • Her değişkeni yanıt değişkenine karşı çizin. Sadece göz küresi ile ne kadar mantıklı gelebilir ki? İşlevlerle donatılabilecek belirgin eğriler var mı?
  • İlk etapta karmaşık bir ML modeline ihtiyacınız olup olmadığını değerlendirin. Bazen doğrusal regresyon gerçekten ihtiyacınız olan tek şeydir. Olmasa bile, ML modelinizin gelişmesi için iyi bir temel sağlar.

Bu temel adımların ötesinde, ML işlemlerini uygulamadan önce verilere bakarak fazladan zaman harcamazdım. Zaten çok sayıda değişkeniniz varsa, bunların karmaşık olmayan doğrusal olmayan kombinasyonları sadece bulmak için değil, arsa ve anlamak için de giderek zorlaşır. Bu bilgisayar tarafından en iyi elleçlenen türden bir şey.


6

İstatistiksel bakış açısı:

Modelleme aşamasında hataları bir kenara bırakarak, ilk önce EDA yapmadan öngörmeye çalışmanın üç olası sonucu vardır:

  1. Tahmin, açık saçma sonuçlar verir; çünkü girdi verileriniz, tahmin yönteminizin varsayımlarını ihlal etti. Sorunun nerede olduğunu bulmak için geri dönüp girdilerinizi kontrol etmeniz, ardından sorunu düzeltmeniz ve analizi yeniden yapmanız gerekir. Konunun niteliğine bağlı olarak, tahmin yöntemlerinizi değiştirmeniz gerekebilir. (Ne demek istiyorsun, bu kategorik bir değişken mi?)
  2. Öngörü, verilerinizin varsayımları biraz daha az açık bir şekilde ihlal ettiği için kötü ancak açık bir şekilde kötü olmayan sonuçlar verir . Ya geri dönüp bu varsayımları yine de kontrol edersiniz (bu durumda, yukarıdaki 1 numaralı maddeye bakın) veya hatalı sonuçlar kabul edersiniz.
  3. Şans eseri olarak, girdi verileriniz tam olarak olmasını beklediğiniz şeydir (bunun zaman zaman meydana geldiğini anlıyorum) ve tahmin iyi sonuçlar verir… ki bu, ve arasındaki farkı söyleyememeniz dışında harika olurdu. 2 yukarıda.

Proje yönetimi perspektifi:

Veri sorunlarını çözmek, önemli miktarda zaman ve çaba gerektirebilir. Örneğin:

  • Veriler kirli ve onu temizlemek için süreç geliştirmek için zaman harcamanız gerekiyor. (Örneğin: Ocak ayında yanlış yılı yazmaya devam eden tüm insanlar ve yıl alanına tarih girenler ve ayrıştırılan sistem için MM / DD / YYYY olarak tarih belirleyenler için otomatik bir kodlama yapmam gereken zaman GG / AA / YYYY yerine)
  • Verilerin ne anlama geldiğiyle ilgili sorular sormanız gerekiyor ve onlara yalnızca Joan cevap verebilir. Joan, projeniz başladıktan iki hafta sonra başlayan altı aylık bir tatile gidiyor.
  • Veri sınırlamaları, sunmayı amaçladığınız her şeyi sağlamanızı önler (bkz. Bernhard'ın cinsiyete / cinsiyete göre analiz yapamama örneği, çünkü veri setinde sadece bir kadın vardı) ve müşterilerinizin bu konuda ne yapmanız gerektiğini çözmeniz gerekiyor .

Bu tür sorunları ne kadar erken tespit ederseniz, projenizi raylar üzerinde tutma, zamanında bitirme ve müşterilerinizi mutlu etme şansınız o kadar artar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.