Verileri toplama ve analiz etmenin en iyi yolları


13

Kısa süre önce kendime öğretmeye başladım Makine Öğrenimi ve Veri Analizi Kendimi büyük veri kümeleri oluşturma ve sorgulama ihtiyacı üzerine bir tuğla duvara çarptım. Mesleki ve kişisel hayatımda topladığım verileri almak ve analiz etmek istiyorum, ancak aşağıdakileri yapmanın en iyi yolundan emin değilim:

  1. Bu verileri nasıl saklamalıyım? Excel? SQL? ??

  2. Yeni başlayanlar için bu verileri analiz etmeye çalışmanın iyi bir yolu nedir? Ben profesyonel bir bilgisayar programcısıyım, bu yüzden karmaşıklık yazma programlarında değil, veri analizi alanına az çok özgüdür.

EDIT: Belirsizliğim için özür dilerim, bir şey hakkında ilk öğrenmeye başladığınızda, bilmediğiniz şeyi bilmek zor, biliyor musunuz? ;)

Bunu söyledikten sonra, amacım bunu iki ana konuya uygulamak:

  1. Yazılım ekibi metrikleri (çevik hızı düşünün, riski ölçmek, x hikaye noktası sayısı verildiğinde başarıyla tamamlanan bir yineleme olasılığı)

  2. Makine öğrenimi (ör. Belirli bir modül grubunda sistem istisnaları meydana gelmiştir, bir modülün alana bir istisna atma olasılığı nedir, bu maliyet ne kadardır, veriler elde etmek için anahtar modüller hakkında bana ne söyleyebilir? bana benim kova için en iyi patlama, kullanıcının veri yüklemeye başlamak için bir sonraki kullanmak istediği sistemin hangi bölümü tahmin, vb).


Bu bana çok belirsiz geliyor. Ne tür veriler ve ne tür analizler? Ayrıca, eğer öznelse bu topluluk wiki'si olmalıdır.
Shane

Yanıtlar:


19

Büyük veri kümeleriniz varsa - Excel veya Not Defteri'ni yavaş yükleyenler, bir veritabanı gitmek için iyi bir yoldur. Postgres açık kaynaklı ve çok iyi yapılmış ve JMP, SPSS ve diğer programlarla bağlantı kurmak kolaydır. Bu durumda örnek almak isteyebilirsiniz. Veritabanındaki verileri normalleştirmek zorunda değilsiniz. Aksi takdirde, CSV paylaşım dostudur.

100M + satırınız varsa Apache Hive'ı düşünün.

Analiz açısından, bazı başlangıç ​​noktaları:

Bir değişkeni tanımlayın:

  • Histogram
  • Özet istatistikler (ortalama, aralık, standart sapma, min, maks, vb.)
  • Aykırı değerler var mı? (çeyrekler arası aralıktan 1,5 kat daha fazla)
  • Ne tür bir dağıtım izliyor? (normal, vb.)

Değişkenler arasındaki ilişkiyi açıklar:

  • Dağılım grafiği
  • bağıntı
  • Aykırı? Mahalanobis mesafesini kontrol et

  • Kategorik mozaik mozaik arsa

  • Kategorik için beklenmedik durum tablosu

Gerçek bir sayı tahmin edin (fiyat gibi): regresyon

  • OLS regresyonu veya makine öğrenimi regresyon teknikleri

  • tahmin etmek için kullanılan teknik insanlar tarafından anlaşılabilir olduğunda buna modelleme denir. Örneğin, bir sinir ağı tahminlerde bulunabilir, ancak genellikle anlaşılabilir değildir. Anahtar Performans Göstergelerini bulmak için regresyonu da kullanabilirsiniz.

Sınıf üyeliğini veya sınıf üyeliği olasılığını (başarılı / başarısız gibi) tahmin edin: sınıflandırma

  • lojistik regresyon veya SVM gibi makine öğrenme teknikleri

Gözlemleri "doğal" gruplara yerleştirin: kümeleme

  • Genellikle kişi, aralarındaki mesafeyi hesaplayarak "benzer" gözlemler bulur.

Nitelikleri "doğal" gruplara yerleştirin: faktoring

  • PCA, NMF gibi diğer matris işlemleri

