Getting your dataset ready for training
Makine öğrenimi sorunuzu yanıtlamak için bir veri kümesini eğitirsiniz. Eğitim veri kümesi, her bir özellik için bir sütunun yanı sıra hedefi içeren bir sütun içerir. Makine öğrenimi algoritmaları, hedefi tahmin edebilecek bir model oluşturmak için bu veri satırlarındaki genel kalıpları öğrenir.
Veri kümesini makine öğrenimine hazır hale getirmek için verilerinizi anlamanız ve gerekli veri noktalarını toplamanız gerekir. Ayrıca bazı verileri dönüştürmeniz ve kullanım durumunuzla ilgili olmayan verileri kaldırmanız gerekebilir.
What data should you collect?
Makine öğrenimi sorunuzu kesin olarak tanımlayın ve bu soruya yaklaşmak için tam olarak nelerin toplanması gerektiğine karar verin:
-
Hangi müşterilerin ayrılacağını tahmin etmek istiyorsanız, her satırın bir müşteriyi temsil ettiği, her özellik sütununun o müşteriyi tanımlayan bir özelliği temsil ettiği ve hedef sütunun o müşterinin belirli bir zaman diliminde ayrılıp ayrılmadığı olduğu bir veri kümesi oluşturmanız gerekir.
-
Belirli bir ay ve bölge için satışların ne olacağını tahmin etmek istiyorsanız, her satırın belirli bir bölge için belirli bir ayı temsil ettiği, her özellik sütununun o bölgedeki o ayın işini tanımlayan bir özelliği temsil ettiği ve hedef sütunun o ayda o bölge için satış geliri olduğu bir veri kümesi oluşturmanız gerekir.
Hedefi nelerin etkileyebileceğini bulmaya çalışın ve bu verilerin toplanıp toplanamayacağına bakın. Tahmine dayalı algoritmaların yalnızca bulunabilecek kalıpları tanımlayabileceğini unutmayın. Belki de ek bilgi çıkarmak için ek özellikler toplamanız veya oluşturmanız gerekiyordur?
Ayrıca, doğru bir şekilde tahmin yapabilmeniz için ne kadar veri biriktirmeniz gerektiğini de belirlemelisiniz. Olayın temsil edici hale gelmesi ne kadar sürer? Aşağıdaki örnekleri göz önünde bulundurun:
-
Müşterilerin 90. güne kadar ayrılıp ayrılmayacaklarını tahmin edebilmeniz için 60 gündür üye olmaları gerekir.
-
Sigorta taleplerinin maliyeti birkaç ay boyunca bilinmeyecektir, bu nedenle altı aydan daha yeni olan talepleri hariç tutabilirsiniz.
Zamana bağlı olan ve zamana bağlı olmayan verileri ayırt edin. Zamana bağlı verilerde, veriler uygun şekilde toplanmak üzere zaman damgalı mı?
Will the data be available at the time of prediction?
Eğitim veri kümesine dahil ettiğiniz tüm özelliklerin gelecekteki tahminler için de mevcut olacağından emin olun. Modeli, geçmiş veriler için mevcut olan ancak gelecekte bir tahmin yaptığınızda mevcut olmayacak özellikler üzerinde eğitmek yaygın bir hatadır. Yeni veriler üzerinde tahminler yaparken, makine öğrenimi algoritması eğitim veri kümesinde bulunan tüm özellikler için değerlere sahip olmalıdır.
Is more data better?
Sample size
Daha büyük bir veri hacmi, daha güvenilir modeller üretme eğilimindedir. İster yeni ister geçmiş gözlemler olsun, ilgili tüm ek veri noktaları yardımcı olacaktır.
Number of features
Hedeflenen sonuçla ilgisi ne olursa olsun olası tüm değişkenleri modele dahil etmek cazip gelebilir. Daha basit olan genellikle daha iyidir. Modelde daha az sayıda özellik kullanmak genellikle daha iyidir.
Daha fazla özellik olduğunda, ortaya çıkarmak istediğiniz gerçek temel ilişkiyi potansiyel olarak örtbas etme riski daha fazla olabilir. Tahmine dayalı model, modeli eğitmek için kullanılan verilere karşı iyi performans gösteren bir dizi karmaşık kural oluşturmak için tüm özellikleri kullanabilir. Ancak tahmin edilen hedef aslında yalnızca bir veya iki özellikten etkilenebilir. Model, eğitimde kullanılanların dışındaki verilere genelleme yapmada iyi olmayabilir, bu da yeni verilere uygulandığında zayıf tahmin performansına neden olur.
Overfitting
Aşırı uyum, bir modelin aşırı karmaşık olduğu ve sonuç olarak yeni verileri tahmin etmede güvenilmez olduğu anlamına gelir. Aşırı uyum, mevcut veri noktalarının sayısına göre çok fazla özellik olduğunda meydana gelme eğilimindedir. Örneğin, veri kümesinde yalnızca 50 veri satırı ve 100 özellik sütunu olabilir.
Is your training data relevant?
Bir makine öğrenimi algoritması, ona beslediğiniz verilerdeki kalıpları bulur ve bu kalıpları gelecekteki veriler üzerinde tahminler yapmak için kullanır. Yeni veriler üzerinde tahminler yaptığınızda, bunların eğitim verilerine benzer olduğunu varsayarsınız. Bu nedenle, eğitim veri kümesinin istatistiksel olarak tahmin yapacağınız verilere benzemesi önemlidir.
Piyasa veya iş, eğitim veri kümenizin tanımladığından önemli ölçüde değiştiyse, muhtemelen yanlış tahminlere yol açacak güncel olmayan bir veri kümesi kullanıyorsunuzdur. Yeni bir eğitim veri kümesi oluşturmanız ve yalnızca değişiklik meydana geldikten sonra toplanan verileri kullanmanız gerekebilir.
Makine öğrenimini anlama bölümündeki satış tahminleri ile ilgili örneği düşünün. Algoritmamıza televizyon, radyo ve gazetedeki reklam harcamalarının yanı sıra geçmiş iş çeyrekleri için satış gelirini temsil eden veriler beslediğimizi varsayalım. Ancak veriler 1980'lerde toplanmıştı. Artık o ürünün reklamını radyoda yapmıyoruz ve neredeyse sadece çevrimiçi olarak reklamını yapıyoruz. Eğitilmiş algoritmamız, eğitim verileri mevcut işi temsil etmediği için mevcut iş çeyreği için satışları tahmin etmede zayıf performans gösterecektir.
Explore the data
Verileri anlamak ve doğrulamak için iş bilginizi kullanın. Veriler varsayımlarınızla uyuşmuyorsa, bu veri sorunları anlamına mı gelebilir yoksa varsayımlarınızın yanlış olduğu anlamına mı gelebilir?
Remove unreliable features
Aşağıdaki durumlarda sütunları veri kümesinden çıkarmayı düşünün:
-
Bir değerin yüksek bir yoğunluğu vardır (düşük kardinalite). Örneğin, değerlerin yüzde 90'ının "kırmızı" olduğu "kırmızı", "yeşil", "mavi" değerlerine sahip bir sütun.
-
Değerler oldukça benzersizdir (yüksek kardinalite).
-
Değerlerin çoğu boştur (null).
Address correlated features
Aynı veya çok benzer bilgileri sağlayan yüksek oranda ilişkili özellikler gibi gereksiz özellikleri kaldırın. Verilerde aynı davranışları yakalıyor gibi görünen gruplardan tek bir özellik seçmeyi düşünün. Bir özelliğin diğerini yönlendirip yönlendirmediğini belirlemeye çalışın.
Replace null values
Hedef veya temel özellikler gibi temel veri noktalarında eksik değerler olup olmadığını öğrenmek için verilerinizi keşfedin. Seyrek bir sütundaki değerleri kullanmak için boş değerleri "diğer" veya "bilinmeyen" ile değiştirebilirsiniz. Veya belki de veri toplamayı yeniden değerlendirmeniz gerekir.
Target range
Verilerin dağılımına bakın. Hedef verilerinizin dağılımı örneklem boyutunuza göre çok dağınıksa, verilerinizde herhangi bir kalıp bulmak zor olabilir.
Veri değerlerinin aralığı nedir? Aralık dışındaki veri değerlerini tahmin etmenin bazı zorlukları vardır. Daha fazlasını Ekstrapolasyon ve enterpolasyon bölümünde okuyun.
Dağılımda anormallikler var mı? Verilerinizdeki çarpıklık, kuyruklar ve çok modlu şekiller, ek veri dönüşümü veya daha fazla özellik mühendisliği gerektirebilir. Düşük hacimli kategorileri gruplandırmaya ve sayısal özelliklerdeki kuyrukları yuvarlamaya veya kaldırmaya çalışın.
Eliminate outliers
Özellik sütunlarında aykırı değerlere sahip gözlemleri kaldırmayı düşünün. Aykırı değerler, bir algoritmanın verilerdeki genel kalıpları ayırt etme yeteneğini engelleyebilir. Hedef sütunda daha sıkı bir yayılıma sahip daha küçük bir veri alt kümesine bakmak daha iyi olabilir.
Data grouping
Verileri farklı veri kümelerine bölerek ve bunları ayrı modelleri eğitmek için kullanarak sonuçlarınızı iyileştirebilirsiniz. Veri gruplandırmasını bir veya daha fazla özelliğe dayandırın.
Data leakage
Veri sızıntısı, bir makine öğrenimi algoritmasını eğitmek için kullanılan verilerin tahmin etmeye çalıştığınız bilgileri içerdiği anlamına gelir.