Makine Öğrenimi için Veri Hazırlama: Adım Adım Kılavuz
Yayınlanan: 2023-07-07Yıllar önce Spotify, öneri motoru üzerinde çalışırken, makine öğrenimi (ML) algoritmalarını eğitmek için kullanılan verilerin kalitesiyle ilgili zorluklarla karşılaştı. Veri hazırlama aşamasına geri dönmeye ve verilerini temizlemek, normalleştirmek ve dönüştürmek için ek çaba harcamaya karar vermemiş olsalardı, muhtemelen dinleme deneyimimiz bu kadar eğlenceli olmayacaktı.
Verilerin ML için kapsamlı bir şekilde hazırlanması, akış platformunun, kullanıcıların dinleme tercihlerini doğru bir şekilde tahmin eden ve son derece kişiselleştirilmiş müzik önerileri sunan güçlü bir ML motorunu eğitmesine olanak sağladı. Spotify, iş makine öğrenimi için veri hazırlamaya geldiğinde şirketlerin yaptığı çok önemli bir hatadan kaçındı - yeterince çaba harcamamak veya herhangi bir aşamayı atlamamak.
Birçok işletme, doğru tahminler oluşturmak için büyük hacimli verileri bir makine öğrenimi motoruna beslemenin yeterli olduğunu varsayar. Gerçek şu ki, algoritmik önyargı veya sınırlı ölçeklenebilirlik gibi bir dizi soruna neden olabilir.
Makine öğreniminin başarısı büyük ölçüde verilere bağlıdır. Ve üzücü olan şudur: tüm veri kümeleri kusurludur. Bu nedenle veri hazırlığı makine öğrenimi için çok önemlidir. Elde edilen makine öğrenimi modelinin daha güvenilir ve doğru tahminler üretmesi için ham verilerde bulunan yanlışlıkları ve önyargıları ortadan kaldırmaya yardımcı olur.
Bu blog gönderisinde, makine öğrenimi için veri hazırlamanın önemini vurguluyor ve verileri toplama, temizleme ve dönüştürmeye yönelik yaklaşımımızı paylaşıyoruz. Bu nedenle, makine öğreniminde yeniyseniz ve girişiminizin başarılı olmasını sağlamak istiyorsanız okumaya devam edin.
Makine Öğrenimi için Veriler Nasıl Hazırlanır?
Makine öğrenimini başarıyla benimsemeye yönelik ilk adım, iş sorununuzu açıkça formüle etmektir. Oluşturmakta olduğunuz makine öğrenimi modelinin iş gereksinimlerinizle uyumlu olmasını sağlamakla kalmaz, aynı zamanda alakalı olmayabilecek verileri hazırlarken zamandan ve paradan tasarruf etmenizi de sağlar.
Ek olarak, net bir sorun bildirimi, makine öğrenimi modelini açıklanabilir hale getirir (bu, kullanıcıların nasıl karar verdiğini anladığı anlamına gelir). Makine öğreniminin insanların yaşamları üzerinde büyük bir etkiye sahip olduğu sağlık ve finans gibi sektörlerde özellikle önemlidir.
İş sorunu çözüldüğünden, veri işini başlatmanın zamanı geldi.
Genel olarak, makine öğrenimi için veri hazırlama süreci aşağıdaki aşamalara bölünebilir.
- Veri toplama
- Veri temizleme
- Veri dönüşümü
- Veri bölme
Her birine daha yakından bakalım.
Veri toplama
Makine öğrenimi için veri hazırlama, veri toplama ile başlar. Veri toplama aşamasında, gelecekteki makine öğrenimi modelini eğitmek ve ayarlamak için verileri toplarsınız. Bunu yaparken verilerin türünü, hacmini ve kalitesini aklınızda bulundurun: bu faktörler en iyi veri hazırlama stratejisini belirleyecektir.
Makine öğrenimi üç tür veri kullanır: yapılandırılmış, yapılandırılmamış ve yarı yapılandırılmış.
- Yapılandırılmış veriler, belirli bir şekilde, genellikle bir tablo veya elektronik tablo biçiminde düzenlenir. Yapılandırılmış veri örnekleri, veritabanlarından veya işlemsel sistemlerden toplanan bilgi aralığını kapsar.
- Yapılandırılmamış veriler, geleneksel veri modellerini takip etmeyen görüntüleri, videoları, ses kayıtlarını ve diğer bilgileri içerir.
- Yarı yapılandırılmış veriler, tablolu bir veri modeli biçimini izlemez. Yine de, yorumlamayı kolaylaştıran etiketler veya meta veriler gibi bazı yapısal öğeler içerdiğinden tamamen dağınık değildir. Örnekler, XML veya JSON biçimlerindeki verileri içerir.
Verilerin yapısı, onu Makine Öğrenimine hazırlamak için en uygun yaklaşımı belirler. Örneğin, yapılandırılmış veriler kolayca tablolar halinde düzenlenebilir ve veri tekilleştirme, eksik değerlerin doldurulması veya veri formatlarının standartlaştırılması yoluyla temizlenebilir. Buna karşılık, yapılandırılmamış verilerden ilgili özellikleri çıkarmak, doğal dil işleme veya bilgisayarla görme gibi daha karmaşık teknikler gerektirir.
Makine öğrenimi için veri hazırlamaya yönelik en uygun yaklaşım, eğitim verilerinin hacminden de etkilenir. Büyük bir veri kümesi, hesaplama sınırlamaları nedeniyle bir modeli eğitmek için bir veri alt kümesinin seçilmesini içeren örnekleme gerektirebilir. Daha küçük olanı ise, veri bilimcilerin mevcut veri noktalarına dayalı olarak daha fazla veri oluşturmak için ek adımlar atmasını gerektirebilir (aşağıda daha fazlası için).
Toplanan verilerin kalitesi de çok önemlidir. Hatalı veya önyargılı verilerin kullanılması, özellikle finans, sağlık ve ceza adaleti gibi alanlarda önemli sonuçlara yol açabilen makine öğrenimi çıktısını etkileyebilir. Verilerin hata ve önyargı için düzeltilmesine izin veren teknikler vardır. Ancak, doğası gereği çarpık olan bir veri kümesi üzerinde çalışmayabilirler. Neyin “iyi” veri yaptığını öğrendikten sonra, onu nasıl toplayacağınıza ve nerede bulacağınıza karar vermelisiniz. Bunun için birkaç strateji var.
- Dahili kaynaklardan veri toplama: Kurumsal veri ambarınızda saklanan bilgileriniz varsa, bunları makine öğrenimi algoritmalarını eğitmek için kullanabilirsiniz. Bu veriler, satış işlemlerini, müşteri etkileşimlerini, sosyal medya platformlarından verileri ve diğer kaynaklardan gelen verileri içerebilir.
- Dış kaynaklardan veri toplama: Devlet veri portalları, akademik veri havuzları gibi halka açık veri kaynaklarına ve Kaggle, UCI Machine Learning Repository veya Google Dataset Search gibi veri paylaşım topluluklarına dönebilirsiniz.
- Web kazıma: Bu teknik, otomatik araçlar kullanarak web sitelerinden veri çıkarmayı içerir. Bu yaklaşım, ürün incelemeleri, haber makaleleri ve sosyal medya gibi başka yollarla erişilemeyen kaynaklardan veri toplamak için yararlı olabilir.
- Anketler: Bu yaklaşım, belirli bir hedef kitleden belirli veri noktaları toplamak için kullanılabilir. Kullanıcı tercihleri veya davranışları hakkında bilgi toplamak için özellikle kullanışlıdır.
Ancak bazen bu stratejiler yeterli veri sağlamaz. Böyle bir durumda, veri noktalarının eksikliğini bu tekniklerle telafi edebilirsiniz.
- Veri artırma: Bu, döndürme, öteleme veya ölçekleme gibi çeşitli şekillerde dönüştürerek mevcut örneklerden daha fazla veri oluşturmanıza olanak tanır.
- Aktif öğrenme: Bu, bir insan uzman tarafından etiketleme için en bilgilendirici veri örneğini seçmenize olanak tanır.
- Transfer öğrenimi: Bu, ilgili bir görevi çözmek için uygulanan önceden eğitilmiş makine öğrenimi algoritmalarının yeni bir makine öğrenimi modelinin eğitimi için bir başlangıç noktası olarak kullanılmasını ve ardından yeni modelde yeni veriler üzerinde ince ayar yapılmasını içerir.
- İşbirlikçi veri paylaşımı: Bu, ortak bir amaç için veri toplamak ve paylaşmak için diğer araştırmacılar ve kuruluşlarla birlikte çalışmayı içerir.
Veri temizleme
Verileri makine öğrenimine hazırlamak için atılacak bir sonraki adım, verileri temizlemektir. Verilerin temizlenmesi, hataların, tutarsızlıkların ve eksik değerlerin bulunmasını ve düzeltilmesini içerir. Veri temizlemeye yönelik birkaç yaklaşım vardır.
Eksik Verileri İşleme
Eksik değerler, makine öğreniminde yaygın bir sorundur. Takdir etme (eksik değerleri tahmin edilen veya tahmin edilen verilerle doldurmayı düşünün), enterpolasyon (etraftaki veri noktalarından eksik değerleri türetme) veya silme (bir veri kümesinden eksik değerler içeren satırları veya sütunları kaldırma) yoluyla ele alınabilir.
Aykırı Değerleri Ele Alma
Aykırı değerler, veri kümesinin geri kalanından önemli ölçüde farklı olan veri noktalarıdır. Aykırı değerler, ölçüm hataları, veri girişi hataları nedeniyle veya yalnızca olağandışı veya aşırı gözlemleri temsil ettikleri için oluşabilir. Örneğin, çalışan maaşlarına ilişkin bir veri kümesinde, bir aykırı değer, diğerlerinden önemli ölçüde daha fazla veya daha az kazanan bir çalışan olabilir. Aykırı değerler kaldırılarak, etkilerini azaltmak için dönüştürülerek, kazanılarak (düşün: uç değerleri normal dağılım aralığındaki en yakın değerlerle değiştirerek) veya ayrı bir veri sınıfı olarak ele alarak ele alınabilir.
Yinelenenleri Kaldırma
Makine öğrenimi için veri hazırlama sürecindeki bir diğer adım, kopyaları kaldırmaktır. Kopyalar yalnızca makine öğrenimi tahminlerini çarpıtmakla kalmaz, aynı zamanda depolama alanını boşa harcar ve özellikle büyük veri kümelerinde işlem süresini artırır. Yinelenenleri kaldırmak için veri bilimcileri, çeşitli yinelenen tanımlama tekniklerine (örneğin, tam eşleştirme, bulanık eşleştirme, karma oluşturma veya kayıt bağlantısı) başvurur. Tanımlandıktan sonra, bırakılabilir veya birleştirilebilirler. Bununla birlikte, dengesiz veri kümelerinde, normal dağılıma ulaşmak için kopyalar aslında memnuniyetle karşılanabilir.
Alakasız Verilerin İşlenmesi
Alakasız veriler, bir sorunu çözmek için yararlı veya uygulanabilir olmayan verileri ifade eder. Alakasız verilerin işlenmesi gürültüyü azaltmaya ve tahmin doğruluğunu iyileştirmeye yardımcı olabilir. Alakasız verileri belirlemek için veri ekipleri, temel bileşen analizi, korelasyon analizi gibi tekniklere başvurabilir veya sadece kendi alan bilgilerine güvenebilir. Tanımlandıktan sonra, bu tür veri noktaları ilgili veri kümesinden kaldırılır.
Yanlış Verilerin İşlenmesi
Makine öğrenimi için veri hazırlığı, yanlış ve hatalı verilerin işlenmesini de içermelidir. Bu tür verilerle başa çıkmanın yaygın teknikleri, veri dönüştürmeyi (verileri ayarlanan ölçütleri karşılayacak şekilde değiştirme) veya yanlış veri noktalarını tamamen kaldırmayı içerir.
Dengesiz Verileri İşleme
Dengesiz bir veri kümesi, bir sınıftaki veri noktalarının sayısının başka bir sınıftaki veri noktalarının sayısından önemli ölçüde düşük olduğu bir veri kümesidir. Bu, azınlık sınıfını görmezden gelirken çoğunluk sınıfına öncelik veren önyargılı bir modelle sonuçlanabilir. Sorunla başa çıkmak için, veri ekipleri yeniden örnekleme (veri dağılımını dengelemek için azınlık sınıfını yüksek örnekleme veya çoğunluk sınıfını düşük örnekleme), sentetik veri oluşturma (azınlık sınıfı için sentetik olarak ek veri noktaları oluşturma), maliyet gibi tekniklere başvurabilir. -hassas öğrenme (eğitim sırasında azınlık sınıfına daha fazla ağırlık atama) ve toplu öğrenme (farklı algoritmalar kullanarak farklı veri altkümeleri üzerinde eğitilmiş birden fazla modeli birleştirme).
Bu etkinlikler, eğitim verilerinin doğru, eksiksiz ve tutarlı olmasını sağlamaya yardımcı olur. Büyük bir başarı olsa da, henüz güvenilir bir makine öğrenimi modeli üretmek için yeterli değil. Bu nedenle, makine öğrenimi için veri hazırlama yolculuğundaki bir sonraki adım, eğitim veri kümesindeki veri noktalarının belirli kurallara ve standartlara uygun olduğundan emin olmayı içerir. Ve veri yönetimi sürecindeki bu aşamaya veri dönüşümü denir.
Veri Dönüşümü
Veri dönüştürme aşamasında, ham verileri makine öğrenimi algoritmalarına uygun bir biçime dönüştürürsünüz. Bu da daha yüksek algoritmik performans ve doğruluk sağlar.
Makine öğrenimi için veri hazırlama konusundaki uzmanlarımız, aşağıdaki yaygın veri dönüştürme tekniklerini adlandırır.
ölçekleme
Bir veri kümesinde, farklı özellikler farklı ölçü birimleri kullanabilir. Örneğin, bir gayrimenkul veri seti, her mülkteki oda sayısı (bir ila on arasında) ve fiyat (50.000 ila 1.000.000 ABD Doları arasında değişen) hakkındaki bilgileri içerebilir. Ölçeklendirme olmadan, her iki özelliğin önemini dengelemek zordur. Algoritma, daha büyük değerlere (bu durumda fiyata) sahip özelliğe çok fazla önem verebilir ve görünüşte daha küçük değerlere sahip özelliğe yeterli olmayabilir. Ölçeklendirme, tüm veri noktalarını belirli bir aralığa, genellikle 0 ile 1 arasında olacak şekilde dönüştürerek bu sorunu çözmeye yardımcı olur. Artık farklı değişkenleri eşit şekilde karşılaştırabilirsiniz.
normalleşme
Makine öğrenimi için veri hazırlamada kullanılan bir diğer teknik de normalleştirmedir. Ölçeklemeye benzer. Ancak, ölçekleme bir veri kümesinin aralığını değiştirirken, normalleştirme dağılımını değiştirir.
kodlama
Kategorik verilerin sınırlı sayıda değeri vardır; örneğin renkler, araba modelleri veya hayvan türleri. Makine öğrenimi algoritmaları tipik olarak sayısal verilerle çalıştığından, girdi olarak kullanılmak üzere kategorik verilerin kodlanması gerekir. Bu nedenle kodlama, kategorik verileri sayısal bir formata dönüştürmek anlamına gelir. One-hot kodlama, sıralı kodlama ve etiket kodlama dahil olmak üzere seçilebilecek birkaç kodlama tekniği vardır.
Ayrıştırma
Ayrıklaştırma, zaman, sıcaklık veya ağırlık gibi sürekli değişkenlerin ayrık değişkenlere dönüştürülmesine izin veren makine öğrenimi için veri hazırlamaya yönelik bir yaklaşımdır. İnsanların boyları hakkında bilgi içeren bir veri seti düşünün. Her bir kişinin boyu, fit veya santimetre cinsinden sürekli bir değişken olarak ölçülebilir. Ancak bazı makine öğrenimi algoritmaları için bu verileri "kısa", "orta" ve "uzun" gibi kategorilere ayırmak gerekebilir. Ayrıklaştırmanın yaptığı tam olarak budur. Eğitim veri kümesini basitleştirmeye ve sorunun karmaşıklığını azaltmaya yardımcı olur. Ayrıklaştırmaya yönelik yaygın yaklaşımlar, kümeleme tabanlı ve karar ağacı tabanlı ayrıklaştırmayı kapsar.
Boyutsal küçülme
Boyut azaltma, bir veri kümesindeki özelliklerin veya değişkenlerin sayısını sınırlamak ve yalnızca bir sorunu çözmek için ilgili bilgileri korumak anlamına gelir. Örneğin, müşterilerin satın alma geçmişi hakkında bilgi içeren bir veri kümesini ele alalım. Satın alma tarihlerini, satın alınan ürünleri, ürünlerin fiyatlarını ve satın alımların yapıldığı yeri içerir. Bu veri kümesinin boyutsallığını azaltarak, örneğin satın alınan bir ürün ve fiyatı gibi en önemli özellikler dışındaki tüm özellikleri çıkarıyoruz. Boyut indirgeme, bazıları temel bileşen analizi, doğrusal diskriminant analizi ve t-dağılımlı stokastik komşu yerleştirme olmak üzere çeşitli tekniklerle yapılabilir.
Günlük Dönüşümü
Makine öğrenimi için veri hazırlamanın başka bir yolu olan log dönüşümü, bir veri kümesindeki bir değişkenin değerlerine logaritmik bir işlev uygulanmasını ifade eder. Genellikle eğitim verileri çok çarpık olduğunda veya geniş bir değer aralığına sahip olduğunda kullanılır. Logaritmik bir işlev uygulamak, verilerin dağılımını daha simetrik hale getirmeye yardımcı olabilir.
Veri dönüşümünden bahsetmişken, özellik mühendisliğinden de bahsetmeliyiz. Özellik mühendisliği bir veri dönüştürme biçimi olsa da, makine öğrenimi için veri hazırlama sürecinde bir teknik veya adımdan daha fazlasıdır. Bir veri kümesindeki özellikleri seçme, dönüştürme ve oluşturma anlamına gelir. Özellik mühendisliği, verilerdeki en alakalı bilgileri yakalayan özellikler oluşturmak için makine öğrenimi modellerinin kullanımı da dahil olmak üzere istatistiksel, matematiksel ve hesaplama tekniklerinin bir kombinasyonunu içerir.
Genellikle, bir sorunu çözmeye yönelik en iyi yaklaşımı bulmak için farklı tekniklerin ve özellik kombinasyonlarının test edilmesini ve değerlendirilmesini gerektiren yinelemeli bir süreçtir.
Veri Bölme
Makine öğrenimi için veri hazırlama sürecindeki bir sonraki adım, toplanan tüm verilerin alt kümelere bölünmesini içerir; bu süreç, veri bölme olarak bilinir. Tipik olarak, veriler bir eğitim, doğrulama ve test veri kümesine bölünür.
- Girdi ve hedef değişkenler arasındaki kalıpları ve ilişkileri tanımak için bir makine öğrenimi modelini fiilen öğretmek için bir eğitim veri kümesi kullanılır. Bu veri kümesi genellikle en büyüğüdür.
- Doğrulama veri kümesi, eğitim sırasında bir modelin performansını değerlendirmek için kullanılan bir veri alt kümesidir. Hiperparametreleri ayarlayarak modelde ince ayar yapılmasına yardımcı olur (düşün: öğrenme hızı, düzenlileştirme gücü veya gizli katman sayısı gibi eğitimden önce manuel olarak ayarlanan eğitim sürecinin parametreleri). Doğrulama veri kümesi, eğitim verilerine fazla uydurmanın önlenmesine de yardımcı olur.
- Test veri kümesi, eğitilmiş bir modelin performansını değerlendirmek için kullanılan bir veri alt kümesidir. Amacı, modelin doğruluğunu yeni, görünmeyen veriler üzerinde değerlendirmektir. Test veri kümesi yalnızca bir kez kullanılır — model eğitildikten ve eğitim ve doğrulama veri kümelerinde ince ayar yapıldıktan sonra.
Verileri bölerek, bir makine öğrenimi modelinin daha önce görmediği veriler üzerinde ne kadar iyi performans gösterdiğini değerlendirebiliriz. Bölme olmadığında, modelin yeni veriler üzerinde düşük performans gösterme olasılığı yüksektir. Bunun nedeni, modelin kalıpları öğrenmek ve bunları yeni verilere genellemek yerine veri noktalarını henüz ezberlemiş olması olabilir.
Veri bölmeye yönelik birkaç yaklaşım vardır ve en uygun olanın seçimi, çözülmekte olan soruna ve veri kümesinin özelliklerine bağlıdır. Makine öğrenimi için veri hazırlama uzmanlarımız, en etkili bölme stratejisini belirlemek için genellikle veri ekibinden biraz deneme yapılması gerektiğini söylüyor. Aşağıdakiler en yaygın stratejilerdir.
- Rastgele örnekleme: Bu strateji ile veriler rastgele bölünür. Bu yaklaşım genellikle modellenen popülasyonu temsil eden büyük veri kümelerine uygulanır. Alternatif olarak, bir veri kümesinde daha özel bir yaklaşım gerektirebilecek bilinen hiçbir ilişki olmadığında kullanılır.
- Tabakalı örnekleme: Bu stratejide, veriler sınıf etiketlerine veya diğer özelliklere dayalı olarak alt kümelere bölünür ve ardından bu alt kümelerden rastgele örnekleme yapılır. Bu strateji, bir sınıftaki değerlerin sayısı diğer sınıflardaki değerlerin sayısını önemli ölçüde aşan dengesiz veri kümelerine uygulanır. Bu durumda, katmanlı örnekleme, eğitim ve test veri kümelerinin her sınıftan benzer bir değer dağılımına sahip olduğundan emin olmaya yardımcı olur.
- Zamana dayalı örnekleme: Bu strateji, belirli bir zamana kadar toplanan verilerin bir eğitim veri seti oluşturduğu, ayar noktasından sonra toplanan verilerin ise bir test veri seti haline getirildiği durumlarda kullanılır. Bu yaklaşım, modelin gelecekteki veriler üzerinde doğru tahminler yapabilmesini sağladığından, örneğin finansal veya tıbbi veri kümelerinde uzun bir süre boyunca veri toplandığında kullanılır.
- Çapraz doğrulama: Bu stratejiyle, veriler birden çok alt kümeye veya katmana bölünür. Bazı katlar modeli eğitmek için kullanılırken, geri kalanlar performans değerlendirmesi için kullanılır. İşlem, her kat en az bir kez test verisi olarak hizmet verecek şekilde birçok kez tekrarlanır. Birkaç çapraz doğrulama tekniği vardır; örneğin, k-katlı çapraz doğrulama ve birini dışarıda bırakma çapraz doğrulama. Çapraz doğrulama genellikle bir modelin performansının tek bir test veri kümesindeki değerlendirmeden daha doğru bir tahminini sağlar.
Son Bir Notta
Verilerin makine öğrenimi için uygun şekilde hazırlanması, doğru ve güvenilir makine öğrenimi çözümleri geliştirmek için çok önemlidir. ITRex'te, veri hazırlamanın zorluklarını ve başarılı bir makine öğrenimi süreci için kaliteli bir veri kümesine sahip olmanın önemini anlıyoruz.
Verilerinizin potansiyelini makine öğrenimi aracılığıyla en üst düzeye çıkarmak istiyorsanız, ITRex ekibiyle iletişime geçin. Uzmanlarımız, verilerinizin toplanması, temizlenmesi ve dönüştürülmesi konusunda yardım sağlayacaktır.
Bu makale ilk olarak itrex web sitesinde yayınlanmıştır.