‫Artık doğrulama veri setinde oldukça iyi performans gösteren ideal bir modelimiz var.
‫Dolayısıyla, geçerli kol mesafesi dikkat ettiğimiz metriktir çünkü bu özel Kaggle yarışması için değerlendirme
‫metriği budur.
‫Elbette, farklı bir sorun veya farklı bir veri seti üzerinde çalışıyorsanız, geliştirmeye çalıştığınız
‫farklı bir değerlendirme metriğiniz olabilir.
‫Ama bizim durumumuzda oldukça iyi gidiyoruz.
‫Öyleyse ideal modelimizi test verileri üzerinde tahminler yapmak için kullanalım.
‫Bu bölümde hatırlanması gerçekten önemli olan küçük bir bilgi var ve birazdan bununla karşılaşacağız.
‫Bu yüzden öncelikle test verilerini içe aktarmamız gerekecek.
‫Şimdi, eğer bir bakarsak.
‫Veri klasörümüzde.
‫Yani bu sadece Jüpiter ana sayfasında çünkü bu proje için bir proje klasörü oluşturduk ve verilerimizi
‫indirip buraya koyduk.
‫Burada test CSV'si olan bir veri seti var.
‫Yani kullanacağımız şey bu.
‫Ve Kaggle'a geri dönersek, bize test CSV'nin yarışmanın son haftasına kadar yayınlanmayacak olan test seti
‫olduğunu söyler.
‫Şu anda elimizde olan, bu yarışma çoktan geçtiği için, 1 Mayıs 2012'den
‫Kasım 2012'ye kadar olan verileri içeriyor.
‫Tamam, yani doğrulama setimizden yaklaşık altı ay sonra.
‫Çok güzel.
‫Ve modellerimiz doğrulama setinde iyi performans gösteriyor.
‫Bu nedenle, gelecek altı aylık veriler üzerinde nasıl tahminlerde bulunabileceğimizi görebilirsiniz.
‫Bu yüzden rdv test equals PDF veya read see as v diyeceğiz.
‫Eğitim ve geçerli veri setimizle başlangıçta yaptığımızın aynısını yapacağız.
‫Buldozerler için Mavi Kitap.
‫Harika.
‫Buna test csv deniyor ve düşük bellek eşittir false olarak geçeceğiz.
‫Ayrıca tarihleri de geçeceğiz çünkü bu veri setinde diğerlerinde yaptığımız gibi herhangi bir manipülasyon
‫yapmadığımızı unutmayın.
‫Bunun nereye varacağını birazdan göreceğiz ve ardından DF test nokta kafasını kontrol edeceğiz.
‫Oh.
‫Ne oluyor?
‫Oh, yazım hataları.
‫Çok güzel.
‫Yani bu tanıdık geliyor.
‫Bu daha önce de gördüğümüz bir şey.
‫Şimdi hariç.
‫Bu kez, test veri setinde satış fiyatı sütunu eksiktir.
‫Bunun nedeni de tahmin etmeye çalıştığımız sütunun bu olması.
‫Neden bunu yapıp yapamayacağımıza bakmıyoruz?
‫Bu yüzden test spreadleri ideal modele eşittir.
‫Bu sefer ideal modelimizi kullanıyoruz, model ideal modelin en iyi performansı gösterdiğini tahmin ediyor ve tüm
‫veri çerçevesini ona geçirebilmeliyiz, değil mi?
‫Çünkü bu bizim X değerlerimiz olacak ve satış fiyatı sütunu olmadığı için herhangi bir sütunu düşürmemize
‫gerek yok.
‫Bakalım neler olacak.
‫Aslında buraya küçük bir yorum koymuşlar, test veri seti üzerinde tahminler yapıyorlar ve bu hücreyi çalıştırmadan
‫önce küçük bir meydan okuma düşündüm, neler olabileceğini düşünmenizi istiyorum.
‫Yani makine öğrenimi modelimiz, belirli bir veri seti üzerinde eğitildi ve şimdi test veri setini
‫içe aktardık.
‫Modelimizin eğitildiği verilere dayanarak size bir ipucu vereceğim bu veri seti üzerinde
‫tahminler yapmaya çalışırsak ne olur?
‫Emin değilseniz, sorun değil.
‫Birazdan göreceğiz.
‫Hemen şimdi görmeliyiz.
‫Oh, işte başlıyoruz.
‫Değer hatası.
‫Tamam.
‫Ne oluyor burada?
‫String float'a dönüştürülemedi.
‫Oh, tamam.
‫Eğer en üst kısmı hatırlıyorsanız, üzerinde çalıştığımız defter canavarımıza
‫geri dönelim.
‫Bir makine öğrenimi modelini eğitmeden önce ne yapıyorduk?
‫Benzer bir hatayı modellemeye ilk başladığımızda da görmüştük.
‫Bulabilirsem harika olur.
‫Bizim modelimiz.
‫İşe yaramadı.
‫İşte başlıyoruz.
‫Tamam.
‫Bir model oluşturun.
‫Yani DF şablonu düşüyor.
‫Dizeyi uçuşa dönüştüremedi.
‫Yani aynı hata mesajı aşağıdaki gibidir.
‫Şimdi bunun olmasının nedeni sizce nedir?
‫Bunun nedeni, orijinal veri setimizi içe aktardığımızda üzerinde bazı değişiklikler yapmış olmamızdır.
‫Biz ne yaptık?
‫Verilerimizin sayısal olduğundan ve eksik değer bulunmadığından emin olduk.
‫Şimdi yaptığımız şey DF testini içe aktarmak.
‫Bazı eksik değerler olabilir, ki var.
‫Ve hepsi sayısal olmayabilir.
‫Ve.
‫Uzaklara.
‫Burada oldukça fazla veri işleme yaptık.
‫Ve eğer sütunları alırsak.
‫Yani tüm özellikler bunlar.
‫Ama eski tren sütunlarına bakarsak.
‫Orada paranteze gerek yok.
‫Sütun uzunluklarının farklı olduğunu fark ettik.
‫Hmm.
‫Yani x trenimizde 102 sütun var.
‫DF testinde ise elimizde ne var?
‫Daha önce burada nokta başı yaptığımızda görmüştük.
‫52 sütun.
‫Hmm.
‫Dolayısıyla, makine öğrenimi modelimizin şu anda test veri seti üzerinde tahminde bulunamamasının
‫nedeni, modelin eğitildiği veya modelin eğitildiği veri setiyle aynı formatta olmamasıdır.
‫Yapmamız gereken de bu.
‫Tamam.
‫Şunlardan kurtulalım.
‫Ne olmuş yani?
‫Bunu nasıl yapabiliriz?
‫Bu yüzden verileri ön işleme tabi tutabiliriz.
‫Başka bir deyişle, test veri setini eğitim veri setimizle aynı formatta almak.
‫Harika.
‫Peki bunu nasıl yapabiliriz?
‫Sanırım yapabileceğimiz şey, bunu yapmak için bir işlev oluşturmak.
‫Dolayısıyla, yeni bir veri setini, örneğin bir test veri setini içe aktaracak olursak, aslında eğitim veri setimizde bazı değişiklikler
‫yapmış oluruz.
‫Eğitim veri setinde yaptığımız bu işlevleri alıp aynı şeyi test veri setinde
‫de yapabiliriz.
‫Yani bu şekilde ikisi de aynı.
‫Bu mantıklı.
‫Önce onu görelim.
‫Bakalım bunu yapabilecek miyiz?
‫Bu yüzden verileri önceden işleyin veya bir veri çerçevesi iletin.
‫Buraya küçük bir not bırakacağız.
‫Yani DF üzerinde dönüşümler gerçekleştirir ve dönüştürülmüş DF'yi basit bir şekilde döndürür, değil mi?
‫Bir tür veri çerçevesi alan bir fonksiyon oluşturmak istiyoruz.
‫Bu veri çerçevesi üzerinde bir dizi işlem yapar ve sonunda bu veri çerçevesini
‫döndürür.
‫Şimdi burada temp yapmak için başlangıçta yaptığımız tüm dönüşümleri doldurmamız gerekecek.
‫Bunu da yukarı çıkarak yapabiliriz.
‫Burada birkaç kopya ve hız yapmamız gerekebilir.
‫Başa dönmeyi unutmayın.
‫Yani bu küçük bir kural, küçük bir haber.
‫Eğitim veri setine ne yaparsanız, test veri setine de onu yapmanız gerekecektir.
‫Bu da makine öğrenimi ile ilgili bir haber.
‫Tamam.
‫İşte yaptığımız ilk büyük manipülasyon seti.
‫Bunu kopyalayabilir.
‫Harika.
‫Ve sadece bu satırı hatırlayabiliriz.
‫Bu nedenle, tarih saat sütunu satış tarihine dayalı olarak buraya bazı bilgiler ekledik ve ardından bunu kaldırdık.
‫Yani bunlar yapmamız gereken ilk iki adım.
‫Tamam.
‫Defterimizin sonuna doğru ilerleyeceğiz.
‫Bu videoda çok fazla kaydırma olacak çünkü üç önemli şeyi doğru yaptık.
‫Burada tarih saatine bazı bilgiler ekledik veya çıkardık.
‫Bu muhtemelen daha iyi bir fikir.
‫Tarih saat sütunumuzdan bilgileri çıkardık ve veri çerçevesine ekledik.
‫Bu yüzden def dot drop'a gidebiliriz ve bunu yaptıktan sonra satış tarihi sütununu düşüreceğiz.
‫Ve eksen eşittir bir ve yerinde eşittir doğru yapacağız.
‫Harika.
‫Ve tüm bunlardan temp'i kaldırmamız gerekiyor çünkü sadece DF kullanıyoruz.
‫Burada küçük bir numara, imlecinizi hareket ettirip mac kullanıyorsanız command tuşunu basılı tutmaktır ya da windows kullanıyorsanız
‫control tuşunu basılı tutup burada backspace'e gidebiliriz.
‫Harika, doğru.
‫Çünkü biz DF temp ile çalışmıyoruz, DF ile çalışıyoruz.
‫Bu nedenle, rastgele adlandırılmış herhangi bir DataFrame fonksiyonumuzla çalışacaktır.
‫Yaptığımız bir sonraki şey, sayısal satırları medyan ile doldurmamız gerektiğiydi.
‫Ve biz de.
‫Doldurulmuş kategorik.
‫Eksik veriler sayılara dönüştürüldü.
‫Ve kategorileri sayılara dönüştürün.
‫Bu yüzden yukarı çıkıp bulmamız gereken şey bu.
‫Önce bunu yapalım.
‫Eksik olan yeni mucizeleri alacağız.
‫Neyse ki, not defterimizi hazırladık.
‫Ne yaptığımızı görebilmemiz için bu başlıkları buraya ekledik.
‫Bunların hepsi kendinize yardım etmenin bir parçası, değil mi?
‫Bu yüzden sayısal satırları medyan ile doldurun.
‫Aslında bu kodların hepsine burada ihtiyacımız var.
‫Bunu kopyalayacağız.
‫Çok güzel.
‫İşte bu noktada, not defterinizdeki yorumlar ve farklı başlıklar gelecekteki benliğinize gerçekten yardımcı olabilir;
‫gözleri işlevsel hale getirmek ve bazı şeyleri temizlemek istediğinizde.
‫İşte yine başlıyoruz.
‫DF sıcaklığı elde etmek için DF sıcaklığını kaldırmalıyız.
‫DF sıcaklığını istemiyoruz, sadece DF istiyoruz.
‫Tamam.
‫Çok güzel.
‫Ve hala kategorik eksik verileri doldurmamız ve kategorileri sayılara dönüştürmemiz gerekiyor.
‫Şimdi, yukarı kaydırmak yerine bunu nasıl yapacağımızı hatırlayıp hatırlayamayacağımızı görelim, çünkü dürüst olmak
‫gerekirse yeterince kaydırma yaptık.
‫Yani bunu yapabiliriz.
‫Değilse, hatırlarsak, sayısal bir tür değilse, bu şekilde yaptık.
‫Typekit sayısal tip içeriktir çünkü döngü yapıyoruz.
‫Burada da aynı döngünün içindeyiz.
‫Gitmek istediğimiz içerik.
‫Def etiketi artı alt çizgi eksik evet eşittir.
‫Yani null olup olmadığını kontrol edecek, eğer null ise.
‫Bir etiketin eksik olduğunu, belirli bir veri noktasının eksik olduğunu belirten bir etiket eklemek istiyoruz.
‫Ve kategori koduna nasıl artı bir eklediğimizi hatırlayın çünkü pandalar eksik kategorileri eksi bir olarak kodlar.
‫İşte gidebileceğimiz yer burası.
‫Def etiketi PD kategorisine eşittir, bu yüzden onu kategoriye dönüştürün.
‫Bu nedenle, belirli bir sütunun içeriğini bir kategoriye dönüştürün ve ardından koduna erişin, yani onu bir sayıya
‫ve ardından artı bire dönüştürün.
‫Tamam.
‫Fena bir işlev değil.
‫Yani bir not defteri iş akışında olan şey bu, değil mi?
‫Burası mı?
‫Muhtemelen bunların çoğunu oldukça dağınık olarak sınıflandırabilirsiniz.
‫Yorumlarda farklı başlıklar ve başka şeylerle kendimize yardımcı olduk.
‫Ancak sürecin içine girdikçe bu yardımcı fonksiyonları oluşturmaya başlayacaksınız.
‫Böylece bir dizi farklı adımı bir işlevde bir araya getiriyorsunuz, böylece not defterindeki şeyleri gerçekten senkronize
‫ediyorsunuz.
‫Bunun gibi bir fonksiyonu çağırabilirsiniz, tıpkı skorları göster fonksiyonumuz gibi ve not defterinde yukarı kaydırmak
‫ve farklı bir hücrede bir şey bulmak zorunda kalmak yerine her seferinde aynı olacak bir
‫işlem yapar.
‫Şimdi bunun üzerine shift enter tuşuna basabiliriz ya da beklenen eksik blok ne oldu?
‫İhtiyacımız olduğunu düşünmemiştim.
‫Oh.
‫Bu yüzden buna ihtiyacımız var.
‫Burada dansa ihtiyacımız var.
‫İşte oldu.
‫Klasik.
‫Kodu kopyalayıp yapıştırdığımızda böyle olur.
‫Değil mi?
‫Biçimlendirme her zaman mükemmel değildir.
‫Çok güzel.
‫Burada bir tür veri çerçevesini önceden işleyecek bir fonksiyonumuz var.
‫Satış tarihi sütununa dayalı olarak bazı bilgiler ekleyecektir.
‫Sayısal satırları medyan ile dolduracaktır.
‫Eksik kategorik verileri sıfır değerine ve verilerin geri kalanını da kategori kodu numarasına
‫dönüştürecektir.
‫Çok güzel.
‫Yani birkaç adımdan geçiyor.
‫Ama sorun değil, her şey birlikte gerçekleşeceği için işlevseliz.
‫Peki şimdi burada ne yapabiliriz?
‫Aslında iyi bir soru, bu işlevin nerede kırılabileceğidir.
‫Çok uzun sürmemesi için sizi bu videoda bırakabilirim.
‫Yarattığımız bu büyük fonksiyona bir göz atmanızı ve üzerinde düşünmenizi istiyorum.
‫Eğer eğitim veri çerçevemizi geçirirsek, nasıl çalışabilir?
‫Ve sonra onu geçersek, test veri çerçevemiz, sağ DF testi, burada olan, bu veri çerçevesini
‫geçtik.
‫Nasıl kırılabilir?
‫Bunu bir sonraki videoda cevaplayacağız.