Riski Ölçmek = Standart Sapma veya "kötü şeylerin" gerçekleşme sürelerinin oranı x ne kadar kötü olduklarını

X hikaye noktası sayısı verildiğinde başarıyla tamamlanmış bir yineleme olasılığı = Lojistik Regresyon

İyi şanslar!


Bu harikaydı. Bu yanıt için çok teşekkür ederim. Bana harika bir atlama noktası verdin. Bulunduğunuz yerden beri "aldığınız" gibi görünen tüm kitaplar.
Justin Bozonier

çok rica ederim. kitaplar: Düz İngilizce İstatistikler başlayacak. Bundan sonra Saçla Çok Değişkenli Veri Analizi. Bunlar iyi web kaynakları: itl.nist.gov/div898/handbook , statsoft.com/textbook
Neil McGuigan

4

Sistem hatalarına bakıyorsanız, eBay'de arıza teşhisi için makine öğrenme teknikleri kullanan aşağıdaki makaleyle ilgilenebilirsiniz. Ne tür veriler toplayacağınız veya bir ekibin benzer bir alanda belirli bir soruna nasıl yaklaştığı hakkında bir fikir verebilir.

Yeni başlıyorsanız, RapidMiner veya Orange gibi bir şey , verilerinizle hızlı bir şekilde oynamaya başlamak için iyi bir yazılım sistemi olabilir. Her ikisi de verilere çeşitli biçimlerde erişebilir (dosya csv, veritabanı, diğerleri arasında).


3

Sorunuz o kadar geniş ki cevap: duruma bağlı. Yine de, daha faydalı bir cevap vermek için Araştırma'da yaygın olduğunu düşündüğümü göstereceğim.

Verilerin depolanması genellikle metin dosyalarında yapılır. İstatistiksel analizler yaparken çoğunlukla bir tür vektörden oluşan bir koleksiyonla çalışırsınız. Bu bir tablo olarak görülebilir ve csv formatında yazılabilir. İnce öğelerin genellikle düz metin olarak depolanmasının nedeni, her aracın bunları okuyabilmesi ve dönüştürülmesi kolay olmasıdır.

Analiz hakkında, bunun spesifik olması biraz daha zordur. 2 boyutluysa, bir dağılım grafiği yapın. Yüksek boyutlu ise, PCA yapın ve önemli değişkenleri keşfetmek için ilk temel bileşenlerin nerede bulunduğunu görün. Zaman verileriniz varsa, onu çizin. Tüm bunlar o kadar genel ki, yararlı olması için verilerinizin ne olduğunu gerçekten daha iyi belirtmeniz gerekiyor.


Peter, beni yumruk attı! Verileri metin olarak depolamaya tamamen katılıyorum, ancak büyüklüğüne (yüz milyonlarca obs) bağlı olarak, harita indirgenebilir bir veritabanına (örneğin, Pig, Cassandra veya NoSQL seçeneklerinden biri) geçmek gerekli olabilir.
DrewConway

Ah ilginç! Yani sadece her değişken için veri almak ve satır-sütun formatında koymak ve sayı crunching eh olsun? Bakmam gereken herhangi bir araç var mı yoksa sadece bir şey mi programlamalıyım?
Justin Bozonier

R, istatistikler için çok kapsamlı (ve ücretsiz) bir araç / programlama dili / kütüphanesidir. Çoğu şey için en sevdiğim, SciPy / NumPy ile Python
Peter Smit

0

ROOT'un gerçekten iyi olduğu tek şey muazzam miktarda veri depolamak. ROOT, parçacık fiziğinde kullanılan bir C ++ kütüphanesidir; Ayrıca Ruby ve Python bağlamaları ile birlikte gelir, bu nedenle ROOT'un kullanıma hazır birkaç olasılık sunduğunu bulduğunuzda verileri analiz etmek için bu dillerdeki paketleri (örneğin NumPy veya Scipy) kullanabilirsiniz.

ROOT dosya biçimi ağaçları veya tuplesleri depolayabilir ve girişler sırayla okunabilir, bu nedenle tüm verileri aynı anda bellekte tutmanıza gerek yoktur. Bu, Excel veya R ile denemek istemediğiniz bir şey olan petabaytlarca veriyi analiz etmenizi sağlar.

KÖK G / Ç belgeleri ulaşılabilir burada .

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.