‫Son videonun sonunda tüm verilerin eksiksiz olduğundan emin olacağımızı söylediğimizi
‫biliyorum.
‫Ancak gözden geçirdikten sonra, önce her şeyin sayısal olduğundan emin olmanın biraz daha mantıklı olduğunu düşünüyorum.
‫Küçük bir başlık açalım.
‫Buna 1 diyeceğiz. 1.
‫Hepsinin sayısal olduğundan emin olun.
‫Harika.
‫Ve şimdi, başlamak için başka bir veri setine ihtiyacımız var.
‫Nedenmiş o?
‫Çünkü kalp hastalığı veri setimiz.
‫Buradaki zaten sayısal.
‫Evet.
‫Bununla birlikte, güvenilir otomobil satış verilerimiz olan başka bir veri setini içe aktaralım.
‫Şimdi, bunu hatırlarsanız, başlangıçta burada biraz ortaya çıkmıştı, ama bunun
‫sadece on satırı var.
‫Şimdi, yaptığım şey, bunun biraz genişletilmiş bir versiyonunu üretmek, aynı başlıklara sahip
‫olan renk, kilometre sayacı, kapılar ve fiyat.
‫Ama bu sefer bin satırımız var.
‫Bunları gözden geçirmeyeceğim çünkü bu çok uzun sürer.
‫Yine de bu konuda bana güvenmek zorundasınız.
‫Bunu kanıtlayabilirim.
‫Araba satışları.
‫Ödemeli olarak ithal edelim.
‫CSB'yi okuma.
‫Unutmayın, tüm CSV dosyalarımızı en iyi uygulama olan bir veri dosyasına taşıdım.
‫Çalışma dizininizi düzenli tutun.
‫Araba satışları genişletilmiş nokta csv.
‫Harika.
‫O zaman bir göz atacağız.
‫Araba satışı nokta başı.
‫Harika.
‫Sonra da kaç bin tane olduğunu bulacağız.
‫Çok güzel.
‫Sana söylemiştim.
‫Ve sonra veri türlerine bakacağız make bir nesnedir, color bir nesnedir a dominar doors ve price
‫hepsi tam sayıdır.
‫Ve şimdi bunlar nesnelerdir çünkü dizelerdir ve kategorilerdir, oysa bunlar sayısal değerlerdir.
‫Şimdi bu bölümde yapmamız gereken şey, tüm bunların sayısal olduğundan emin olmaktır; bir makine öğrenimi modelini
‫çalıştırmadan önce bunları sayılara dönüştürmemiz gerekir.
‫Ama bunu kanıtlamak için yine de deneyelim ve ne olacağını görelim.
‫Öncelikle yapacağımız şey, verileri X ve Y olarak ikiye ayırmaktır.
‫Bu yüzden bu dört sütunu kullanacağız, renk kilometre sayacı kapıları yapacağız, fiyat değil ama bunları bir arabanın fiyatını
‫tahmin etmeye çalışmak için kullanacağız.
‫Şimdi kendine bir şey al.
‫Bu gerçekten mantıklı mı?
‫Bunu gerçek hayatta yapabilir misin?
‫Makine öğrenimi modelimizin bu tür bir problemde başarılı olmasını bekler
‫miyiz, eğer size sadece marka yani Honda, renk beyaz bir Honda, kilometre sayacında 35.431 kilometre ve dört kapı verilseydi,
‫fiyatın 15.323 dolar olduğunu tahmin edebilir miydiniz?
‫Olabilir.
‫Belki de değil, ama muhtemelen biraz daha fazla bilgiye ihtiyacınız var.
‫Aynı şey muhtemelen makine öğrenimi modelimiz için de geçerlidir, ancak yine de bir tane yapmaya çalışalım.
‫Bu yüzden x, y'ye bölün, yani özellik matrisini istiyoruz, bu yüzden x eşittir araba satışlarındaki düşüş diyeceğiz.
‫Şimdi fiyat sütununu istemiyoruz.
‫Aslında ben ne yaptım.
‫Shift enter tuşuna basın.
‫Bu asil fiyat beni çok mutlu etmeye başladı.
‫Erişim eşittir bir ve biz de y eşittir araba satışı yapacağız.
‫Şimdi bu sadece fiyat sütunu olacak çünkü Y'yi tahmin etmek için X'i kullanmak istiyoruz.
‫Ve sonra da ayrılacağız.
‫Eğitim ve test seti eğitime ayrılmıştır.
‫Ve test et.
‫Yani x train x test y train y test eşittir bunu train test bölünmesinden önce görmüştük.
‫x'i geçeceğiz, y'yi geçeceğiz ve test boyutu eşittir'i geçeceğiz.
‫Test veri seti için satırların %20'sini kullanıyoruz.
‫Harika.
‫Peki, eğitim verileri üzerinde öğrenecek bir makine öğrenimi modeli oluşturmaya çalışalım.
‫Yani X eğitilir ve Y eğitilir ve ardından test verileri üzerinde tahmin yapılır.
‫Tamam.
‫Bir makine öğrenimi modeli oluşturun.
‫Şimdi, bu sefer, yine rastgele bir orman kullanacağız.
‫Ancak bu rastgele ormanın ne için kullanılabileceğini tahmin etmenizi istiyorum.
‫Yani siklon topluluğu ithalatından, rastgele orman regresyonuna geçiyoruz.
‫Hatırlarsanız, iş akışımızda bir sınıflandırma problemi öngörüyorduk.
‫Şimdi, bu rastgele orman regresyonu bir sınıflandırıcı rastgele orman ile aynıdır, ancak bu sefer bir sayıyı tahmin edebilir, ki bizim
‫yapmaya çalıştığımız da budur.
‫Bir arabanın fiyatını, arabanın bazı özelliklerini göz önünde bulundurarak tahmin etmeye çalışıyoruz.
‫Bu yüzden bir regresyon modelini içe aktaracağız ve bu sefer onu kuracağız.
‫Buna öz demek yerine, model, gerileme, güzel diyeceğiz ve sonra model uyumuna gideceğiz.
‫Onu eğitim verileri üzerinde eğitmek istiyoruz, böylece kalıpları, X değişkenleri ile fiyat,
‫etiket arasındaki ilişkileri öğrenecek ve ardından test verileri üzerinde değerlendirerek puanlayacağız.
‫Neden şimdi test ediyorsunuz?
‫Ne kadar güzel değil mi?
‫Bu, ölçeğin gücünü öğrenmektir, değil mi?
‫Eğitim verebilir, model bir eğitmen oluşturabilir ve çalıştırabiliriz.
‫Dört satırlık kodla değerlendirin.
‫Bunu gerçekten daha kısa sürede yapabilirdik, ancak dört satırlık kod, tam gelişmiş bir makine öğrenimi modeli oluşturmak
‫için oldukça iyi.
‫O zaman yapalım.
‫Oh, hayır.
‫Bir hata aldık.
‫Ne oldu?
‫Değer hatası.
‫Gerçi bunu bekliyorduk, değil mi?
‫Değer hatası dizeyi float'a dönüştüremedi Nissan.
‫Şimdi ne olduğunu görüyoruz, artık makine öğrenimi modeli dizelerle başa çıkamıyor.
‫Bildiğimiz gibi, bunları sayılara dönüştürmemiz gerekiyor.
‫Şimdi SRC learn ile bunu nasıl yapacağımızı görelim.
‫Şimdi SRC kredisi ile renkleri sayılara dönüştürerek kategorileri dönüştürmenin bu küçük parçasını
‫gözden geçireceğiz ve başlangıçta biraz almak gibi görünebilir, ancak bunu sürdüreceğiz, kodu
‫çalışırken göreceğiz ve sonra geri dönüp gerçekte ne yaptığını göreceğiz.
‫Yani SRC'den, learn dot preprocessing src learn, her biri bir dizi farklı şey yapan oldukça az sayıda modüle
‫sahiptir.
‫Bir sıcak kodlayıcı.
‫O da ne?
‫Bunu daha önce görmemiştik.
‫Kategorileri sayılara dönüştürmek için ne yapacağımıza dair buraya küçük bir yorum koyacağız.
‫Harika.
‫SRC'den nokta oluşturmayı öğrenin.
‫Sütun dönüşümünü içe aktarın.
‫Bunun ne işe yaradığını merak ediyorum.
‫Sütun transformatörünün ne işe yaradığını muhtemelen tahmin edebilirsiniz, ancak önce onu çalışırken göreceğiz.
‫Daha sonra kategorik özelliklerimizi tanımlayacağız.
‫Yani bizim durumumuzda, kategorik özelliklerimiz renk yapmaktır.
‫Ve zor olan kapılardır.
‫Şimdi neden diye düşünüyor olabilirsiniz.
‫Kapılar mı?
‫Yukarı çıkalım.
‫Şuna bir bak.
‫Kapılar beş, dört, dört, üç.
‫Hmm.
‫Neden böyle oldu?
‫Görelim bakalım.
‫Araba satışları.
‫Kapılar sayılara değer vermez.
‫Kapıların sayısal olduğunu varsaymak güvenlidir.
‫Doğru.
‫Çünkü elimizde değer olarak dört, beş ve üç var.
‫Ama aynı zamanda kategoriktir çünkü dört kapılı arabalar da bu kategoriye girebilir.
‫Beş kapılı otomobiller bu kategoriye girer.
‫Yani 79 tanesi ve üç kapılı arabalar bu kategoriye giriyor.
‫Yani bunlardan 65 tane var.
‫Dolayısıyla, bizim durumumuzda kapıları kategorik olarak ele alacağız.
‫Ve sürekli olarak komutları spamlıyorum.
‫Yani defter kaydediyor.
‫Sanki alışkanlık haline getirmişim gibi, tıpkı shift ve enter tuşlarına basarak kendini çalıştırmak gibi.
‫Yani üç kategorik özelliğimiz var, güzel.
‫Ve sonra one hot adında küçük bir değişken oluşturacağız.
‫İçe aktardığımız bir sıcak kodlayıcı sınıfından yararlanacağız.
‫Bu yüzden bunu orada örnekleyeceğiz ve transformer adında küçük bir değişken oluşturacağız
‫ve sonra bu sütun transformatörünü kullanacak.
‫Bu, ad içeren bir tuple listesini kabul edecektir.
‫Bu durumda, buna one hot adını vereceğiz ve ardından kullanmak istediğimiz asıl dönüştürücüyü, yani az önce
‫örneklediğimiz one hot değişkenini aktaracağız.
‫Güzel bir boşluk bıraktığından emin olmak için bunu biçimlendireceğiz ve dönüştürmek istediğimiz
‫özelliklerin listesini ona ileteceğiz.
‫Ve son olarak, buna ihtiyacımız yok.
‫Bunu tekrar gündeme getirelim.
‫Burada her yerde eşyalarım var.
‫Onu geri getir.
‫Harika.
‫Ve sonra burada, reminder equals pass through adı verilen sütun dönüştürücüsüne son bir değişken veya
‫parametre aktaracağız.
‫Çok güzel.
‫Ve sonra burada küçük bir değişkenimiz olacak.
‫Temelde X verimizin versiyonu olacak olan dönüştürülmüş X'i tutuyoruz.
‫Tüm bunların olmasını istemediğimiz X'in temelde neye dönüştüğüne bir göz atalım.
‫Bunun sayılara dönüştürülmüş versiyonu hariç.
‫Şuna bir bakalım.
‫Burada transformatörümüz var.
‫Ve gideceğimiz yer burası.
‫Dönüştür, sığdır, X üzerinde dönüştür ve sonra dönüştürülmüş X'e bir göz atacağız.
‫Geçersiz bir sözdizimimiz var.
‫Burada bir virgül var.
‫İsim hatası dönüşüm klasik olarak tanımlanmamıştır.
‫Transformatör.
‫İşte oldu.
‫Harika.
‫Yani bu bir dizi çıkarıyor.
‫Belki bunu bir veri çerçevesine koyarsak daha mantıklı olur.
‫Şimdi PD nokta veri çerçevesine gidelim ve x'i gerçekten dönüştürebilecek miyiz bakalım.
‫Harika.
‫Yani buna bakıp "Bu da ne böyle?" diyor olabilirsiniz.
‫Ama X'i geri getirirsek, ne göreceğiz.
‫Biraz yakınlaştırılmış nokta kafa çalışması.
‫Bu yüzden biraz aşağı yukarı zıplamaya devam etmemiz gerekecek.
‫Ancak olan şey şu ki, ikinci satıra renk ve kapıların kategoriler olduğunu söylediğimiz için, buradaki
‫kodun yaptığı şey onu özellikle bir sıcaklığa dönüştürdü ve kodladı.
‫Şimdi renk ve kapı sütunlarını tek bir sıcak ve kodlanmış değişkene dönüştürdük.
‫Ancak kilometre sayacı sütunu, yani burada rakamların aslında hala aynı olduğunu görebilirsiniz.
‫Yani 3543 bir.
‫Evet.
‫192714.
‫Evet.
‫Doğru, doğru.
‫Yani kilometre sayacı sütunu değiştirilmemiş.
‫Eğer buraya bakarsak.
‫Renk ve kapıların değiştirilmesinin nedeni, onları burada tanımlamamızdır.
‫Bir adet sıcak kodlayıcı oluşturduk.
‫Bunun ne olduğunu birazdan göreceğiz.
‫Daha sonra sütun dönüştürücüsünü kullanarak bir dönüştürücü oluşturduk.
‫Yani temelde bu, hey, sütun dönüştürücü, tek sıcak kodlayıcıyı al ve kategorik özelliklere
‫uygula demek oluyor.
‫Ve geçtiğini gördüğünüz sütunların geri kalanı için, bunlara hiçbir şey yapmayın.
‫Ve sonra yaptığımız şey X'i oluşturmak, dönüştürmek ve transformatörümüzü yerleştirmektir.
‫Yani X verilerimize dönüşüm uygulayın.
‫Şimdi bu biraz büyük bir ağız dolusu ve bir sıcak kodlamanın ne anlama geldiğini düşünüyor olabilirsiniz.
‫Bir bakalım.
‫Açılış konuşmamıza geçiyoruz.
‫Yani dört arabamız varsa, bu özetle bir sıcak kodlamadır.
‫Yani arabalar sıfır bir, iki, üç ve renkler kırmızı, yeşil, mavi ve kırmızı.
‫Eğer sıcak olmasını istiyorsak, bunu kodlayın.
‫Yani temel olarak kategorileri sayılara dönüştürün.
‫Şöyle bir şey olabilir.
‫Bir sıcak kodlamanın yaptığı budur.
‫Sıfır numaralı aracımız var ve sıfır numaralı aracın rengi kırmızı olduğu için buradaki küçük ok, veri çerçevemizi dönüştürmek
‫için kullandığımız kod olabilir.
‫Kategorilerimizi sayılara dönüştürmek için.
‫Yani bu sıcak bir kodlama.
‫Yani sıfır olduğu için, renk kırmızıdır, bir alır ve diğer iki kategori için sıfır alır ve aynı şey Yeşil için
‫de geçerlidir.
‫Ancak bu sefer yeşil olduğu için kırmızıya sıfır, yeşile bir ve maviye sıfır alıyor.
‫Mavi tamamen aynı.
‫Kırmızı için sıfır, yeşil için sıfır ve mavi için bir çünkü bu mavi bir araba.
‫Ve son olarak, üçüncü araba da kırmızı olduğu için, tıpkı sıfırıncı araba gibi bir tane var ve yeşil ve mavi
‫için sıfır ve sıfır var.
‫Şimdi, burada yaptığımız da bu, ancak sadece renk sütunuyla değil.
‫Bunu Make ve Doors sütunları ile yaptık.
‫İşte bu yüzden 012'den 11'e kadar sıfırlar ve birler içeren özelliklerimiz var.
‫Şimdi yaptığımız şey, her bir örneğin farklı parametrelerini, yani Honda, Beyaz ve bir dizi kapıyı
‫sıfırlara veya birlere kodlamaktır.
‫Şimdi güzel olan şey verilerimiz.
‫Hepsi sayısal.
‫Peki ne yapabiliriz?
‫Bir model uydurabilmeliyiz.
‫Ama eğer anlaşılmadıysa diye söylüyorum.
‫Bunu yapabilmemiz için bir yolumuz daha var.
‫Ve şimdi.
‫Böylece kukla eşitliğine gidebiliriz.
‫Pandas'ta Get Dummies adında bir fonksiyon var, bu bir tür sıcak kodlama gibi.
‫Ama emin değilim.
‫Aslında neden aptal denildiğinden emin değilim.
‫Sadece işlevin aptalları almak olduğunu biliyorum.
‫Yani aptallara gidersek, PD aptalları almaz ve araba satışlarını dönüştürmek isteriz.
‫Dönüştürmek veya kukla haline getirmek istediğimiz sütunların bir listesini iletiriz.
‫İşte, kapılar.
‫Şimdi mankenlere bir göz atalım.
‫İşte başlıyoruz.
‫Sanırım kapılar yüzünden.
‫Dawes sayısal.
‫Burada işe yaramadı.
‫Ama neler olduğunu görebildiğimiz şey bu.
‫Yani elimizde sıfır var.
‫Mike.
‫BMW sıfır.
‫Yani bir Honda.
‫Nissan için sıfır, Toyota için sıfır ve siyah, mavi, yeşil, kırmızı ve beyaz için sıfırlar var.
‫Eğer bunu yaparsak, tek yaptığı şey marka ve rengi sıfır ve bire dönüştürmek olacaktır.
‫Çok güzel.
‫Şimdi verilerimizin hepsi sıfır ve birler halinde olduğuna göre, modeli yeniden kurmayı deneyelim.
‫Bu yüzden gitmek istiyoruz.
‫Hayır, sadece sonuçlarımızın tekrarlanabilir olması için 42'ye ulaştığımızda rastgele tohumlama yapmıyoruz.
‫Burada dönüştürülmüş X kullanacağız.
‫Yani X yerine buradaki.
‫O zaman şu x trenini yapalım.
‫Yeni bir eğitim ve test verisi eşittir eğitim test ayrımı oluşturacağız.
‫Bunu X'e dönüşmüş olarak geçireceğiz ve Y aynı kalabilir çünkü Y zaten sayısaldır.
‫Sonra da testlerimiz olacak.
‫Boyut 0'a eşittir. 2.
‫Mükemmel.
‫Ve sonra model uyumuna, x eğitimine gidebiliriz.
‫Y treni.
‫Çok güzel.
‫İşe yaradı.
‫Ve şimdi bunu değerlendirelim.
‫Model puanı.
‫X testi.
‫Y testi.
‫Harika.
‫Şimdi işe yaradı, değil mi?
‫Dönüştürülmüş X kullandığımız için ve verilerimizi kategorik olmaktan çıkarıp sayısal hale dönüştürmek
‫için burada küçük bir kod parçası kullandık.
‫Ve daha önce modelimiz Nissan için floatları floatlara veya stringleri floatlara dönüştüremiyordu.
‫Yani ilk X değişkenimizi burada kullandığımızda.
‫Verilerimiz hala kategorik formdaydı, bu nedenle bir örneği temsil etmek için hala dizeler kullanıyorduk.
‫Ne oldu?
‫Hata veriyor.
‫Bir değer hatası aldım.
‫Ancak şimdi burada aynı model fit x train, y, train ve score kodunu çalıştırdığımızda, verilerimizin tümü sayısal
‫olduğu için herhangi bir y hatası almayız.
‫Şimdi, buradaki puana gelince, alabileceğiniz en iyi puanın 1 olduğunu düşünürsek. 0.
‫Model muhtemelen bunu yapabileceği kadar iyi yapmamıştır.
‫Ancak buradaki verilere bakacak olursanız bundan bahsettiğimizi hatırlayın.
‫Uyarıcı.
‫Ve siz bunu arabanın fiyatını tahmin etmek için kullanmaya çalışıyordunuz.
‫Muhtemelen oldukça zor olacak.
‫Belki de model bazı örüntüler bulmuştur, ancak bunlar o kadar da iyi değildir çünkü her bir
‫örnek hakkında çok fazla bilgi yoktur.
‫Ama mesele bu değil.
‫Değerlendirme ölçütlerine daha sonra bakabiliriz.
‫Burada önemli olan nokta, modelimizi, yani veri hikayemizi sayısal olmayan bir yapıdan tamamen sayısal bir yapıya
‫dönüştürmüş olmamız ve bu sayede bir makine öğrenimi modeli kurabilmemizdir.
‫Şimdi bunu hallettik.
‫Tüm verilerimizi sayılara dönüştürdük.
‫Kayıp değerler varsa ne olur?
‫Bir sonraki videoda kontrol edelim.