Algoritmik ticarette Python - sayfa 21

 

Python'da Dolar Maliyeti Ortalama Stratejinizi Kolayca Geri Test Edin



Python'da Dolar Maliyeti Ortalama Stratejinizi Kolayca Geri Test Edin

Önümüzdeki 20 dakika içinde, Python'da bir dolar maliyet ortalama stratejisi uygulayacağız. Bu strateji, belirli bir varlık veya endeks için belirli bir süre boyunca dolar maliyet ortalamasının performansını değerlendirmenize olanak tanır. Bu stratejiyi uygulamak için backtesting.py adlı bir araç kullanacağız. Backtesting.py, Python'da Vectorbt veya Backtrader gibi diğer kitaplıklardan daha az göz korkutucu olan kullanıcı dostu bir çerçevedir. Python'da yeniyseniz, bu sizin için harika bir seçenek olacaktır.

Uygulayacağımız dolar maliyet ortalama stratejisi nispeten basittir, ancak size onu nasıl genişleteceğinizi de göstereceğim. Stratejimiz, her Pazartesi veya Salı belirli bir varlığın sabit bir dolar tutarında satın alınmasını ve veri bitene kadar bu işlemin tekrarlanmasını içerir. Başlamak için bir terminal açın ve uygulamamız için temiz bir ortam sağlamak üzere yeni bir sanal ortam kurun. Sanal ortamı kurduktan sonra, pip kullanarak geriye dönük test paketini kurun:

pip kurulumu geriye dönük test

Paketi kurduktan sonra Python dosyamıza geçebiliriz. Bazı gerekli modülleri ve verileri içe aktarmamız gerekecek. Geriye dönük testten, geriye dönük test ve strateji modüllerini içe aktarın. Ek olarak, backtesting.test'ten bazı sahte verileri, özellikle de google verilerini içe aktarın. Veri işleme için pandas modülüne de ihtiyacımız olacak.

Şimdi strateji sınıfımızı tanımlayalım. Strateji sınıfından miras alan DCA (Dolar Maliyet Ortalaması) adlı bir sınıf oluşturun. Bu sınıfın içinde, yatırmak istediğimiz sabit dolar tutarını temsil eden, miktar_to_invest adında bir sınıf değişkeni belirleyeceğiz. Başlangıçta, 10 olarak ayarlayın.

Ardından, bu sınıf içinde iki işlev tanımlamamız gerekiyor: __init__ ve next. __init__ işlevi başlatma sırasında çağrılır ve daha sonra ihtiyaç duyabileceğimiz değerleri önceden hesaplamak için kullanılır. Bizim durumumuzda, bize haftanın gününü veren bir gösterge oluşturacağız. Bunu yapmak için backtesting.py tarafından sağlanan self.indicator yöntemini kullanacağız. Göstergemizi self.day_of_week = self.indicator(lambda x: x, self.data.close.s.dt.dayofweek) şeklinde tanımlayabiliriz. Bu gösterge, verilerimiz için haftanın günü değerlerinin bir dizisini (0-6, Pazartesi 0 ve Pazar 6'dır) döndürür.

Şimdi ticaret mantığımızı uyguladığımız bir sonraki fonksiyona geçelim. Bu fonksiyon her veri çubuğu için çağrılır ve mevcut verilere göre karar vermemizi sağlar. Bizim durumumuzda if self.day_of_week == 1: kullanarak haftanın gününün 1'e (Salı) eşit olup olmadığını kontrol edeceğiz. Salı ise, bir satın alma sinyali tetikleyeceğiz. Satın alma emrini gerçekleştirmek için backtesting.py tarafından sağlanan self.buy işlevini kullanacağız. Yatırım_yatırılacak tutarı varlığın mevcut kapanış fiyatına bölerek satın alma emrinin büyüklüğünü hesaplayabiliriz. Tam sayıda hisse satın aldığımızdan emin olmak için, sonucu yuvarlamak için math.floor'u kullanabiliriz.

Kesirli payları ele almak için, varlığı 10 ** -6 gibi küçük bir sayıyla çarparak payları bölebiliriz. Bu, hisseleri daha sonra aynı küçük sayıya bölünerek satın alınan gerçek hisse miktarına dönüştürülebilen mikro hisselere bölecektir.

Son olarak, backtest'i çalıştırmamız ve istatistikleri çıkarmamız gerekiyor. Bunu yapmak için bt.run() işlevini kullanabilir ve sonucu istatistik adı verilen bir değişkene atayabiliriz. Sonuçları bt.plot() kullanarak da çizebiliriz.

Henüz satış mantığını uygulamadığımız için arsa, herhangi bir satış noktası olmayan sürekli bir çizgi olarak görünür. Bunu yakında düzelteceğiz. Ancak bunu yapmadan önce, geriye dönük test sonuçlarından bazı istatistikler çıkaralım.

Bunu yapmak için daha önce tanımladığımız istatistik değişkenini kullanacağız. Toplam getiri, yıllık getiri, maksimum düşüş ve daha fazlası gibi çeşitli istatistikleri yazdırabiliriz.

Ek performans metriklerini keşfetmekle ilgileniyorsanız, daha fazla istatistik eklemekten çekinmeyin.

Şimdi satış mantığını uygulamaya geçelim. Bir dolar maliyeti ortalama stratejisi kullandığımız için, her hafta aynı sabit dolar miktarını satacağız. Bizim durumumuzda Cuma günleri satış yapacağız.

Burada daha önce oluşturduğumuz day_of_week göstergesini kullanarak haftanın gününün 4 (Cuma) olup olmadığını kontrol ediyoruz. Günlerden Cuma ise, daha önce aldığımız aynı dolar tutarını, yatırılacak_tutar'ı mevcut kapanış fiyatına bölerek satarız. Bu, yatırım tutarımıza uygun sayıda hisse satmamızı sağlar.

Şimdi, geriye dönük testi çalıştırdığımızda, arsa üzerinde, pozisyonumuzu sattığımız Cuma günlerini gösteren satış noktaları görmeliyiz.

Al/sat günlerini ayarlamak veya fiyat hareketlerine göre ek koşullar uygulamak gibi bu stratejinin farklı varyasyonlarını denemekten çekinmeyin. Bu çerçeve, stratejinizi gereksinimlerinize göre kolayca genişletmenize ve özelleştirmenize olanak tanır.

Stratejinin nasıl performans gösterdiğini görmek için miktar_to_yatırım değişkenini ayarlamayı ve farklı varlık verilerini keşfetmeyi unutmayın.

Umarım bu, Python'daki backtesting.py kitaplığını kullanarak dolar maliyeti ortalama stratejisini uygulamanıza ve keşfetmenize yardımcı olur. Başka sorunuz varsa bana bildirin!

Backtest Your Dollar Cost Average Strategy easily in Python
Backtest Your Dollar Cost Average Strategy easily in Python
  • 2022.06.29
  • www.youtube.com
We backtest a simple dollar cost averaging strategy in backtesting.py. Backtesting.py is a super easy to use framework for beginners to python or to backtest...
 

Backtesting.py'deki Özel Göstergeler - Python Derin İncelemesi



Backtesting.py'deki Özel Göstergeler - Python Derin İncelemesi

Bu videoda, backtesting.py kitaplığında özel göstergeler oluşturma sürecini keşfedeceğiz. Bu özellik, göstergeler oluşturarak ve Python işlevlerini backtesting.py ekosistemiyle uyumlu bir biçime çevirerek herhangi bir ticaret stratejisini kolayca geriye dönük test etmemizi sağlayacaktır.

Gösterge oluşturmanın ayrıntılarına girmeden önce, backtesting.py'nin çoğu yönünü kapsayan YouTube'da ücretsiz olarak sunulan bir kursa göz atmanız önerilir. Bu kurs, kitaplığın üst düzeyde anlaşılmasını sağlayacak ve bu videoda gösterge oluşturmayı keşfederken faydalı olacaktır.

Bu videoda, çeşitli gösterge fikirlerini ele almak için üç farklı örneğe odaklanacağız. İlk örnek, harici bir Python programında oluşturulan sinyalleri kullanmayı ve bunları backtesting.py'ye entegre etmeyi içerir. Bu yaklaşım, halihazırda harici bir kaynaktan alım satım sinyalleriniz olduğunda ve bunları geriye dönük test sürecinize dahil etmek istediğinizde kullanışlıdır.

İkinci örnek, her gösterge için birden çok değer döndürmek üzere pandas-ta kitaplığının kullanımını gösterecektir. Spesifik olarak, Bollinger Bantları göstergesiyle çalışacağız ve basit bir numpy dizisi yerine hem alt hem de üst bantları içeren bir veri çerçevesinin nasıl döndürüleceğini göstereceğiz. Bu örnek, birden çok değere sahip göstergeler oluşturmanın çok yönlülüğünü vurgulayacaktır.

Son olarak, saf Python kullanılarak özel göstergelerin nasıl oluşturulabileceğini göstermek için bir momentum stratejisi kodlayacağız. Bu örnek, gösterge tasarımında sınırsız olanaklara izin vererek, Python programlama kullanarak göstergeler oluşturmanın esnekliğini gösterecektir.

Örnekleri takip etmek için geriye dönük testler, pandalar ve pandalar-ta dahil olmak üzere gerekli kitaplıkların kurulu olduğundan emin olun. Bu kitaplıkları yükledikten sonra, kod örnekleri için bir Python dosyası oluşturun.

Kodun ilk kısmı, backtesting.py kullanılırken gerekli ortak metni ayarlar. Gerekli sınıfları, "geriye dönük test" ve "stratejiyi" içe aktarır ve Google hisse senedi için örnek verileri backtesting.py'den içe aktarır. İçe aktarılan veriler, tarih-saat indeksi ile açık, yüksek, düşük, kapanış ve hacim dahil olmak üzere günlük fiyat verilerini içeren bir pandas veri çerçevesidir.

İlk örnek için, harici bir programda zaten bazı sinyaller oluşturduğunuzu ve bunları backtesting.py'ye aktarmak istediğinizi varsayıyoruz. Bunu göstermek için numpy kullanarak rastgele sinyaller oluşturuyoruz ve bunları Google veri çerçevesine ekliyoruz. Bu sinyaller, Python'da programladığınız herhangi bir göstergeyi temsil edebilir; burada -1, satış sinyalini, 0 işlem yapılmadığını ve 1, satın alma sinyalini temsil eder.

Ardından, daha önce içe aktarılan "Strategy" sınıfından miras alan "SignalStrategy" adlı bir strateji sınıfı tanımlarız. Bu sınıf, sinyallere dayalı olarak alım satım mantığını uygulamaktan sorumlu olacaktır. Sınıf, başlatma işlevini " init " ve "sonraki" işlevini içerir.

" init " işlevinde, bu özel örnekte yapacak pek bir şeyimiz yok ama onu dahil etmek iyi bir uygulamadır. "Sonraki" işlevi, sinyallere dayalı olarak alım satım mantığının uygulanacağı yerdir.

Geriye dönük testi yürütmek için, Google veri çerçevesini ve "SignalStrategy" sınıfını geçen bir arka test sınıfı örneği oluşturuyoruz. Cache değerini de 10.000 olarak ayarladık. Ardından, arka testi çalıştırır ve sonuçları "stats" değişkeninde saklarız. Son olarak, stratejinin performansını görmek için istatistikleri yazdırıyoruz.

Kodun bu noktada çalıştırılması herhangi bir işlem sağlamaz çünkü henüz alım satım mantığını uygulamadık. Ancak "next" fonksiyonu içinde "self.data.signal" kullanarak bize en son sinyal değerini verecek olan sinyal değerlerine ulaşabiliriz.

Alış ve satış mantığını uygulamak için mevcut sinyal değerini ve mevcut pozisyonu kontrol ederiz. Sinyal 1 ise (alış sinyali) ve mevcut pozisyon yoksa "self.buy" kullanarak bir satın alma emri uygularız. Sinyal -1(sat sinyali) ise ve mevcut bir uzun pozisyon varsa, "self.sell" kullanarak bir satış emri uygularız.

  1. Dış Sinyal Stratejisi:

    • Rastgele sinyaller oluşturun veya harici bir programdan sinyaller alın.
    • Stratejiden devralan bir SignalStrategy sınıfı tanımlayın.
    • Sinyallere dayalı olarak alım veya satım emirlerini yürütmek için bir sonraki yöntemi uygulayın.
    • Emirleri yürütmek için self.buy() ve self.sell() yöntemlerini kullanın.
    • Veriler, strateji, başlangıç sermayesi ve komisyon ile bir Backtest nesnesi oluşturun.
    • bt.run() kullanarak arka testi çalıştırın ve sonuçları analiz edin.

  2. Özel Göstergeler için pandas-ta kullanma:

    • pandas_ta kitaplığını içe aktarın (pip install pandas_ta ile kurun).
    • Göstergeyi hesaplamak için pandas_ta'dan istediğiniz gösterge işlevini kullanın.
    • Hesaplanan göstergeyi veri çerçevesine ekleyin.
    • Stratejiden devralan bir strateji sınıfı tanımlayın.
    • Gösterge değerlerine dayalı olarak alım veya satım emirlerini yürütmek için bir sonraki yöntemi uygulayın.
    • Ne zaman alınacağını veya satılacağını belirlemek için istenen koşulları kullanın.
    • Veriler, strateji, başlangıç sermayesi ve komisyon ile bir Backtest nesnesi oluşturun.
    • bt.run() kullanarak arka testi çalıştırın ve sonuçları analiz edin.

GOOG gibi yer tutucuları gerçek verilerinizle değiştirmeyi ve stratejileri özel gereksinimlerinize göre özelleştirmeyi unutmayın.

Custom Indicators In Backtesting.py - Python Deep Dive
Custom Indicators In Backtesting.py - Python Deep Dive
  • 2022.07.30
  • www.youtube.com
Learn how to make your own custom indicators in backtesting.py. We show how you can integrate libraries like pandas-ta, ta-lib, etc. as well as write your ow...
 

Backtesting.py'de Kayıpları Durdur



Backtesting.py'de Kayıpları Durdur

Bu videoda, "backtesting.py" kütüphanesinde stoploss kavramını keşfedeceğiz. Video, artan karmaşıklık ve derinliğin üç örneğini içerecek ve "backtesting.py" içindeki kayıpları durdurmanın kapsamlı bir şekilde anlaşılmasını sağlayacaktır. Sunucu, "backtesting.py" hakkında önceden bilgi sahibi olduğunu varsayar ve bu ileri düzey konuya dalmadan önce yeni başlayanlar için YouTube'da ücretsiz bir kursu izlemenizi önerir.

Başlamak için bir terminal açın ve "pip install backtesting" komutunu çalıştırarak "backtesting.py" dosyasının kurulu olduğundan emin olun. Bu, gerekli tüm paketleri yükleyecektir. Ardından, yeni bir Python dosyası oluşturun, "example.py" olarak adlandıralım ve gerekli modülleri içe aktarın: "backtesting" den "backtest" ve "strategy" ve "backtesting.test" den "googledale". "googledale", "backtesting.py" ile gelen bir test veri kümesidir.

Ardından, "strateji" sınıfından miras alan "Strats" adlı bir sınıf oluşturarak strateji sınıfını tanımlayın. Gerekli iki işlevi uygulayın: " init " ve "sonraki". Bu noktada, geriye dönük testimizi yapmaya hazırız. "Geri test" işlevini kullanarak yeni bir arka test nesnesi "bt" başlatın. "googledale" verilerini ve az önce tanımladığımız strateji sınıfını iletin. Başlangıç nakit değerini 10.000$ olarak ayarlayın. Son olarak, "bt.run" yöntemini kullanarak arka testi çalıştırın ve sonuçları "bt.plot" kullanarak çizin.

Başlangıçta, strateji sınıfı herhangi bir ticari işlem gerçekleştirmez. Basit bir stop-stop örneği göstermek için bazı temel alım ve satım mantığı ekleyeceğiz. Mevcut bir pozisyonumuz varsa, herhangi bir işlem yapmayacağız. Ancak pozisyonumuz yoksa "self.to_buy" yöntemini kullanarak pozisyonun büyüklüğünü (örn. 1 hisse) belirterek bir satın alma emri veririz. Ek olarak, zararı durdur ve karı alacağız. Zararı durdur mevcut kapanış fiyatının 10 birim altına, kar al mevcut kapanış fiyatının 20 birim üstüne ayarlanacaktır.

Geriye dönük testi çalıştırmak, çok sayıda işlem üretecektir. Bir işlem kapatılır kapatılmaz, zararı durdur veya kârı al tetiklenmediği sürece bir sonraki çubukta yeni bir işlem açılır. "backtesting.py"nin zararları durdurma ve karları nasıl ele aldığını anlamak önemlidir. Aynı barda hem zararı durdur hem de kârı al tetiklendiği durumlarda, kütüphane önce zararı durdurun tetiklendiğini varsayar. Bu davranış, özellikle önemli boşluklar içerebilecek günlük verilerle uğraşırken beklenmedik sonuçlara yol açabilir.

Stop Loss'u daha etkili bir şekilde yönetmek için, strateji sınıfını genişletebilir ve "backtesting.py" tarafından sağlanan "sonraki stratejiyi" kullanabiliriz. "backtesting.lib"den "çaprazlama" ve "sonraki strateji" dahil olmak üzere gerekli modülleri içe aktarın. Yeni strateji sınıfında, temel "strateji" sınıfı yerine "izleyen strateji" sınıfından devralın. Üst sınıfın " init " işlevini "super" kullanarak çağırmak için " init " işlevini geçersiz kılın. Ardından, takip eden bir stoploss değeri ayarlamak için üst sınıftan "set_trailing_stop_loss" işlevini kullanın.

Videonun bir sonraki bölümünde sunum yapan kişi, "izleme stratejisinin" nasıl çalıştığını ve belirli gereksinimler için nasıl özelleştirileceğini daha ayrıntılı olarak açıklıyor. Ancak, bu bölümde, kodumuzdaki "takip etme stratejisinin" kullanılmasına odaklanılmaktadır. Üst sınıfın " init " işlevini çağırarak ve "set_trailing_stop_loss" işlevini kullanarak, arka testimizde takip eden zarar durdurma işlevinden yararlanabiliriz.

Genel olarak video, "backtesting.py" içinde kayıpları durdurma uygulamasının adım adım açıklamasını sağlar. Basit örneklerin yanı sıra, 10'luk bir değeri takip etmek gibi daha gelişmiş kavramları kapsar; bu, zararı durdurmamızın fiyatı 10 birim takip edeceği anlamına gelir.

Artık başlatma fonksiyonumuzu kurduğumuza göre, bir sonraki fonksiyona geçelim. Ticaret mantığımızın büyük bir kısmının uygulanacağı yer burasıdır. Sonraki işlevin içinde, önce super().next() kullanarak üst sınıfın sonraki işlevini çağıracağız. Bu, takip eden zararı durdurma işlevinin diğer ticaret mantığıyla birlikte yürütülmesini sağlar.

Ardından, takip eden stop kaybımızı ayarlamak için bazı kodlar ekleyeceğiz. Açık bir pozisyonumuz olup olmadığını kontrol etmek için koşullu bir ifade kullanacağız (self.position, None değildir). Bir pozisyonumuz varsa, trailing_strategy sınıfı tarafından sağlanan update_trailing_sl yöntemini kullanarak takip eden zarar durdurmayı güncelleyeceğiz. Bu yöntem, mevcut fiyatı bir argüman olarak alır ve zararı durdurmayı buna göre günceller.

Stop Losses in Backtesting.py
Stop Losses in Backtesting.py
  • 2022.08.19
  • www.youtube.com
In this video we go in-depth on how to use stop-losses in backtesting.py. We cover both static and trailing stop losses and how backtesting.py executes them ...
 

Python'da Geri Test Doğrulaması (Rastgelelik Tarafından Kandırıldı)



Python'da Geri Test Doğrulaması (Rastgelelik Tarafından Kandırıldı)

Hepimiz bir ticaret stratejisi oluşturduğumuz, geriye dönük test ettiğimiz ve sonunda uyguladığımızda beklendiği gibi performans göstermediği bir durumdayız. Bu hayal kırıklığının ana nedenlerinden biri, stratejiyi arka testte kullanılan belirli bir tarihsel veri setine fazla uydurmak. Bu videoda, fazla uydurmayla mücadele etmek için bir strateji göstereceğim ve sağlam bir temeli olmayan stratejilere güvenmemenizi veya rastgeleliğe aldanmamanızı sağlayacağım.

Belirli bir örneğe dalalım. Bitcoin'i varlık olarak kullanan basit bir RSI tabanlı strateji üzerinde bir geriye dönük test yaptım. Strateji, RSI yüksek olduğunda satış yapmayı ve RSI düşükken satın almayı içerir. Geriye dönük test sonuçları, test edilen dönemde Bitcoin'in yüzde 15'lik bir düşüş yaşamasına rağmen yaklaşık yüzde üç gibi mütevazı bir getiri gösterdi. İlk bakışta ayı piyasaları için umut verici bir strateji gibi görünebilir.

Bununla birlikte, sürekli olarak karlı fırsatları tespit edip etmediğini veya geriye dönük test sırasında seçilen parametre değerleriyle şanslı olup olmadığını belirlemek için stratejinin performansını çeşitli zaman dilimlerinde incelemek çok önemlidir. Bunu başarmak için, yıl boyunca farklı dönemleri kapsayan 30 günlük çok sayıda geriye dönük test gerçekleştirdim.

Bu geriye dönük testlerden elde edilen getirilerin dağılımını çizerek, stratejinin etkililiği hakkında fikir edinebiliriz. Çizim, her 30 günlük pencereyi, o dönemde elde edilen getirileri temsil eden bir nokta olarak gösterir. Ekteki kutu çizimi medyan getiriyi, çeyrekleri, maksimum ve minimum değerleri gösterir. Arsa incelendiğinde, 30 günlük bir süre boyunca medyan getirinin yüzde -8,5 olduğu ortaya çıkıyor. Ayrıca, -35 ile 15 arasında bir rasgele sayı üreteci kümesinden beklenebilecek sonuçlara benzer şekilde, getirilerin dağılımı rasgele görünüyor. geriye dönük test

Stratejiyi doğrulamak ve fazla uydurmanın etkisini azaltmak için daha geniş bir veri yelpazesi üzerinde geriye dönük testler yapmamız gerekiyor. Bu amaçla, 2022'nin başından 2022'nin sonuna kadar tüm yılı kapsayan birden fazla veri dosyası indirdim. Bu dosyaları, tüm dönem için bir dakikalık mum verilerini içeren bir ana CSV'de birleştirdim.

Doğrulama kodunda, genişletilmiş veri kümesini barındırmak için bazı küçük ayarlamalar yaptım. Temel strateji, RSI tabanlı ticaret mantığına odaklanarak aynı kalır. Ancak, veriler boyunca 30 günlük pencerelerde geriye dönük testler yapmak için bir döngü oluşturdum. Her geriye dönük test, daha sonra daha fazla analiz için bir listeye eklenen getirileri hesaplar.

Toplanan getirileri kullanarak bir kutu grafiği oluşturarak, çeşitli 30 günlük pencerelerde strateji performansının dağılımını görselleştirebiliriz. Bu çizim, getirilerin değişkenliğini ortaya koyar ve stratejinin farklı zaman aralıklarında nasıl performans gösterdiğine dair daha net bir resim sağlar. Bu özel örnekte grafik, neredeyse her ay için ağırlıklı olarak negatif getiriler gösteriyor ve bu da stratejinin tutarlı karlılıktan yoksun olduğunu gösteriyor.

Alım satım stratejilerini doğrulamak ve doğrulamak için kullanılan bu teknikler, seçtiğiniz herhangi bir geriye dönük test çerçevesine uygulanabilir. Sağlanan kod, backtesting.py kitaplığını kullanır, ancak bunu vectorbt veya backtrader gibi diğer kitaplıklara uyarlayabilirsiniz. Temel fikir, stratejinizin farklı zaman dilimlerinde sağlamlık sergilemesini ve yalnızca belirli bir tarihsel veri kümesine fazla uydurmanın bir ürünü olmamasını sağlamaktır.

Bu doğrulama adımlarını izleyerek, gerçekliğe dayanmayan stratejilere güvenme veya rastgele sonuçlara kurban gitme riskini azaltabilirsiniz. Alım satım stratejilerini uygularken bilinçli kararlar vermek için geriye dönük test performansının ötesine geçmek ve stratejinin farklı piyasa koşullarındaki etkinliğini göz önünde bulundurmak önemlidir.

Geriye dönük test sonuçlarını ve getirilerin farklı zaman çerçevelerine dağılımını analiz ettikten sonra, stratejinin performansının temelde rastgele olduğunu keşfettik. Geriye dönük test için kullanılan belirli zaman aralığı dışında tutarlı karlılık sağlamadı. Bu, stratejinin aşırı uyumdan muzdarip olduğunu ve sağlamlıktan yoksun olduğunu gösterir.

Fazla uydurma tuzağına düşmekten kaçınmak ve güvenilir ticaret stratejileri geliştirme şansını artırmak için işte size birkaç öneri:

  1. Yeterli ve Çeşitli Veri Kullanın: Geriye dönük testinizin, çeşitli piyasa koşullarını kapsayacak şekilde önemli miktarda tarihsel veri içerdiğinden emin olun. Bu, daha geniş bir senaryo yelpazesinin yakalanmasına yardımcı olur ve belirli piyasa koşullarına fazla uyum sağlama olasılığını azaltır.

  2. Birden Çok Zaman Çerçevesinde Doğrulayın: Geriye dönük test için yalnızca tek bir zaman dilimine güvenmek yerine, stratejinizi farklı zaman dilimlerinde test edin. Bu, çeşitli piyasa koşulları altındaki performansına ilişkin içgörüler sağlar ve stratejinin tutarlı karlılığa sahip olup olmadığını veya gözlemlenen sonuçların rastgelelikten kaynaklanıp kaynaklanmadığını belirlemeye yardımcı olur.

  3. Numune Dışı Testi Uygulayın: Geçmiş verilerinizin bir kısmını numune dışı test için ayırın. İlk veri kümesi üzerinde birincil geriye dönük testinizi gerçekleştirdikten sonra, modelin daha önce görmediği ayrılmış veriler üzerinde stratejiyi doğrulayın. Bu, stratejinin görünmeyen piyasa koşullarına uyum sağlama yeteneğinin değerlendirilmesine yardımcı olur ve performansının daha gerçekçi bir şekilde değerlendirilmesini sağlar.

  4. Eğri Uydurma Konusunda Dikkat Edin: Stratejiyi geçmiş verilere çok yakından uydurmak için aşırı optimizasyondan veya parametre ayarlamasından kaçının. Belirli veri modellerine göre fazla uyarlanmış stratejilerin, gerçek dünya ticaretinde başarısız olma olasılığı daha yüksektir. Yalnızca geçmiş veriler üzerinde olağanüstü performans peşinde koşmak yerine sağlamlığı hedefleyin.

  5. İleriye Yönelik Analizi Düşünün: Yalnızca statik geriye dönük testlere güvenmek yerine ileriye dönük analizi kullanmayı düşünün. Bu, yeni veriler kullanıma sunuldukça stratejinizin periyodik olarak yeniden optimize edilmesini ve yeniden test edilmesini içerir. Değişen pazar koşullarında performansını iyileştirerek, stratejinizi sürekli olarak uyarlamanıza ve ince ayar yapmanıza olanak tanır.

  6. İstatistiksel Önem Testlerini Kullanın: Stratejinizin performansının önemini değerlendirmek için istatistiksel testler uygulayın. Bu, gözlemlenen sonuçların istatistiksel olarak anlamlı olup olmadığını veya yalnızca şansa bağlı olup olmadığını belirlemeye yardımcı olur. Geriye dönük testte kullanılan yaygın istatistiksel testler arasında t-testleri, önyükleme testleri ve Monte Carlo simülasyonları bulunur.

Bu yönergeleri izleyerek, geçmiş verilere fazlasıyla uyan stratejiler geliştirme riskini azaltabilir ve sağlam ve güvenilir ticaret yaklaşımları oluşturma olasılığını artırabilirsiniz.

Unutmayın, amaç, yalnızca geçmiş veriler üzerinde iyi performans gösteren stratejiler yerine, farklı piyasa koşullarında tutarlı karlılık gösteren ticaret stratejileri geliştirmektir.

Backtest Validation in Python (Fooled By Randomness)
Backtest Validation in Python (Fooled By Randomness)
  • 2022.09.14
  • www.youtube.com
In this video we go through a method that I've found helpful for validating my backtests before I go live with a strategy. Looking at the distribution of ret...
 

Makine Öğrenimi Mühendisleri için Python'a Hızlı Giriş



Makine Öğrenimi Mühendisleri için Python'a Hızlı Giriş

Kurs eğitmeni, tahmine dayalı modelleme kavramını ve endüstrideki önemini tanıtarak başlar. Tahmine dayalı modelleme, bu tahminlerin neden yapıldığına dair bir açıklama sağlamasalar bile, doğru tahminler yapabilen modeller geliştirmeye odaklanır. Eğitmen, dersin özellikle elektronik tablolar veya veritabanları gibi tablo verilerine odaklanacağını vurgular. Amaç, öğrencilerin Python'da makine öğrenimiyle ilgilenen geliştiriciler olmaktan, yeni veri kümeleriyle çalışma, uçtan uca tahmine dayalı modeller geliştirme ve makine öğrenimi görevleri için Python ve SCIPy kitaplığından yararlanma konusunda yetkin hale gelmelerine rehberlik etmektir.

Başlamak için, eğitmen Python sözdiziminde hızlandırılmış bir kurs sağlar. Değişkenler ve atamalar gibi temel kavramları kapsar ve atama için kullanılan "eşittir" işareti ile eşitlik karşılaştırmaları için kullanılan "çift eşittir" işareti arasındaki farkı netleştirir. Eğitmen, Python kodlaması için Jupyter Notebook'un nasıl kullanılacağını gösterir ve yeni bir not defteri oluşturma, kitaplıklar için takma adlar kullanma, hücreleri yürütme ve hücreleri kopyalama veya taşıma gibi gezinme için ipuçları sağlar. Ayrıca not defterlerinin otomatik kaydetme özelliğini ve manuel olarak kaydedilmesini de açıklarlar. Son olarak video, çekirdeğin yürütülmesini durdurma konusuna kısaca değiniyor.

Eğitmen devam ederken, Jupyter Notebook for Python motor navigasyonunda araç çubuğunun nasıl kullanılacağını ve Markdown kullanarak not defterlerine nasıl açıklama ekleneceğini açıklıyor. Video, if-then-else koşulları, for döngüleri ve while döngüleri dahil olmak üzere temel akış denetimi ifadelerini kapsar. Bu ifadeler, Python kodu içinde karar vermeye ve tekrarlamaya izin verir. Eğitmen daha sonra makine öğrenimi için üç önemli veri yapısını tanıtır: demetler, listeler ve sözlükler. Bu veri yapıları, verileri depolamak ve işlemek için verimli yollar sağlar. Ek olarak, video, Python'da sayısal işlemlere olanak sağlayan bir kitaplık olan NumPy hakkında hızlandırılmış bir kurs içerir. Dizi oluşturmayı, verilere erişmeyi ve dizilerle aritmetik işlemler gerçekleştirmeyi kapsar.

Video, veri analizi ve görselleştirme için makine öğreniminde yaygın olarak kullanılan iki temel kitaplık olan Matplotlib ve Pandas'ı tartışmaya devam ediyor. Matplotlib, kullanıcıların veri görselleştirmesini kolaylaştıran çeşitli çizimler ve çizelgeler oluşturmasına olanak tanır. Öte yandan Pandalar, özellikle seri ve veri çerçevesi yapıları aracılığıyla veri işleme ve analizi için veri yapıları ve işlevleri sağlar. Video, makine öğrenimi uygulamalarında en yaygın biçim olan CSV dosyalarını yüklemek için Pandas'ın read_csv işlevinin önemini vurguluyor. Ayrıca, içgörüler elde etmek ve makine öğrenimi görevlerine veri hazırlamak için verileri özetlemek ve çizmek için Pandas işlevlerinin kullanışlılığını vurgular. Python'daki tanımlayıcı istatistiklerden, veri özelliklerini ve doğasını anlamak için çok önemli bir araç olarak bahsedilir.

Video, makine öğrenimi tekniklerini uygulamadan önce veri analizine yardımcı olabilecek belirli veri görselleştirme tekniklerini ele alıyor. Niteliklerin dağılımını gözlemlemenin ve potansiyel aykırı değerleri belirlemenin yolları olarak histogramlar, yoğunluk grafikleri ve kutu grafikleri sunulur. Korelasyon matrisleri ve dağılım grafiği matrisleri, nitelik çiftleri arasındaki ilişkileri belirleme yöntemleri olarak sunulur. Video, verileri makine öğrenimi algoritmalarına hazırlamak için gerekli ön işleme adımları olarak verileri yeniden ölçeklendirmenin, standartlaştırmanın, normalleştirmenin ve ikili hale getirmenin önemini vurguluyor. Sığdır ve dönüştür yöntemi, veri ön işleme için ortak bir yaklaşım olarak açıklanmaktadır.

Tartışılan bir sonraki konu, makine öğreniminde veri ön işleme teknikleridir. Video, iki önemli teknik olarak normalleştirme ve standardizasyonu kapsar. Normalleştirme, özniteliklerin aynı ölçeğe sahip olacak şekilde yeniden ölçeklendirilmesini içerirken, standartlaştırma, özniteliklerin ortalama sıfır ve standart sapma bir olacak şekilde dönüştürülmesini içerir. İkili nitelikler veya kesin değerler oluşturmak için verileri eşikleyen ikilileştirme de açıklanmaktadır. Alakasız veya kısmen ilgisiz özellikler model performansını olumsuz etkileyebileceğinden, özellik seçiminin önemi vurgulanır. Video, özellik seçimine istatistiksel bir yaklaşım olarak tek değişkenli seçimi tanıtıyor ve rastgele orman veya ekstra ağaçlar gibi karar ağacı topluluklarını kullanan yinelemeli özellik eleme ve özellik önem yöntemlerinin kullanımını vurguluyor. Temel bileşen analizi (PCA), doğrusal cebir kullanarak veri setini daha az sayıda boyuta sıkıştırabilen bir veri azaltma tekniği olarak da tartışılmaktadır.

Video, makine öğrenimi algoritmalarının görünmeyen veriler üzerindeki performansını değerlendirmek için yeniden örnekleme yöntemlerinin önemini vurguluyor. Algoritmaların eğitim için kullanılan aynı veri kümesi üzerinde değerlendirilmesine karşı uyarıda bulunur, çünkü bu, fazla uydurmaya ve yeni verilere yetersiz genellemeye yol açabilir. Algoritma performansının güvenilir tahminlerini elde etmenin yolları olarak, tren-test bölme kümeleri, k-katlı çapraz doğrulama, birini dışarıda bırakma çapraz doğrulama ve tekrarlanan rasgele test bölmeleri gibi teknikler açıklanır. Video, makine öğrenimi algoritmaları için sınıflandırma doğruluğu, logaritmik kayıp, eğrinin altındaki alan, karışıklık matrisi ve sınıflandırma raporu gibi çeşitli performans ölçümlerinin tartışılmasıyla sona erer.

Video, makine öğrenimi modelleri tarafından yapılan tahminleri değerlendirmek için kullanılan performans ölçümlerini ayrıntılı olarak ele alıyor. Sınıflandırma doğruluğunu, log kaybını (olasılıkları değerlendirmek için), alıcı işletim karakteristiği (ROC) eğrisi altındaki alanı (ikili sınıflandırma problemleri için), karışıklık matrisini (çoklu sınıflarla model doğruluğunu değerlendirmek için) ve sınıflandırma raporunu (kesinlik sağlayan) kapsar. , hatırlama, F1 puanı ve her sınıf için destek). Ek olarak, video üç yaygın regresyon metriğini açıklıyor: ortalama mutlak hata, ortalama karesel hata ve R-kare. Python kullanılarak bu ölçümlerin nasıl hesaplanacağını göstermek için pratik örnekler gösterilmiştir.

Konuşmacı, belirli bir sorun için hangi makine öğrenimi algoritmalarının iyi performans gösterdiğini belirlemek için yerinde kontrol kavramını tanıtıyor. Spot kontrol, birden çok algoritmayı değerlendirmeyi ve performanslarını karşılaştırmayı içerir. Video, Python'u scikit-learn kitaplığıyla kullanarak, hem doğrusal hem de doğrusal olmayan algoritmalar dahil olmak üzere altı farklı makine öğrenimi modeli için nokta denetimi gösteriyor. Konuşmacı, modellerin stokastik yapısından dolayı sonuçların değişebileceğinin altını çiziyor. Bölüm, regresyon makine öğrenimi modellerine bir girişle sona eriyor ve izleyicileri bu modellerin anında kontrol edilmesiyle ilgili bir sonraki bölüme hazırlıyor.

Ardından konuşmacı, örnek olarak Boston ev fiyatı veri kümesini kullanarak doğrusal ve doğrusal olmayan makine öğrenimi modellerini tanıtıyor. Her modelin noktasal kontrolünün nasıl yapıldığını göstermek için 10 kat çapraz doğrulamalı bir test donanımı kullanılır ve bir performans göstergesi olarak ortalama karesel hata kullanılır (çapraz dosya skor fonksiyonundaki bir tuhaflık nedeniyle ters çevrilir). Girdi değişkenleri ve bunların çıktı değişkeniyle ilişkisi için bir Gauss dağılımı varsayılarak doğrusal regresyon modeli tartışılmaktadır. Model karmaşıklığını en aza indiren doğrusal regresyonun bir modifikasyonu olan Ridge regresyonu da açıklanmaktadır. Konuşmacı, bu aşamada belirli bir kod uygulamasına kapılmak yerine işlem hattını veya süreci anlamanın önemini vurgular.

Video, bir makine öğrenimi sorunu için girdi değişkenlerini anlama ve görselleştirme sürecini araştırıyor. Girdi değişkenlerinin dağılımını anlamak için kutu ve bıyık grafikleri ve histogramlar gibi tek değişkenli grafiklerin kullanılmasını önerir. Çok değişkenli analiz için dağılım grafikleri, girdi değişkenleri arasındaki yapısal ilişkileri belirlemeye ve belirli özellik çiftleri arasındaki yüksek korelasyonları ortaya çıkarmaya yardımcı olabilir. Video ayrıca, model performansını değerlendirmek için 10 kat çapraz doğrulamalı bir test donanımı kullanan değerlendirme sürecini de tartışıyor. En iyi modelin doğruluğunu bağımsız olarak değerlendirmek için bir doğrulama veri seti oluşturmanın önemi vurgulanmıştır. Altı farklı makine öğrenimi modeli değerlendirilir ve tahminler için en doğru olanı seçilir. Tahminleri değerlendirmek için sınıflandırma raporu, karışıklık matrisi ve doğruluk tahmini kullanılır. Son olarak video, regresyon modellerinin karmaşıklığını azaltmak için Lasso ve Elastic Net modellerinin yapısını vurgulayarak düzenlileştirme regresyonuna değiniyor.

Video, Sonar Madenleri ve Kayalar veri setini kullanarak metali kayadan tahmin etmeyi amaçlayan, makine öğreniminde bir ikili sınıflandırma problemini tanıtıyor. Veri kümesi, class özniteliği de dahil olmak üzere 61 özniteliğe sahip 208 örnek içerir. Tanımlayıcı istatistikler analiz edilerek, verilerin aynı aralıkta olmasına rağmen, farklı yöntemlerin verilerin standardize edilmesinin faydalı olabileceğini gösterdiğini gösterir. Histogramlar, yoğunluk çizimleri ve korelasyon görselleştirmeleri gibi tek modlu ve çok modlu veri görselleştirmeleri, verilere ilişkin öngörüler elde etmek için araştırılır. Doğrulama veri seti oluşturulur ve lineer regresyon, lojistik regresyon, lineer diskriminant analizi, sınıflandırma regresyon ağaçları, destek vektör makineleri (SVM), saf Bayes ve k-en yakın komşular (k-en yakın komşular) dahil olmak üzere çeşitli modeller test edilerek model performansı için bir temel oluşturulur ( KNN). Her algoritmanın doğruluğu, 10 kat çapraz doğrulama kullanılarak hesaplanır ve karşılaştırılır.

Aşağıdaki bölümde video, standartlaştırılmış veriler ve ayarlama kullanarak farklı makine öğrenimi algoritmalarının nasıl değerlendirileceğini tartışıyor. Standardizasyon, verilerin dönüştürülmesini içerir, böylece her bir özniteliğin ortalaması 0 ve standart sapması 1'dir, bu da belirli modellerin performansını artırabilir. Dönüştürme işlemi sırasında veri sızıntısını önlemek için, verileri standartlaştıran ve çapraz doğrulama test donanımındaki her kat için model oluşturan bir boru hattı önerilir. Video, eğitim veri setinin standartlaştırılmış kopyasında 10 kat çapraz doğrulama ile bir ızgara araması kullanan k-en yakın komşular (KNN) ve destek vektör makineleri (SVM) için ayarlama tekniklerini gösterir. KNN ve SVM için en uygun konfigürasyonlar belirlenir ve modellerin doğruluğu değerlendirilir. Son olarak video, doğrusal olmayan makine öğrenimi modelleri olarak KNN, karar ağacı regresyonu ve SVM'yi kısaca tartışıyor.

  • 00:00:00 Kurs eğitmeni, tahmine dayalı modelleme kavramını ve bunun sektörle olan ilişkisini tanıtır. Verileri anlamaya çalışan istatistiksel modellemeden farklı olarak, tahmine dayalı modelleme, tahminlerin neden yapıldığını açıklama pahasına daha doğru tahminler yapan modeller geliştirmeye odaklanır. Kurs, elektronik tablolar veya veritabanları gibi tablo verilerine odaklanır. Eğitmen, öğrencileri python'da makine öğrenimiyle ilgilenen geliştiriciler olmaktan, python kullanarak uçtan uca yeni veri kümeleri üzerinde çalışacak ve doğru tahmine dayalı modeller geliştirecek kaynaklara ve yeteneklere sahip olmaya yönlendirir. Öğrenciler, tahmine dayalı bir modelleme probleminin tüm alt görevlerini python ile nasıl tamamlayacaklarını, python ve SCIPy'de yeni ve farklı teknikleri entegre etmeyi, python öğrenmeyi ve makine öğrenimi konusunda yardım almayı öğrenirler. Ders ayrıca, atama, akış kontrolü, veri yapıları ve işlevler dahil olmak üzere dil sözdizimi hakkında temel ayrıntıları vurgulayan hızlandırılmış bir python kursu içerir.

  • 00:05:00 Video, değişkenler ve atamalar dahil olmak üzere Python'un temel sözdizimini kapsar ve atama için "eşittir" ile eşitlik için "çift eşittir" arasındaki farkı açıklar. Öğretim görevlisi daha sonra Python kodlaması için Jupyter Notebook'un nasıl kullanılacağını gösterir ve yeni bir not defteri oluşturma, kitaplıklar için takma ad kullanma, hücreleri çalıştırma ve hücreleri taşıma veya kopyalama gibi bazı temel gezinme ipuçlarını açıklar. Öğretim görevlisi ayrıca otomatik kaydetme özelliğini ve not defterini manuel olarak nasıl kaydedeceğinizi de açıklar. Video, çekirdeğin yürütülmesinin nasıl durdurulacağına dair kısa bir açıklama ile sona eriyor.

  • 00:10:00 Eğitmen, Python motorunda gezinmek için araç çubuğunun nasıl kullanılacağını ve not defterlerine markdown ile nasıl açıklama ekleneceğini açıklar. Daha sonra video, if-then-else koşulları, for döngüleri ve while döngüleri gibi akış kontrol ifadelerini kapsar. Daha sonra eğitmen, makine öğrenimi için gerekli olan üç ana veri yapısını açıklar: tuples, lists ve sözlükler. Son olarak, video, dizi oluşturmayı, verilere erişmeyi ve dizileri aritmetikte kullanmayı içeren NumPy hakkında hızlandırılmış bir kurs sağlar.

  • 00:15:00 Makine öğrenimi için Matplotlib ve Pandas ile ilgili hızlandırılmış kurs tartışılıyor. Matplotlib, çizimler ve çizelgeler oluşturmak için kullanılabilecek bir kütüphanedir. Pandalar, seri ve veri çerçevesi veri yapılarının yardımıyla verileri işlemek ve analiz etmek için veri yapıları ve işlevsellik sağlar. Bunlar, makine öğrenimi uygulamalarında kullanılan en yaygın biçim olan csv dosyalarını yüklemek için önemlidir. Ayrıca Pandas read_csv gibi esnek işlevler, makine öğrenimi görevlerinde verileri ön işlemek ve işlemek için içgörüler ve tohum fikirleri oluşturmak üzere verileri özetlemek ve çizmek için verileri yüklemeye ve bir Pandas veri çerçevesi döndürmeye yardımcı olabilir. Son olarak, python'da tanımlayıcı istatistikler yoluyla verilerden içgörü elde etmek ikame edilemez ve verilerin özelliklerini ve doğasını daha iyi anlamaya yardımcı olabilir.

  • 00:20:00 Pandas DataFrame, hist() işleviyle histogramlar oluşturmayı kolaylaştırır. Verileri görselleştirmenin başka bir yolu da plot() işleviyle oluşturulabilen yoğunluk grafiklerini kullanmaktır. Yoğunluk grafikleri, verilerin olasılık yoğunluk fonksiyonunu gösterir ve dağılımın şekli hakkında fikir verebilir. Kutu ve bıyık çizimleri, verilerin dağılımını görselleştirmede ve aykırı değerleri belirlemede de yararlıdır. Genel olarak, veri görselleştirme, bir veri kümesinin özelliklerini anlamada önemli bir adımdır ve uygun makine öğrenimi algoritmalarının seçilmesine yardımcı olabilir.

  • 00:25:00 Video, makine öğrenimi tekniklerini uygulamadan önce veri analizi için yararlı olabilecek çeşitli çizimleri ve diyagramları açıklıyor. Niteliklerin dağılımını gözlemlemek için histogramlar, yoğunluk grafikleri ve kutu grafikleri kullanılırken, nitelik çiftleri arasındaki ilişkiyi tanımlamak için korelasyon matrisleri ve dağılım grafiği matrisleri kullanılır. Verileri yeniden ölçeklendirme, standartlaştırma, normalleştirme ve ikili hale getirme, verileri makine öğrenimi algoritmalarına hazırlamak için gerekli ön işleme adımları olarak da tartışılıyor ve video, veri ön işleme için yaygın bir yaklaşım olarak sığdır ve dönüştür yöntemini açıklıyor.

  • 00:30:00 Video, makine öğreniminde verileri ön işleme tekniklerini tartışıyor. İlk olarak normalizasyon ve standardizasyon teknikleri açıklanmıştır. Normalleştirme, özniteliklerin aynı ölçeğe sahip olacak şekilde yeniden ölçeklendirilmesini içerir ve standardizasyon, özniteliklerin ortalama sıfır ve standart sapma bir olacak şekilde değiştirilmesini içerir. İkili hale getirme veya verileri eşikleme, tartışılan ve yeni ikili öznitelikler eklemek veya olasılıkları kesin değerlere dönüştürmek için yararlı olabilecek başka bir tekniktir. Ardından, alakasız veya kısmen alakasız özellikler model performansını olumsuz etkileyebileceğinden, özellik seçiminin önemi açıklanmaktadır. Tek değişkenli seçim, istatistiksel testlerin puanlarını kullanan özellik seçimine yönelik bir istatistiksel yaklaşımdır. Rastgele orman veya ekstra ağaçlar gibi karar ağaçları topluluklarını kullanan özyinelemeli özellik eleme ve özellik önem yöntemleri de özellik seçimi için yararlı olabilir. Son olarak, temel bileşen analizi (PCA), veri setini daha az sayıda boyutla sıkıştırılmış bir forma dönüştürmek için doğrusal cebir kullanan bir veri azaltma tekniğidir.

  • 00:35:00 Makine öğrenimi algoritmalarının görünmeyen veriler üzerindeki performansını değerlendirmek için yeniden örnekleme yöntemlerinin önemi anlatılıyor. Algoritmayı eğitim için kullanılan aynı veri seti üzerinde değerlendirmenin, eğitim veri setinde mükemmel puana, ancak yeni veriler üzerinde zayıf tahminlere yol açacak şekilde fazla uydurmaya yol açabileceği vurgulanmıştır. Tren-test bölünmüş kümeler, k-katlı çapraz doğrulama, birini dışarıda bırakan çapraz doğrulama ve tekrarlanan rasgele test bölmeleri gibi teknikler, algoritma performansına ilişkin faydalı tahminler oluşturmanın yolları olarak sunulur. Bölüm, sınıflandırma doğruluğu, logaritmik kayıp, eğri altındaki alan, karışıklık matrisi ve sınıflandırma raporu gibi çeşitli makine öğrenimi algoritması performans ölçümlerinin tartışılmasıyla sona erer.

  • 00:40:00 Video, bir makine öğrenimi modeli tarafından yapılan tahminleri değerlendirmek için çeşitli performans ölçümlerini kapsar. Bunlar, sınıflandırma doğruluğunu, olasılıkları değerlendirmek için log kaybını, ikili sınıflandırma problemleri için ROC eğrisi altındaki alanı, iki veya daha fazla sınıfla model doğruluğunu değerlendirmek için karışıklık matrisini ve kesinliği, hatırlamayı, F1 puanını ve desteği değerlendirmek için sınıflandırma raporunu içerir. her sınıf için Ek olarak, video üç yaygın regresyon metriğini kapsar: ortalama mutlak hata, ortalama hatanın karesi ve R-kare ve Python kullanılarak bu metriklerin nasıl hesaplanacağına dair örnekler gösterir.

  • 00:45:00 Konuşmacı, belirli bir sorun için hangi makine öğrenimi algoritmalarının iyi performans gösterdiğini keşfetmek için yerinde denetim kullanma kavramını açıklıyor. Python'u scikit-learn kitaplığıyla kullanarak, doğrusal ve doğrusal olmayan algoritmalar dahil olmak üzere altı farklı makine öğrenimi modeli için nokta denetimi gösteriyor. Modelin stokastik yapısından dolayı sonuçların değişebileceğini de vurgulamaktadır. Son olarak, konuşmacı, regresyon makine öğrenimi modellerini tanıtır ve izleyicileri bu modellerin yerinde nasıl kontrol edileceğine ilişkin bir sonraki bölüme hazırlar.

  • 00:50:00 Konuşmacı, Boston ev fiyatı veri setini kullanarak doğrusal ve doğrusal olmayan makine öğrenimi modellerini tanıtıyor. Her modelin kontrolünün nasıl engelleneceğini göstermek için 10 kat çapraz doğrulamalı bir test donanımı kullanılır ve çapraz dosya skor fonksiyonundaki bir tuhaflık nedeniyle tersine çevrilen performansı belirtmek için ortalama karesi alınmış hata sayıları kullanılır. Doğrusal regresyon modeli, girdi değişkenleri için bir Gauss dağılımı varsayar ve bunların çıktı değişkeni ile ilgili olduğunu ve birbirleriyle yüksek oranda ilişkili olmadığını varsayar. Doğrusal regresyonun bir modifikasyonu olan sırt regresyonu, katsayı değerlerinin toplam kare değeri veya L2 normu ile ölçülen modelin karmaşıklığını en aza indirir. Konuşmacı, boru hattını veya süreci anlamayı ve bu noktada kodu anlamaya kapılmamayı vurgular.

  • 00:55:00 Video, bir makine öğrenimi problemi için girdi değişkenlerini anlama ve görselleştirme sürecini tartışıyor. Video, giriş değişkenlerinin dağılımını anlamak için kutu ve bıyık grafikleri ve histogramlar gibi tek değişkenli grafiklerin kullanılmasını önerir. Çok değişkenli grafikler için, dağılım grafikleri, girdi değişkenleri arasındaki yapısal ilişkileri belirlemeye ve belirli özellik çiftleri arasındaki yüksek korelasyonu belirlemeye yardımcı olabilir. Video daha sonra, veri setinin 10 parçaya bölündüğü ve farklı bölmelerde eğitilip test edildiği 10 katlı çapraz doğrulama kullanan bir test donanımı aracılığıyla modelleri değerlendirme sürecini tartışmaya devam ediyor. Video, en iyi modelin ne kadar doğru olabileceğine dair ikinci ve bağımsız bir fikir edinmek için bir doğrulama veri seti oluşturmanın önemini vurgulamaktadır. Video, altı farklı makine öğrenimi modelini değerlendiriyor ve tahmin yapmak, sınıflandırma raporu, karışıklık matrisi ve doğruluk tahmini ile tahminleri değerlendirmek için en doğru olanı seçiyor. Bölüm, düzenlileştirme regresyonu ve regresyon modelinin karmaşıklığını en aza indirmek için Lasso ve Elastic Net modellerinin oluşturulması üzerine bir tartışma ile sona ermektedir.

  • 01:00:00 Sonar madenleri ve kayalar veri setini kullanarak metali kayadan tahmin etmek olan makine öğreniminde bir ikili sınıflandırma problemiyle tanıştık. Veri kümesi, class özniteliği dahil 61 özniteliğe sahip 208 örnek içerir. Verileri analiz ettikten ve tanımlayıcı istatistiklere baktıktan sonra, verilerin aynı aralıkta olduğunu ancak farklı araçların, verilerin standardize edilmesinin faydalı olabileceğini gösterdiğini görüyoruz. Ayrıca histogramlar, yoğunluk grafikleri ve nitelikler arasındaki korelasyonun görselleştirmeleri dahil olmak üzere tek modlu ve çok modlu veri görselleştirmelerine de göz atıyoruz. Daha sonra bir doğrulama veri seti hazırlıyoruz ve lineer regresyon, lojistik regresyon, lineer diskriminant analizi, sınıflandırma regresyon ağaçları, SVM'ler, naive Bayes ve k-en yakın komşular dahil olmak üzere farklı modellerin performansı için bir temel oluşturuyoruz. 10 kat çapraz doğrulama yoluyla hesaplanan her bir algoritmanın doğruluğunu karşılaştırıyoruz.

  • 01:05:00 Video, standartlaştırılmış veriler ve ayarlama kullanarak farklı makine öğrenimi algoritmalarının nasıl değerlendirileceğini tartışıyor. Standardizasyon, verileri, her özelliğin ortalaması 0 ve standart sapması 1 olacak şekilde dönüştürür, bu da bazı modellerin becerisini artırabilir. Dönüştürme işlemi sırasında veri sızıntısını önlemek için, verileri standartlaştıran ve çapraz doğrulama test donanımındaki her kat için model oluşturan bir boru hattı önerilir. Video, eğitim veri setinin standartlaştırılmış kopyasında 10 kat çapraz doğrulama ile bir ızgara araması kullanarak k-en yakın komşuların (KNN) ve destek vektör makinelerinin (SVM) nasıl ayarlanacağını gösterir. KNN ve SVM için en uygun konfigürasyonlar belirlenir ve modellerin doğruluğu değerlendirilir. Son olarak video, doğrusal olmayan makine öğrenimi modelleri olarak KNN, karar ağacı regresyonu ve SVM'yi kısaca tartışıyor.
A Fast Track Introduction to Python for Machine Learning Engineers
A Fast Track Introduction to Python for Machine Learning Engineers
  • 2022.03.23
  • www.youtube.com
Complete Course on Machine Learning with Python
 

Makine Öğrenimi Mühendisleri için Uygulamalı İstatistikler


Makine Öğrenimi Mühendisleri için Uygulamalı İstatistikler

Videodaki eğitmen istatistik alanını tanıtıyor ve bunun makine öğreniminde tahmine dayalı modelleme problemleriyle çalışmadaki önemini vurguluyor. İstatistiğin, basit özet istatistiklerden başlayarak hipotez testleri ve tahmin istatistiklerine kadar bir dizi teknik sunduğunu açıklarlar. Kurs, Python'da pratik örneklerle, istatistiksel yöntemlerde adım adım bir temel sağlamak için tasarlanmıştır. Makine öğrenimi için istatistiklerin altı temel yönünü kapsar ve gerçek dünya uygulamalarına odaklanarak makine öğrenimi mühendisleri için uygun hale getirir.

Eğitmen, makine öğrenimi ile istatistik arasındaki yakın ilişkiyi vurgular ve programcıların bu kurs aracılığıyla istatistiksel becerilerini geliştirmelerinden fayda sağlayabileceklerini önerir. İstatistik alanını iki kategoriye ayırırlar: tanımlayıcı istatistikler ve çıkarımsal istatistikler. Tanımlayıcı istatistikler, ortalamalar ve grafik gösterimler gibi ölçümleri kullanarak verilerin özetlenmesini ve açıklanmasını içerir. Çıkarımsal istatistikler ise, örnek verilere dayanarak daha büyük bir popülasyon hakkında çıkarımlar yapmak için kullanılır.

Veri kaybı, bozulma ve hataların ele alınması da dahil olmak üzere uygun veri işlemenin önemi de vurgulanmıştır. Ardından video, makine öğrenimi modelleri için veri hazırlamaya dahil olan çeşitli adımları ayrıntılı olarak ele alıyor. Bu, standartlaştırma ve normalleştirme gibi istatistiksel yöntemler kullanılarak veri temizleme, veri seçimi, veri örnekleme ve veri dönüştürmeyi içerir. Veri değerlendirmesi de vurgulanır ve video, bir modelin becerisini tahmin etmek için deneysel tasarım, verileri yeniden örnekleme ve model seçimini tartışır. Video, yeni verileri tahmin etmek için tahmin istatistiklerinin kullanılmasını önerir.

Video, istatistikte kullanılan farklı ölçüm ölçeklerini, yani nominal, sıra, aralık ve oran ölçeklerini açıklar. Her ölçek için geçerli istatistiksel teknikleri ve bunların makine öğreniminde nasıl uygulanabileceğini tartışır. Modellemede belirsizliği anlamanın ve raporlamanın önemi, özellikle örnek kümelerle çalışırken vurgulanır. Video daha sonra çeşitli veri kümelerinde yaygın olarak gözlemlenen normal dağılıma odaklanır. Örnek verilerin nasıl oluşturulacağını ve bir histogram kullanarak bir Gauss dağılımına uygunluğunun görsel olarak nasıl değerlendirileceğini gösterir. Çoğu veri kümesi mükemmel bir Gauss dağılımına sahip olmasa da, genellikle Gauss benzeri özellikler sergiler.

Altta yatan Gauss dağılımını ortaya çıkarmak için verileri bölmenin ayrıntılı bir yolunu seçmenin önemi vurgulanmıştır. Ortalama ve medyan gibi merkezi eğilim ölçüleri, dağılımın yayılmasının ölçüleri olarak varyans ve standart sapma ile birlikte araştırılır. Rastgelelik, makine öğreniminde önemli bir araç olarak tartışılır ve algoritmaların daha sağlam ve doğru olmasına yardımcı olur. Veri hataları ve gürültü de dahil olmak üzere çeşitli rastgelelik kaynakları açıklanmaktadır.

Video, makine öğrenimi algoritmalarının daha iyi performans elde etmek ve daha uygun modeller oluşturmak için genellikle rastgelelikten yararlandığını açıklıyor. Rastgelelik, algoritmaların farklı olasılıkları keşfetmesini ve daha iyi veri eşlemeleri bulmasını sağlar. Kontrol edilebilir ve kontrol edilemeyen rasgelelik kaynakları tartışılır ve bir model içinde rasgeleliği tutarlı hale getirmek için tohum fonksiyonunun kullanımı açıklanır. Video, rasgele sayılar oluşturmak için Python rasgele modülünü kullanan bir örnek sağlar ve numpy kitaplığının sözde rasgele sayı üreteci ile standart kitaplığın sözde rasgele sayı üreteci arasındaki farkı vurgular. Rastgele sayı üretecinin ne zaman tohumlanacağına ilişkin iki durum da, yani veri hazırlama ve veri bölmeleri sırasında tartışılmaktadır.

Verileri tutarlı bir şekilde bölmek ve bir algoritmayı değerlendirirken sözde rasgele sayı üreteçlerini kullanmak vurgulanmaktadır. Video, modelin ölçülen belirsizliği ve algoritmanın performansını içerecek şekilde değerlendirilmesini önerir. Bir algoritmanın birden fazla veri bölünmesi üzerinde değerlendirilmesi, performansının farklı eğitim ve test verileriyle nasıl değiştiğine dair içgörü sağlar. Bir algoritmayı aynı veri bölmelerinde birden çok kez değerlendirmek, performansının kendi başına nasıl değiştiğini anlamanıza yardımcı olur. Video ayrıca büyük sayılar yasasını ve merkezi limit teoremini tanıtarak, daha fazla veriye sahip olmanın modelin performansını iyileştirdiğini ve örneklem boyutu arttıkça ortalamanın dağılımının bir Gauss dağılımına yaklaştığını vurguluyor.

Video, zar atışlarını ve kodu kullanarak merkezi limit teoremini gösterir ve örnek boyutu arttıkça örnek ortalamalarının bir Gauss dağılımına nasıl yaklaştığını gösterir.

Video, makine öğrenimi modellerini değerlendirmenin ve tahminlerindeki belirsizliği anlamanın önemini vurguluyor. Sınıflandırma modellerinin performansını değerlendirmek için yaygın olarak kullanılan doğruluk, kesinlik, hatırlama ve F1 puanı gibi değerlendirme ölçütlerini sunar. Video, doğruluğun tahminlerin genel doğruluğunu ölçtüğünü, kesinliğin tüm pozitif tahminler içindeki gerçek pozitif tahminlerin oranını ölçtüğünü, hatırlamanın tüm gerçek pozitif örneklerdeki gerçek pozitif tahminlerin oranını ölçtüğünü ve F1 puanının kesinlik ile geri çağırmayı bir araya getirdiğini açıklıyor. tek bir metrik. Ayrıca, gerçek pozitif, gerçek negatif, yanlış pozitif ve yanlış negatif tahminlerin sayısını göstererek bir sınıflandırma modelinin performansının daha ayrıntılı bir görünümünü sağlayan bir karışıklık matrisi kavramını tartışır.

Konuşmacı, Python'un scikit-learn kitaplığını kullanarak bu değerlendirme ölçümlerinin nasıl hesaplanacağını gösterir. Gerekli modüllerin nasıl içe aktarılacağını, verilerin eğitim ve test kümelerine nasıl bölüneceğini, bir sınıflandırma modelinin nasıl eğitileceğini, test kümesi üzerinde tahminlerin nasıl yapılacağını ve doğruluk, kesinlik, geri çağırma ve F1 puanı kullanılarak modelin performansının nasıl değerlendirileceğini gösterir. Video, genelleştirme yeteneklerini sağlamak için modellerin görünmeyen veriler üzerinde değerlendirilmesinin önemini vurgulamaktadır.

Ayrıca video, ikili sınıflandırma modelleri için değerlendirme ölçütleri olarak alıcı işletim karakteristiği (ROC) eğrileri ve eğri altındaki alan (AUC) kavramını tanıtır. ROC eğrileri, farklı eşik değerleri boyunca modelin performansının görsel bir temsilini sağlayarak, çeşitli sınıflandırma eşiklerinde gerçek pozitif oranı yanlış pozitif oranına karşı çizer. AUC, ROC eğrisinin altındaki alanı temsil eder ve farklı modellerin performansını karşılaştırmak için tek bir ölçüm sağlar. Video, Python'un scikit-learn kitaplığını kullanarak bir ROC eğrisinin nasıl çizileceğini ve AUC'nin nasıl hesaplanacağını açıklar.

Aşırı uydurma kavramı, bir modelin eğitim verilerinde iyi performans gösterdiği ancak yeni, görünmeyen verilere genelleştiremediği makine öğreniminde yaygın bir sorun olarak tartışılır. Video, bir modelin çok karmaşık hale gelmesi ve genel popülasyonda bulunmayan eğitim verilerine özgü kalıpları öğrenmesi durumunda aşırı uyumun meydana geldiğini açıklıyor. Video, bir modelin eğitim ve test performansını karşılaştırarak fazla uydurmanın nasıl görselleştirilebileceğini gösterir. Bir aşırı uyum modelinin düşük eğitim hatasına, ancak yüksek test hatasına sahip olacağını ve genellemenin zayıf olduğunu gösterir. Video, modelin amaç işlevine bir ceza terimi ekleyerek aşırı uydurmayı azaltmanın yolları olarak sırt regresyonu ve Kement regresyonu gibi düzenlileştirme teknikleri önerir.

Çapraz doğrulama kavramı, makine öğrenimi modellerinin performansını ve genelleştirilmesini değerlendirmek için bir teknik olarak tanıtıldı. Video, çapraz doğrulamanın verileri birden çok alt kümeye ayırmayı, modeli verilerin bir kısmı üzerinde eğitmeyi ve geri kalan kısımda performansını değerlendirmeyi içerdiğini açıklıyor. Bu süreç, eğitim ve test için kullanılan farklı alt kümelerle birçok kez tekrarlanır ve modelin performansının bir tahminini sağlamak için sonuçların ortalaması alınır. Video, Python'un scikit-learn kitaplığı, özellikle K-katlamalı çapraz doğrulama yöntemi kullanılarak çapraz doğrulamanın nasıl gerçekleştirileceğini gösterir.

Ardından video, özellik seçimi kavramını ve makine öğrenimindeki önemini tartışıyor. Özellik seçiminin, modelin performansına katkıda bulunan en alakalı özelliklerin veya değişkenlerin tanımlanmasını içerdiğini açıklar. Video, modelin doğruluğunu artırmak, fazla uydurmayı azaltmak ve yorumlanabilirliği artırmak için bilgilendirici özellikleri seçmenin önemini vurgulamaktadır. Tek değişkenli seçim, özyinelemeli özellik eleme ve özellik önem puanları gibi farklı özellik seçim teknikleri sunar. Video, Python'un scikit-learn kitaplığını kullanarak özellik seçiminin nasıl uygulanacağını gösterir.

Boyut azaltma kavramı, makine öğrenimindeki boyutsallık lanetini ele alan bir teknik olarak da tartışılmaktadır. Video, boyut azaltmanın, ilgili bilgilerin çoğunu korurken bir veri kümesindeki özelliklerin veya değişkenlerin sayısını azaltmayı içerdiğini açıklıyor. Yaygın olarak kullanılan bir boyutluluk azaltma tekniği olarak temel bileşen analizini (PCA) sunar. PCA, verilerdeki maksimum varyansın yönlerini belirleyerek verileri daha düşük boyutlu bir uzaya dönüştürmeyi amaçlar. Video, PCA'nın orijinal özelliklerin doğrusal kombinasyonları olan temel bileşenler adı verilen yeni özellikler oluşturduğunu açıklıyor. Bu temel bileşenler, verilerdeki en önemli bilgileri yakalar ve makine öğrenimi modelleri için girdi olarak kullanılabilir.

Video, Python'un scikit-learn kitaplığını kullanarak PCA'nın nasıl gerçekleştirileceğini gösterir. Gerekli modüllerin nasıl içe aktarılacağını, verilerin standartlaştırılacağını, bir PCA nesnesinin nasıl başlatılacağını, PCA modelinin verilere nasıl uydurulacağını ve verilerin daha düşük boyutlu uzaya nasıl dönüştürüleceğini gösterir. Video ayrıca, açıklanan varyans oranına dayalı olarak tutulacak en uygun temel bileşen sayısının nasıl belirleneceğini de açıklar.

Topluluk öğrenimi kavramı, birden çok bireysel modeli birleştirerek makine öğrenimi modellerinin performansını artırmaya yönelik bir teknik olarak tanıtıldı. Video, topluluk öğreniminin, her bir modelin kendi tahminlerine katkıda bulunduğu ve nihai tahminin bir oylama veya ortalama alma mekanizmasına göre belirlendiği kalabalıkların bilgeliğinden yararlandığını açıklıyor. Video, iki popüler toplu öğrenme yöntemini tartışıyor: torbalama ve hızlandırma. Paketleme, birden çok modeli verilerin farklı alt kümeleri üzerinde eğitmeyi ve tahminlerini toplamayı içerirken, artırma, her modelin önceki modeller tarafından yanlış sınıflandırılan örneklere daha fazla önem vererek sırayla eğitim modellerine odaklanır.

Video, Python'un scikit-learn kitaplığını kullanarak topluluk öğreniminin nasıl uygulanacağını gösterir. Torbalama ve hızlandırma için gerekli modüllerin nasıl içe aktarılacağını, topluluk modellerinin nasıl başlatılacağını, verilere uydurulacağını ve topluluk modellerini kullanarak tahminlerin nasıl yapılacağını gösterir. Video, topluluk öğreniminin genellikle makine öğrenimi modellerinin genel performansını ve sağlamlığını iyileştirebileceğini vurgular.

Son olarak video, derin öğrenme ve doğal dil işleme (NLP) gibi makine öğrenimindeki ileri düzey konulara kısaca değiniyor. Derin öğrenmenin, verilerdeki karmaşık kalıpları öğrenmek için çok katmanlı derin sinir ağlarını eğitmeyi içerdiğinden bahseder. NLP, insan dilini anlamak ve işlemek için modeller ve teknikler geliştirmeye odaklanarak metin sınıflandırması, duygu analizi ve makine çevirisi gibi uygulamaları mümkün kılar. Video, makine öğreniminin çok sayıda uygulama ve daha fazla keşif ve öğrenme fırsatı içeren geniş ve hızla gelişen bir alan olduğunu vurgulayarak sona eriyor.

Video, model değerlendirme, fazla uydurma, düzenleme, çapraz doğrulama, özellik seçimi, boyut azaltma, topluluk öğrenimi ve derin öğrenmeye ve NLP'ye giriş dahil olmak üzere makine öğrenimindeki temel kavram ve tekniklere kapsamlı bir genel bakış sağlar. Python ve scikit-learn kitaplığının kullanıldığı pratik uygulamaları göstererek, onu yeni başlayanlar ve makine öğrenimi anlayışlarını geliştirmek isteyenler için değerli bir kaynak haline getiriyor.

  • 00:00:00 Eğitmen, istatistik alanını ve bunun makine öğrenimi ile tahmine dayalı modelleme problemleriyle çalışmadaki önemini tanıtır. Basit özet istatistiklerden hipotez testlerine ve tahmin istatistiklerine kadar çeşitli istatistiksel teknikleri açıklar. Kurs, makine öğrenimi için istatistiğin altı temel yönünü kapsayan, Python'da yürütülebilir örneklerle istatistiksel yöntemler için adım adım bir temel sağlamak üzere tasarlanmıştır. Eğitmen ayrıca dersin uygulama odaklı olduğunu ve gerçek dünyadan kullanım örnekleri sunarak makine öğrenimi mühendisleri için uygun olduğunu vurgular.

  • 00:05:00 Makine öğreniminin istatistikle yakından ilgili olduğu vurgulanır ve ders istatistiksel becerilerini geliştirmek isteyen programcılar için iyi bir seçenek olarak sunulur. İstatistik alanı, birincisi tanımlayıcı istatistikler ve ikincisi çıkarımsal istatistikler olmak üzere 2 kategoriye ayrılır. Tanımlayıcı istatistikler, ortalamalar ve grafik gösterimler gibi ölçümleri kullanarak verileri tanımlamak için kullanılırken, çıkarımsal istatistikler daha geniş bir popülasyon için verilerden çıkarımlar yapmak için kullanılır. Son olarak, veri kaybı, bozulma ve hatalar da dahil olmak üzere verilerin işlenmesinin önemi vurgulanmaktadır.

  • 00:10:00 Video, makine öğrenimi modelleri için veri hazırlamaya dahil olan çeşitli adımları tartışıyor. Bu, standartlaştırma ve normalleştirme gibi istatistiksel yöntemler kullanılarak veri temizleme, veri seçimi, veri örnekleme ve veri dönüştürmeyi içerir. Veri değerlendirmesi de önemlidir ve bir modelin becerisini tahmin etmek için yeniden örnekleme verileri ve model seçimi dahil olmak üzere deneysel tasarım yapılmalıdır. Video, yeni verileri tahmin etmek için tahmin istatistikleri yaklaşımını önerir. Ayrıca videoda istatistikte kullanılan farklı ölçüm skalaları ve normal dağılımın özellikleri anlatılmaktadır.

  • 00:15:00 Konuşmacı farklı ölçüm ölçeklerini açıklar: nominal, sıra, aralık ve oran. Her ölçek için geçerli olan istatistikleri ve bunların makine öğreniminde nasıl uygulanabileceğini tartışmaya devam ediyorlar. Neredeyse her zaman örnek kümelerle çalıştığımız göz önüne alındığında, yazar, modellemeye dahil olan belirsizliği anlamamız ve bildirmemiz gerektiğini vurguluyor. Tartışma daha sonra çeşitli veri kümelerinde çok yaygın olan örnek bir normal dağılıma geçer. Son olarak, örnek verileri nasıl oluşturabileceğimizi ve Gauss dağılımına uyup uymadığını görmek için bunu bir histograma uygulayabileceğimizi gösteriyorlar. Yazar, çoğu veri setinin mükemmel bir Gauss dağılımına sahip olmayacağını, ancak Gauss benzeri özelliklere sahip olacağını açıklıyor.

  • 00:20:00 Altta yatan Gauss dağılımını daha iyi ortaya çıkarmak için verileri bölmenin daha ayrıntılı bir yolunu seçmenin önemi vurgulanır ve ortalama ve medyan gibi merkezi eğilim ölçüleri keşfedilir, varyans ve standart sapma da birer gösterge olarak tartışılır. dağılımın yaygınlığının ölçüsüdür. Rastgelelik, makine öğreniminde önemli bir araçtır ve algoritmaların daha sağlam ve doğru olmasına yardımcı olmak için kullanılır. Verilerdeki hatalar ve ilişkileri gizleyebilecek gürültü gibi çeşitli rastgelelik kaynakları açıklanmaktadır.

  • 00:25:00 Makine öğrenimi algoritmalarının, daha iyi performans gösteren bir veri eşlemesi elde etmek için genellikle rastgeleliği kullandığı açıklanıyor. Rastgelelik, algoritmaların daha uygun bir model oluşturmasına izin verir. Bu bölümde, hem kontrol edilebilir hem de kontrol edilemeyen rastgelelik kaynakları ve tohum işlevinin kullanımının bir modelde rastgeleliği nasıl tutarlı hale getirebileceği tartışılmaktadır. Rastgele sayılar üretmek için Python rasgele modülü ve sayı vektörleri ve matrisleriyle verimli çalışmak için numpy kitaplığı kullanılarak bir örnek verilmiştir. Numpy sözde rastgele sayı üreteci, python standart kitaplığı sözde rastgele sayı oluşturucudan farklıdır ve ayrı olarak kullanılmalıdır. Son olarak, rasgele sayı üretecinin ne zaman tohumlanacağına ilişkin veri hazırlama ve veri bölmeleri de dahil olmak üzere iki durum ele alınmıştır.

  • 00:30:00 Bir algoritmayı değerlendirirken verileri tutarlı bir şekilde bölmenin ve sözde rasgele sayı üreteçlerinin kullanımının önemi tartışılır. Modelin, raporlanan performans ölçülen belirsizliği ve algoritmanın performansını içerecek şekilde değerlendirilmesi önerilir. Bir algoritmayı birden fazla veri bölmesinde değerlendirmek, algoritmanın performansının eğitim ve test verilerindeki değişikliklerle nasıl değiştiğine dair fikir verirken, bir algoritmayı aynı veri bölümünde birden çok kez değerlendirmek, algoritmanın performansının tek başına nasıl değiştiğine dair fikir sağlamaya yardımcı olur. . Büyük sayılar yasası ve merkezi limit teoremi de tartışılarak, ne kadar çok veriye sahip olursak, modelimizin performansı için o kadar iyi olur ve bir örneklemin boyutu arttıkça, ortalamanın dağılımının bir Gauss dağılımına yaklaşacağının altı çizilir. .

  • 00:35:00 Merkezi limit teoremi, zar atma ve kod kullanılarak gösterilir. Gösterim, numune boyutu arttıkça, numune aracının bir Gauss dağılımına yaklaşacağını göstermektedir. İstatistikte anlamı keşfetmek için verilerin yorumlanması çok önemlidir. Veri dağılımları hakkında iddialarda bulunmak veya iki örneği karşılaştırmak için makine öğreniminde istatistiksel hipotez testi veya anlamlılık testleri kullanılır. Hipotez 0 veya sıfır hipotezi, hiçbir şeyin değişmediği varsayılan varsayımdır ve istatistiksel bir hipotez testi, bir p-değeri veya kritik bir değer verebilir. p-değeri, bir hipotez testinin sonucunu yorumlamak ve sıfır hipotezini reddetmek veya reddetmek için kullanılan bir niceliktir; kritik değer ise, yeterli kanıt olup olmadığını belirlemek için test istatistiğini örnekleme dağılımıyla karşılaştırmak için kullanılır. sıfır hipotezini reddet.

  • 00:40:00 Sıfır hipotezini reddetme kavramı, istatistiksel olarak anlamlı bir fark olmadığını belirten sıfır hipotezi ile açıklığa kavuşturulur. İstatistiksel bir testin sonucu sıfır hipotezini reddederse, bu bir şeyin istatistiksel olarak anlamlı olduğu anlamına gelir. Gözlemlerin gruplaşmasını veya yoğunluğunu tanımlayan ve genellikle normal dağılım olarak adlandırılan Gauss dağılımı da tartışılmaktadır. Dağılım, gözlemlerin bir örnek uzayla ilişkisini tanımlayan matematiksel bir fonksiyondur. Olasılık yoğunluk fonksiyonları ve kümülatif yoğunluk fonksiyonları dahil olmak üzere yoğunluk fonksiyonları, bir dağılımdaki gözlemlerin olasılığını tanımlamak için kullanılır. Son olarak, bir veri örneğinin rastgele olup olmadığını kontrol etmenin önemi vurgulanmakta ve normal dağılıma sahip örneklerin özellikleri verilmektedir.

  • 00:45:00 Konuşmacı normal (Gauss) dağılımı, olasılık dağılım fonksiyonu (pdf) ve kümülatif dağılım fonksiyonu (cdf) dahil olmak üzere özelliklerini ve standart sapmalarla ilişkili 68, 95 ve 99.7 kuralını tartıştı. Konuşmacı ayrıca normal dağılıma benzeyen ancak küçük örneklemler için kullanılan t-dağılımı da tanıttı. Daha sonra, makale ki-kare dağılımını, uyum iyiliği için kullanımını ve t-dağılımı ile ilişkisini tanıttı. Son olarak, konuşmacı bir ki-kare dağılımı için istatistikleri hesaplamak için Scipy'deki istatistik ki 2 modülünün kullanımını gösterdi.

  • 00:50:00 İstatistiksel hipotez testinde kritik değer kavramı açıklanır. Kritik değer, sıfır hipotezinin kabul edilip edilmediğini belirlemek için kullanılan bir eşiktir. Normal veya Gauss dağılımı varsayar ve bir kabul bölgesine ve bir ret bölgesine sahiptir. Bu bölgeleri ayıran çizgi kritik değerdir. Tek kuyruklu testler, ortalamanın başka bir ortalamadan daha büyük veya daha küçük olup olmadığını belirlerken, iki kuyruklu testler iki aracın birbirinden farklı olup olmadığını belirler. Kritik değer, tahmini istatistiklerin veya güven ve tolerans aralıkları gibi aralıkların belirsizliğinin ölçülmesine izin verir.

  • 00:55:00 Bir ürünün hem olumlu hem de olumsuz etkilerini hesaba katan iki uçlu testlerin kullanımı tartışılıyor. Verilen örnek, jenerik bir ilacın, bir markalı ürüne karşı olduğu örnektir; burada iki kuyruklu bir test, jenerik ürünün eşdeğer veya markalı üründen daha kötü olup olmadığını belirleyebilir. Yüzde nokta fonksiyonlarının veya niceliksel fonksiyonların kullanımı da yaygın olarak kullanılan üç dağılım kullanılarak örneklerle açıklanır ve gösterilir: standart Gauss dağılımı, standart Student t dağılımı ve standart ki-kare dağılımı. Son olarak, korelasyon kavramı ve bunun iki değişken arasındaki ilişkiyi belirlemedeki önemi, olası çoklu bağlantı sorunu ve bunun algoritma performansını nasıl etkileyebileceği tartışılmaktadır.

  • 01:00:00 Video, her bir değişkenin bir Gauss dağılımından çizildiği ve doğrusal olarak ilişkili olduğu uydurma bir veri kümesi kullanan iki değişken arasındaki güçlü pozitif korelasyonu gösteren hızlı bir demo gösteriyor. Demo, kovaryans matrisini hesaplar ve yazdırarak iki değişken arasında aynı yönde değiştiklerini gösteren pozitif bir kovaryans gösterir. Bununla birlikte, tek başına istatistiksel bir araç olarak kovaryansla ilgili bir sorun, Pearson korelasyon katsayısına yol açan yorumlamanın zor olmasıdır. Video, Pearson'un r korelasyon katsayısının, iki değişkenin kovaryansını her örneğin standart sapmasının ürününe bölerek hesaplayarak iki veri örneği arasındaki doğrusal ilişkinin gücünü nasıl özetleyebileceğini ve korelasyon katsayısının değerlendirmek için kullanılabileceğini açıklıyor. ikiden fazla değişken arasındaki ilişki.

  • 01:05:00 Video, verilerin aynı ortalama ve standart sapmaya sahip bir Gauss dağılımından alındığını varsayan parametrik istatistiksel anlamlılık testlerinin kullanımını tartışıyor. Bir test veri seti tanımlanır ve bağımsız ve eşleştirilmiş örnekler için Student t-testinin yanı sıra varyans testinin analizini göstermek için kullanılır. Video, uygun Scipy işlevleri kullanılarak bu testlerin Python'da nasıl uygulanabileceğini gösterir. Örnekler, farklı veri örneklerinin aynı dağılıma sahip olup olmadığını belirlemek için bu testlerin nasıl kullanılabileceğini göstermektedir.

  • 01:10:00 İstatistikte etki büyüklüğü kavramı, istatistiksel hipotez testlerinden elde edilen sonuçları tamamlayabilen, gruplar arasındaki farklılıkların veya değişkenler arasındaki ilişkilerin büyüklüğünü ölçmenin bir yolu olarak tartışılır. Etki büyüklüğü yöntemleri ilişkilendirme ve fark olarak ayrılır ve yorumlamanın amacına ve kullanılan istatistiksel ölçüme bağlı olarak standartlaştırılabilir, orijinal birim veya birimden bağımsız olabilir. Pearson korelasyon katsayısı, birimden bağımsız olan ve Python'un pearsonr() işlevi kullanılarak hesaplanabilen doğrusal ilişkileri belirlemek için yaygın olarak kullanılan standartlaştırılmış bir ölçüdür. Etki büyüklüğü, örneklem büyüklüğü, anlamlılık ve güç seviyesinden etkilenen istatistiksel güç de deneysel tasarımda çok önemli bir faktör olarak açıklanır ve bir deney için gereken minimum örneklem büyüklüğünü belirlemek için güç analizi yoluyla tahmin edilebilir.

  • 01:15:00 Video, tahmine dayalı modellemede veri örneklemenin ve verileri yeniden örneklemenin önemini tartışıyor ve örneklemenin bir popülasyonun bir alt kümesini seçmeyi içerdiğini, yeniden örneklemenin ise doğruluğu artırmak ve belirsizliği ölçmek için bir veri örneğinden popülasyon parametrelerini birden çok kez tahmin etmeyi içerdiğini açıklıyor. Video, olasılık örneklemesi veya olasılık dışı örnekleme olarak kategorize edilen yaygın örnekleme yöntemlerini açıklıyor ve makine öğrenimi mühendislerinin karşılaşabileceği üç tür örneklemeyi vurguluyor: basit rasgele örnekleme, sistemik örnekleme ve katmanlı örnekleme. Ayrıca video, örnekleme sürecinde ortaya çıkabilecek potansiyel hatalar konusunda uyarıda bulunuyor ve bir popülasyon hakkında sonuçlar çıkarırken istatistiksel çıkarım ve özen gösterilmesi gerektiğini vurguluyor. Video, makine öğreniminde yaygın olarak kullanılan örnekleme yöntemlerini, yani k-katlı çapraz doğrulama ve önyüklemeyi açıklamaya devam ediyor; ikincisi hesaplama açısından pahalı olsa da nüfusa ilişkin sağlam tahminler sağlıyor.

  • 01:20:00 Bootstrap yöntemi, çok sayıda küçük veri örneğinden tahminlerin ortalamasını alarak bir popülasyon hakkındaki miktarları tahmin etmeye yönelik bir araç olarak ele alınır. Örnekler, büyük veri kümelerinden birer birer gözlemler çizilerek ve seçildikten sonra orijinal örneğe geri döndürülerek oluşturulur. Bu yaklaşıma değiştirmeli örnekleme denir. SciPy kitaplığında sağlanan yeniden örnekleme işlevi, tek bir önyükleme örneği oluşturmak için kullanılabilir ve uygun modelleri değerlendirmek için kullanılabilecek çanta dışı gözlemleri kolayca toplayacak herhangi bir mekanizma içermemesine rağmen, Torba gözlemleri yine de Python liste kavrayışı kullanılarak toplanabilir. Ek olarak, sınırlı veriler üzerinde makine öğrenimi modellerini değerlendirmek için kullanılan bir yeniden örnekleme prosedürü olduğu için k-katlı çapraz doğrulama süreci açıklanmaktadır. Bu prosedür için K-katlama döngüsü öğrenme sınıfı kullanılabilir ve k-katlamalı çapraz doğrulamanın yaygın olarak kullanılan dört varyasyonundan bahsedilir.

  • 01:25:00 Konuşmacı, makine öğreniminde yeniden örneklemeye yönelik iki yaklaşımı tartışıyor: k-katlı çapraz doğrulama ve tren testi ayrımı. K-katlı çapraz doğrulama altın standart olsa da, tren testi ayrımının anlaşılması ve uygulanması daha kolay olabilir. Konuşmacı, Python'da tren-test ayırma yaklaşımının nasıl kullanılacağını gösterir ve ayrıca bir bulgunun boyutunu ve belirsizliğini ölçmeyi amaçlayan ve araştırma literatüründe giderek daha popüler hale gelen tahmin istatistiklerinin kullanımından bahseder. Tahmin istatistiklerinin üç ana sınıfı, etki büyüklüğü, aralık tahmini ve meta-analizi içerir. Tahmin istatistiklerine geçiş, araştırma soruları bağlamında analiz edilmeleri ve yorumlanmaları daha kolay olduğu için gerçekleşiyor.

  • 01:30:00 Etki büyüklüğünü ve aralık tahminini ölçmek için farklı yöntemler tartışılır. Etki büyüklüğü, örneklerin birlikte değişme derecesi olan ilişkilendirme veya örneklerin farklılık derecesi olan fark aracılığıyla ölçülebilir. Bu arada, aralık tahmini, gözlemlerdeki belirsizliğin ölçülmesine izin verir ve tolerans aralıkları, güven aralıkları veya tahmin aralıkları aracılığıyla yapılabilir. Tolerans aralıkları, süreç çıktısının belirli bir yüzdesinin içine düştüğü üst ve alt sınırları belirtirken, güven aralıkları bir popülasyon parametresinin tahminleri için sınırlar sağlar. Son olarak, bir Gauss dağılımından alınan bir gözlem örneği için tolerans aralıklarının nasıl hesaplanacağına dair bir gösterim verilmiştir.

  • 01:35:00 Bir tahmindeki belirsizliği ölçmek için kullanılan aralık istatistiği olan güven aralığı kavramı tartışılır. Güven aralığı, ortalama, standart sapma veya benzeri gibi bir popülasyon parametresine sınırlar sağlar. Bir güven aralığının değeri, bir tahminin belirsizliğini ölçme yeteneğidir. Daha küçük bir güven aralığı daha kesin bir tahmin anlamına gelirken, daha büyük bir güven aralığı daha az kesin bir tahmindir. Ayrıca, model tarafından yapılan doğru veya yanlış tahminlerin oranını tanımlamak için kullanılan bir orantı veya oran olan sınıflandırma doğruluğu veya hatası kavramı tartışılmaktadır. Sınıflandırma hatası veya doğruluğu, oranın Gauss dağılımını varsayarak güven aralığını kolayca hesaplamak için kullanılabilir.

  • 01:40:00 Güven aralıkları kavramı, bir modelin sınıflandırma hatası için bir güven aralığının hesaplanmasından, güven aralıklarını tahmin etmek için parametrik olmayan bir yöntem olarak önyükleme yeniden örneklemesinin kullanılmasına kadar açıklanır. Önyükleme yeniden örnekleme yöntemi, popülasyon parametrelerini tahmin etmek için sabit bir sonlu veri kümesinden değiştirilerek numunelerin çizilmesini içerir. Ek olarak, tahmin aralıkları kavramı, gelecekteki gözlemlerin belirli bir güven düzeyi ile düşeceği aralığın bir tahmini olarak tanıtılır, bu da regresyon modelleriyle tahmin veya tahmin yapmada yararlıdır.

  • 01:45:00 Tahmin aralıkları kavramı, önceden gözlemlenen veriler veri alındığında, gelecekteki bir gözlemin belirli bir güven düzeyiyle düşeceği aralığın tahmini olarak açıklanır. Bir popülasyon örneklem değişkeniyle ilgili belirsizliği ölçen bir güven aralığından farklıdır. Tahmin aralıkları tipik olarak tahmin veya tahmin modellerinde kullanılır. Makale, değişkenler arasındaki ilişkinin bir dağılım grafiğinden görülebildiği iki değişkenli bir veri kümesinde basit bir doğrusal regresyon örneği sunmaktadır. Doğrusal regresyon modeli daha sonra, %95 kesinlik tahmin aralığıyla ve bilinen beklenen değerle karşılaştırılarak tek bir tahmin yapmak için kullanılır. Tahmin aralıkları ile güven aralıkları arasındaki farkın yanı sıra, hatayla ilişkili belirsizliğin hesaba katılması nedeniyle tahmin aralıklarının genellikle güven aralıklarından daha geniş olduğu gerçeği vurgulanır.
Applied Statistics for Machine Learning Engineers
Applied Statistics for Machine Learning Engineers
  • 2022.03.24
  • www.youtube.com
Complete Course on Applied Statistics for Machine Learning Engineers. It's all the statistics you'll need to know for a career in machine learning.
 

Makine Öğrenimi Mühendisleri için Uygulamalı Doğrusal Cebir



Makine Öğrenimi Mühendisleri için Uygulamalı Doğrusal Cebir

Video, makine öğrenimi mühendisleri için doğrusal cebiri öğrenmenin önemini vurguluyor çünkü makine öğreniminde gerekli olan matematik ve istatistiği anlamak için temel bir yapı taşı görevi görüyor. Doğrusal cebir hakkında daha derin bir anlayışa sahip olmak, uygulayıcılara makine öğrenimi yöntemlerinin nasıl çalıştığına dair daha iyi bir sezgi sağlayarak, algoritmaları özelleştirmelerine ve yenilerini geliştirmelerine olanak tanır.

Ders, matrisler ve vektörler üzerindeki işlemleri göstermek için somut örnekler ve veri yapıları kullanarak doğrusal cebirin temellerini öğretmek için yukarıdan aşağıya bir yaklaşım benimser. Doğrusal cebir, matrislerin ve vektörlerin matematiği olarak tanımlanır, veri işleme için bir dil sağlar ve bu veri yapıları üzerindeki işlemler yoluyla yeni sütunların veya sayı dizilerinin oluşturulmasına izin verir. Başlangıçta 1800'lerin sonlarında doğrusal denklem sistemlerini çözmek için geliştirilen doğrusal cebir, makine öğrenimini anlamak için temel bir ön koşul haline geldi.

Konuşmacı, lineer cebirin bilgisayarlarda uygulanmasını içeren sayısal lineer cebir kavramını tanıtır. Bu, doğrusal cebir işlemlerinin uygulanmasını ve dijital bilgisayarlarda sınırlı kayan nokta hassasiyetiyle çalışırken ortaya çıkan zorlukların ele alınmasını içerir. Sayısal doğrusal cebir, makine öğreniminde, özellikle doğrusal cebir hesaplamalarını verimli bir şekilde gerçekleştirmek için ağırlıklı olarak grafik işlem birimlerine (GPU'lar) dayanan derin öğrenme algoritmalarında çok önemli bir rol oynar. Temelleri Fortran tabanlı kitaplıklar olan çeşitli açık kaynaklı sayısal doğrusal cebir kitaplıkları, genellikle Python gibi programlama dilleriyle bağlantılı olarak doğrusal cebir işlemlerini hesaplamak için yaygın olarak kullanılır.

Doğrusal cebirin istatistikteki önemi, özellikle çok değişkenli istatistiksel analizde, temel bileşen analizinde ve doğrusal regresyon problemlerini çözmede vurgulanır. Video ayrıca, Albert Einstein'ın tensörleri kullanan görelilik teorisi ve bir tür lineer cebir olan tensör hesabı gibi örneklerle, sinyal işleme, bilgisayar grafikleri ve hatta fizik gibi alanlarda lineer cebirin geniş uygulama yelpazesinden bahsediyor.

Video, lineer cebirin makine öğrenimi görevlerindeki pratik uygulamasını daha ayrıntılı olarak araştırıyor. Görüntüleri manipüle etmek için kırpma, ölçekleme ve yamultma gibi doğrusal cebir işlemlerini kullanma kavramını tanıtır ve bu bağlamda doğrusal cebirin notasyonu ve işlemlerinin nasıl kullanılabileceğini gösterir. Ayrıca video, kategorik değişkenler için one-hot kodlama adı verilen popüler kodlama tekniğini açıklıyor. Makine öğreniminde kullanılan ana veri yapısı, N-boyutlu diziler veya ND diziler, Python'daki NumPy kitaplığının bu dizileri oluşturmak ve işlemek için güçlü bir araç olarak ele alınmasıyla tanıtıldı. Video, mevcut dizilerden yeni dizilerin oluşturulmasını sağlayan v-stack ve yatay yığınlama gibi önemli işlevleri kapsar.

Makine öğrenimi verilerini temsil etmek için yaygın olarak kullanılan NumPy dizilerindeki verilerin işlenmesi ve bunlara erişilmesi açıklanmaktadır. Video, dizi işlevini kullanarak tek boyutlu listelerin dizilere nasıl dönüştürüleceğini ve liste listelerini kullanarak iki boyutlu veri dizilerinin nasıl oluşturulacağını gösterir. Ayrıca, dilimleme ve negatif indeksleme için kolon operatörünün kullanımı da dahil olmak üzere NumPy dizilerindeki indeksleme ve dilimleme işlemlerini kapsar. Makine öğreniminde girdi ve çıktı değişkenlerini belirlemede dilimlemenin önemi vurgulanmıştır.

Videoda, makine öğreniminde çok boyutlu veri kümeleriyle çalışma teknikleri ele alınmaktadır. Tek boyutlu dilimleme ile başlar ve eğitim ve test için verileri girdi ve çıktı değerlerine ayırmanın yanı sıra iki boyutlu dilimlemeye doğru ilerler. Bir veya daha fazla zaman adımından ve özellikten birden çok örnek gerektiren algoritmalar için tek boyutlu dizilerin tek sütunlu iki boyutlu dizilere nasıl yeniden şekillendirileceği ve iki boyutlu verilerin üç boyutlu dizilere nasıl dönüştürüleceği açıklanarak dizinin yeniden şekillendirilmesi ele alınmaktadır. Farklı boyutlardaki dizilerin aritmetik işlemlerde kullanılmasına olanak sağlayan ve farklı boyutlardaki veri setlerinin etkin bir şekilde işlenmesini sağlayan dizi yayını kavramı tanıtıldı.

Video ayrıca NumPy'deki dizi aritmetiğinin sınırlamalarına, özellikle de aritmetik işlemlerin yalnızca aynı boyutlara ve aynı boyuta sahip boyutlara sahip dizilerde gerçekleştirilebileceğine değiniyor. Bununla birlikte, bu sınırlama, NumPy'nin, daha küçük diziyi son eşleşmeyen boyut boyunca kopyalayan ve farklı şekil ve boyutlardaki diziler arasında aritmetik sağlayan yerleşik yayın özelliği ile aşılır. Video, skaler ve tek boyutlu diziler, iki boyutlu dizide skaler ve iki boyutlu dizide tek boyutlu dizi dahil olmak üzere üç yayın örneği sağlar. Yayının, aritmetiğin ancak dizilerdeki her bir boyutun şekli eşit olduğunda veya bunlardan birinin boyut boyutu bir olduğunda yapılabileceğini belirten katı bir kural izlediğine dikkat çekiliyor.

Konuşmacı devam ederken, skaler adı verilen bir veya daha fazla değerin demetleri olan vektörler kavramını tanıtıyor. Vektörler genellikle "v" gibi küçük harfler kullanılarak temsil edilir ve "n"nin boyutların sayısını temsil ettiği n boyutlu bir uzayda noktalar veya koordinatlar olarak görülebilir. Python'da NumPy dizileri olarak vektörlerin oluşturulması anlatılmaktadır. Video aynı zamanda, eşit uzunluktaki vektörler için eleman bazında gerçekleştirilen ve aynı uzunlukta yeni bir vektörle sonuçlanan vektör toplama ve çıkarma gibi vektör aritmetik işlemlerini de kapsar. Ayrıca konuşmacı, vektörlerin büyüklüklerini ölçeklendirmek için skalerlerle nasıl çarpılabileceğini açıklıyor ve bu işlemlerin Python'da NumPy dizilerini kullanarak nasıl gerçekleştirileceğini gösteriyor. Bir skaler veren ve bir vektörün ağırlıklı toplamını hesaplamak için kullanılabilen iki vektörün iç çarpımı da tartışılmaktadır.

Daha sonra odak, vektör normlarına ve bunların makine öğrenimindeki önemine kayar. Vektör normları, bir vektörün boyutunu veya uzunluğunu ifade eder ve vektörün vektör uzayının orijinine olan mesafesini özetleyen bir ölçü kullanılarak hesaplanır. Tümü sıfır değerleri olan bir vektör dışında, vektör normlarının her zaman pozitif olduğu vurgulanır. Video, makine öğreniminde kullanılan dört yaygın vektör normu hesaplamasını tanıtıyor. L1 normu vektörü ile başlar, ardından L2 normu (Öklid normu) ve maksimum norm gelir. Bu bölüm ayrıca matrisleri tanımlar ve bunların Python'da nasıl değiştirileceğini açıklar. Matris-matris çarpımı (nokta çarpımı), matris-vektör çarpımı ve skaler çarpımı içeren matris aritmetiği tartışılır. Bir matris, tipik olarak "A" gibi büyük harflerle temsil edilen, bir veya daha fazla sütun ve bir veya daha fazla satır içeren iki boyutlu bir skaler dizisi olarak tanımlanır.

Ardından, makine öğrenimi için matris işlemleri kavramı tanıtılır. Buna matris çarpımı, matris bölümü ve matris skaler çarpımı dahildir. Matris nokta çarpımı olarak da bilinen matris çarpımı, birinci matristeki sütun sayısının ikinci matristeki satır sayısına eşit olmasını gerektirir. Video, NumPy'deki nokta işlevinin bu işlemi gerçekleştirmek için kullanılabileceğinden bahsediyor. Orijinal matrisin satır ve sütun sayısını ters çevirerek yeni bir matrisin oluşturulduğu matris devrik kavramı da açıklanmaktadır. Son olarak, orijinal matrisle çarpıldığında bir birim matrisle sonuçlanan başka bir matrisin bulunmasını içeren matris ters çevirme işlemi tartışılmaktadır.

Matris ters çevirme tartışmasından devam eden video, bu kavramı daha da araştırıyor. Bir matrisin ters çevrilmesi, matrisin yanında negatif 1 üst simgesi ile gösterilir. Video, matris ters çevirmenin verimli sayısal yöntemler bulmayı içerdiğini açıklıyor. Köşegen elemanların toplamını hesaplayan ve NumPy'deki izleme işlevi kullanılarak hesaplanabilen bir kare matrisin izleme işlemi tanıtılır. Bir kare matrisin determinantı, matrisin hacminin skaler gösterimi olarak tanımlanır ve NumPy'deki det işlevi kullanılarak da hesaplanabilir. Matristeki doğrusal olarak bağımsız satırların veya sütunların sayısını tahmin eden ve genellikle tekil değer ayrışımı kullanılarak hesaplanan bir matrisin sıralamasından kısaca bahsedilir. Son olarak, seyrek matris kavramı açıklanır ve ağırlıklı olarak sıfır değerleri içerdikleri ve temsil edilmesi ve üzerinde çalışılması hesaplama açısından pahalı olabilir.

Video daha sonra, birincil olarak sıfır değerlerinden oluşan ve çoğunlukla sıfır olmayan değerlere sahip yoğun matrislerden farklı olan seyrek matrisleri derinlemesine inceler. Seyreklik, matristeki toplam öğe sayısına bölünen sıfır değerlerinin sayısı olan seyreklik puanı hesaplanarak ölçülür. Video, seyreklikle ilişkili iki ana sorunu vurgulamaktadır: uzay karmaşıklığı ve zaman karmaşıklığı. Seyrek matrisleri temsil etmenin ve bunlarla çalışmanın hesaplama açısından pahalı olabileceğine dikkat edilmelidir.

Bu zorlukların üstesinden gelmek için video, Scipy'nin seyrek matrisler oluşturmak ve değiştirmek için araçlar sağladığından bahseder. Ek olarak, NumPy ve Scipy'deki birçok lineer cebir işlevinin seyrek matrisler üzerinde çalışabileceğini ve seyrek veriler üzerinde verimli hesaplamalar ve işlemler sağlayabileceğini vurgular.

Seyrek matrisler, veri gözlemleri ve veri hazırlama için uygulamalı makine öğreniminde yaygın olarak kullanılır. Seyreklikleri, önemli sayıda sıfır değeri olan büyük veri kümelerinin daha verimli depolanmasına ve işlenmesine olanak tanır. Seyrek yapıdan yararlanan makine öğrenimi algoritmaları, azaltılmış bellek kullanımından ve daha hızlı hesaplamalardan yararlanabilir.

Devam edecek olursak, video doğrusal cebirde yaygın olarak kullanılan farklı matris türlerini, özellikle de makine öğrenimiyle ilgili olanları tartışıyor. Satır sayısının sütun sayısına eşit olduğu kare matrisler tanıtılır. Farklı satır ve sütun sayılarına sahip olan dikdörtgen matrislerden de bahsedilmektedir. Video, aynı satır ve sütun indislerine sahip elemanlardan oluşan bir kare matrisin ana köşegenini açıklıyor. Satır veya sütun sayısı olarak tanımlanan bir kare matrisin sırası da ele alınır.

Ayrıca video, devriklerine eşit olan kare matrisler olan simetrik matrisleri tanıtır. Üst ve alt üçgen matrisler dahil olmak üzere üçgen matrisler açıklanır. Köşegen olmayan tüm elemanların sıfır olduğu köşegen matrisler de tartışılmaktadır. Ana diyagonalde birler ve başka yerlerde sıfırlar olan kare matrisler olan kimlik matrisleri, çarpımsal kimlikler olarak rolleri bağlamında açıklanır. İki vektörün iç çarpımı sıfıra eşit olduğunda oluşan ortogonal matrisler de tanıtılır.

Video ortogonal matrisler ve tensörleri tartışarak ilerliyor. Ortogonal matris, sütunların ve satırların ortogonal birim vektörler olduğu belirli bir kare matris türüdür. Bu matrisler, terslerini hesaplamak için hesaplama açısından verimli ve kararlıdır, bu da onları derin öğrenme modelleri dahil olmak üzere çeşitli uygulamalarda kullanışlı kılar. Video ayrıca, TensorFlow'da tensörlerin temel bir veri yapısı ve vektörler ile matrislerin bir genellemesi olduğundan bahseder. Tensörler çok boyutlu diziler olarak temsil edilir ve Python'da matrislere benzer şekilde n boyutlu diziler kullanılarak manipüle edilebilir. Video, toplama ve çıkarma gibi öğe bazında tensör işlemlerinin tensörler, matrisler ve vektörler üzerinde gerçekleştirilebileceğini vurgulayarak daha yüksek boyutlar için bir sezgi sağlar.

Ardından video, bir matrisi bileşenlerine ayırma yöntemi olan matris ayrıştırmasını tanıtıyor. Matris ayrışımı, karmaşık matris işlemlerini basitleştirir ve verimli hesaplamalar sağlar. Yaygın olarak kullanılan iki matris ayrıştırma tekniği ele alınmaktadır: kare matrisler için LU (Alt-Üst) ayrıştırma ve dikdörtgen matrisler için QR (QR-faktoring) ayrıştırma.

LU ayrışımı, lineer regresyon problemleri bağlamında lineer denklemleri basitleştirebilir ve bir matrisin determinantı ve tersi gibi hesaplamaları kolaylaştırabilir. QR ayrışımı, lineer denklem sistemlerini çözmede uygulamalara sahiptir. Her iki ayrıştırma yöntemi de Python'daki NumPy paketindeki yerleşik işlevler kullanılarak uygulanabilir ve çeşitli doğrusal cebir problemleri için verimli ve güvenilir çözümler sunar.

Ek olarak video, özellikle simetrik ve pozitif tanımlı matrisler için kullanılan Cholesky ayrıştırmasını tartışıyor. Cholesky ayrışımı, daha düşük bir üçgen matris ile temsil edilir ve simetrik matrisleri ayrıştırmak için LU ayrışımından neredeyse iki kat daha verimli kabul edilir.

Video, karmaşık işlemleri basitleştirmek için Eigen ayrışımı da dahil olmak üzere matris ayrıştırma yöntemlerinin kullanıldığından kısaca bahseder. Öz ayrıştırma, bir matrisi özvektörlerine ve özdeğerlerine ayrıştırır. Özvektörler yönleri temsil eden katsayılardır, özdeğerler ise skalerdir. Hem özvektörler hem de özdeğerler, boyut azaltma ve karmaşık matris işlemleri gerçekleştirme gibi pratik uygulamalara sahiptir.

Son olarak video, tekil değer ayrıştırma (SVD) kavramına ve bunun makine öğrenimindeki uygulamalarına değiniyor. SVD, makine öğreniminde çeşitli matris işlemlerinde ve veri azaltma yöntemlerinde kullanılır. En küçük kareler doğrusal regresyon, görüntü sıkıştırma ve gürültü giderme verileri gibi hesaplamalarda çok önemli bir rol oynar.

Video, SVD'nin bir matrisin üç ayrı matrise ayrıştırılmasına izin verdiğini açıklıyor: U, Σ ve V. U matrisi sol tekil vektörleri içerir, Σ tekil değerleri içeren köşegen bir matristir ve V sağ tekil vektörleri içerir. Orijinal matrisi bu bileşenlerden yeniden yapılandırarak, boyutsallığını azaltırken orijinal verilere bir yaklaşım elde edilebilir.

SVD'nin ana uygulamalarından biri boyut indirgemedir. En önemli tekil değerlerin bir alt kümesini ve bunlara karşılık gelen tekil vektörleri seçerek, önemli bilgileri kaybetmeden verileri daha düşük boyutlu bir alanda temsil etmek mümkündür. Bu teknik, daha verimli depolama ve hesaplamaya izin verdiği için, verilerin yüksek boyutluluğa sahip olduğu durumlarda özellikle yararlıdır.

Video, SVD'nin gizli anlamsal analiz (LSA) veya gizli anlamsal indeksleme (LSI) adı verilen bir teknik kullanılarak doğal dil işlemede başarıyla uygulandığını vurgular. LSA, metin belgelerini matrisler olarak temsil ederek ve SVD gerçekleştirerek, belgelerin altında yatan semantik yapıyı yakalayabilir ve belge benzerliği ve konu modelleme gibi görevleri etkinleştirebilir.

Ayrıca video, bir matrisin boyutsallığını azaltma yeteneğini doğrudan uygulayan kesik SVD sınıfını tanıtır. Kesilmiş SVD ile, en önemli bilgileri korurken orijinal matrisi daha düşük boyutlu bir gösterime dönüştürmek mümkün hale gelir. Bu teknik, daha verimli işleme ve analize izin verdiği için özellikle büyük veri kümeleriyle uğraşırken faydalıdır.

Özet olarak video, makine öğrenimi için doğrusal cebir ile ilgili çeşitli konuları ele aldı. Makine öğrenimi bağlamında hesabı ve istatistiği anlamak için temel bir yapı taşı olarak doğrusal cebiri öğrenmenin önemini vurgulamıştır. Videoda, algoritmaların özelleştirilmesi ve geliştirilmesi, sayısal doğrusal cebir, istatistiksel analiz ve sinyal işleme ve bilgisayar grafikleri gibi çeşitli diğer alanlar gibi makine öğrenimindeki doğrusal cebir uygulamaları tartışıldı.

Ayrıca video, vektörler, matrisler, matris işlemleri, vektör normları, matris ayrıştırma teknikleri ve seyrek matrisler dahil olmak üzere doğrusal cebirdeki temel kavramları araştırdı. Bu kavramların makine öğreniminde nasıl kullanıldığı açıklanmış ve pratik uygulamalarına ilişkin bilgiler sağlanmıştır.

Lineer cebiri anlayan makine öğrenimi uygulayıcıları, makine öğrenimi algoritmalarının altında yatan matematiksel temeller hakkında daha derin bir sezgi elde edebilir ve bunları gerçek dünya problemlerine etkili bir şekilde uygulayabilir. Doğrusal cebir, verimli ve etkili makine öğrenimi çözümleri sağlayarak veri işleme, boyut azaltma ve optimizasyon için güçlü bir araç olarak hizmet eder.

  • 00:00:00 Makine öğrenimi mühendisleri için doğrusal cebiri öğrenmenin önemi vurgulanır, çünkü makine öğreniminde gerekli olan hesabı ve istatistiği anlamak için bir yapı taşı olarak kabul edilir. Doğrusal cebirin daha derin bir şekilde anlaşılması, makine öğrenimi uygulayıcılarına yöntemlerin nasıl çalıştığına dair daha iyi bir sezgi sağlayarak, algoritmaları özelleştirmelerine ve yenilerini tasarlamalarına olanak tanır. Doğrusal cebirin temelleri, bu derste, matrisler ve vektörler üzerindeki işlemleri göstermek için somut örnekler ve veri yapıları kullanılarak yukarıdan aşağıya bir yaklaşımla öğretilir. Doğrusal cebir, matrisler ve vektörlerin matematiğidir, veriler için bir dil sağlar ve bu veri yapıları üzerindeki işlemleri kullanarak yeni sütunların veya sayı dizilerinin oluşturulmasına izin verir. Lineer cebir, 1800'lerin sonunda bilinmeyen lineer denklem sistemlerini çözmek için geliştirildi ve şimdi makine öğrenimini anlamak için temel bir ön koşul.

  • 00:05:00 Konuşmacı, lineer cebirin bilgisayarlardaki uygulaması olan sayısal lineer cebiri tartışır. Bu, doğrusal cebir işlemlerinin uygulanmasının yanı sıra dijital bilgisayarlarda sınırlı kayan nokta hassasiyetiyle çalışırken ortaya çıkan olası sorunların ele alınmasını içerir. Sayısal doğrusal cebir, makine öğreniminde önemli bir araçtır çünkü birçok derin öğrenme algoritması, grafik işlem birimlerinin doğrusal cebir işlemlerini hızlı bir şekilde hesaplama yeteneğine dayanır. Python gibi programlama dillerini kullanan en modern uygulamalar için temel sağlayan Fortran tabanlı doğrusal cebir kitaplıkları ile birlikte, doğrusal cebir işlemlerini hesaplamak için birkaç popüler açık kaynaklı sayısal doğrusal cebir kitaplığı kullanılır. Doğrusal cebir, istatistikte, özellikle çok değişkenli istatistiksel analizde, temel bileşen analizinde ve doğrusal regresyon problemlerini çözmede de önemlidir. Buna ek olarak, konuşmacı Albert Einstein'ın tensörleri ve bir tür lineer cebir olan tensör hesabını kullanan görelilik teorisi ile lineer cebirin sinyal işleme, bilgisayar grafikleri ve hatta fizik gibi alanlardaki çeşitli uygulamalarını tartışıyor.

  • 00:10:00 Görüntüler üzerinde kırpma, ölçekleme ve yamultma gibi doğrusal cebir işlemlerinin notasyon ve doğrusal cebir işlemleri kullanılarak kullanılması kavramı tanıtılır. Ayrıca kategorik değişkenler için popüler olan one hot encoding adı verilen kodlama tekniği anlatılmaktadır. Ayrıca, makine öğreniminde kullanılan ana veri yapısı, N-boyutlu diziler veya ND dizileri ve bunların Python'da NumPy kitaplığı kullanılarak nasıl oluşturulacağı ve işleneceği tartışılmaktadır. Son olarak, mevcut dizilerden yeni diziler oluşturmak için en popüler iki işlev olan v-stack ve yatay yığınlama açıklanmaktadır.

  • 00:15:00 Konuşmacı, genellikle makine öğrenimi verilerini temsil etmek için kullanılan numpy dizilerindeki verilere nasıl müdahale edileceğini ve verilere erişileceğini tartışıyor. Tek boyutlu liste, dizi işlevi kullanılarak bir diziye dönüştürülebilir ve bir liste listesi kullanılarak iki boyutlu bir veri dizisi oluşturulabilir. İndeksleme yoluyla verilere erişim, diğer programlama dillerine benzer, ancak numpy dizileri iki nokta üst üste operatörü kullanılarak da dilimlenebilir. Negatif indeksleme de mümkündür ve makine öğreniminde girdi ve çıktı değişkenlerini belirtmek için dilimleme kullanılabilir.

  • 00:20:00 Video, makine öğreniminde yaygın olarak kullanılan çok boyutlu veri kümeleriyle çalışma tekniklerini kapsar. Tek boyutlu dilimleme ile başlar ve iki boyutlu dilimlemeye ve eğitim ve test için verileri girdi ve çıktı değerlerine ayırmaya geçer. Video daha sonra, bir boyutlu dizilerin bir sütunlu iki boyutlu dizilere yeniden şekillendirilmesi ve bir veya daha fazla zaman adımından ve bir veya daha fazla özellikten birden fazla örnek bekleyen algoritmalar için iki boyutlu verilerin üç boyutlu bir diziye yeniden şekillendirilmesi dahil olmak üzere dizinin yeniden şekillendirilmesini kapsar. . Son olarak, video, farklı boyutlardaki dizilerin eklenmesine, çıkarılmasına veya aritmetikte kullanılmasına izin veren ve farklı boyutlardaki veri kümeleri için yararlı olan dizi yayınlamayı kapsar.

  • 00:25:00 Numpy'deki dizi aritmetiğinin sınırlamaları tartışılır, bu sınırlamalar yalnızca aynı boyutlara ve aynı boyuta sahip boyutlara sahip diziler üzerinde aritmetik gerçekleştirmeyi içerir. Ancak bu sınırlama, numpy'nin son uyumsuz boyut boyunca daha küçük diziyi kopyalayan yerleşik yayın özelliği ile aşılır. Bu yöntem, farklı şekil ve boyutlardaki diziler arasında aritmetik yapılmasına izin verir. Skaler ve tek boyutlu diziler, iki boyutlu dizide skaler ve iki boyutlu dizide tek boyutlu dizi dahil olmak üzere üç yayın örneği verilmiştir. Yayının gerçekleştirilmesi için yerine getirilmesi gereken katı kural da dahil olmak üzere, aritmetiğin yalnızca dizilerdeki her boyutun şeklinin eşit veya birinin boyut boyutuna sahip olabileceği şeklinde gerçekleştirilebileceğini belirten yayın sınırlamaları da not edilir.

  • 00:30:00 Konuşmacı, skaler adı verilen bir veya daha fazla değerin demetleri olan ve genellikle "v" gibi küçük harfli bir karakter kullanılarak temsil edilen vektör kavramını tanıtır. Vektörler, n'nin boyutların sayısı olduğu n boyutlu bir uzayda noktalar veya koordinatlar olarak düşünülebilir ve Python'da bir sayısal dizi olarak oluşturulabilir. Konuşmacı ayrıca, eşit uzunluktaki vektörler için aynı uzunlukta yeni bir vektörle sonuçlanan eleman bazında yapılan vektör toplama ve çıkarma gibi vektör aritmetik işlemlerini de tartışır. Ayrıca konuşmacı, vektörlerin büyüklüğünü ölçeklendirmek için bir skalerle çarpılabileceğini ve bu işlemlerin Python'da numpy dizileri kullanılarak nasıl gerçekleştirileceğini açıklıyor. Son olarak konuşmacı, bir skaler veren iki vektörün iç çarpımından ve bunun bir vektörün ağırlıklı toplamını hesaplamak için nasıl kullanılabileceğinden bahseder.

  • 00:35:00 Vektör normlarına ve bunların makine öğrenimindeki önemine odaklanılır. Vektör normları, vektör uzayının kaynağından vektörün uzaklığını özetleyen bir ölçü kullanılarak hesaplanan bir vektörün boyutuna veya uzunluğuna atıfta bulunur. Norm, tamamı sıfır değerleri olan bir vektör dışında her zaman pozitif bir sayıdır. Makine öğreniminde kullanılan dört yaygın vektör normu hesaplaması, vektör L1 normu ile başlayıp ardından L2 ve maksimum normları ile devam eder. Bu bölüm ayrıca matrisleri ve bunların Python'da nasıl değiştirileceğini tanımlayarak matris aritmetiği, matris-matris çarpımı (nokta çarpım), matris-vektör çarpımı ve skaler çarpımı tartışır. Bir matris, bir veya daha fazla sütunu ve bir veya daha fazla satırı olan iki boyutlu bir skaler dizisidir ve genellikle A gibi bir büyük harfle temsil edilir.

  • 00:40:00 Matris çarpımı, matris bölümü ve matris skaler çarpımı dahil makine öğrenimi için matris işlemleri kavramı tanıtılır. Matris nokta çarpımı olarak da bilinen matris çarpımı, birinci matristeki sütun sayısının ikinci matristeki satır sayısına eşit olmasını gerektirir. Bu işlemi gerçekleştirmek için numpy'deki nokta işlevi kullanılabilir. Orijinal matrisin satır ve sütun sayısını ters çevirerek yeni bir matrisin oluşturulduğu matris devrik kavramı da tanıtılır. Son olarak, bir özdeşlik matrisi ile sonuçlanan matrisle çarpacak başka bir matris bulan matris ters çevirme işlemi tartışılmaktadır.

  • 00:45:00 Matris ters çevirme kavramı ele alınır, burada bir matrisin ters çevrilmesi, matrisin yanında bir negatif 1 üst simgesi ile gösterilir. Matris ters çevirme işlemi, bir dizi verimli sayısal yöntem bulmayı içerir. Numpy'deki izleme işlevi kullanılarak hesaplanabilen bir kare matrisin izleme işlemi de tartışılmaktadır. Bir kare matrisin determinantı, bir matrisin hacminin skaler gösterimi olarak tanımlanır ve numpy'deki det işlevi kullanılarak da hesaplanabilir. Ek olarak, matristeki doğrusal olarak bağımsız satırların veya sütunların sayısını tahmin eden ve genellikle tekil değer ayrışımı kullanılarak hesaplanan bir matrisin sıralaması tanıtılır. Son olarak, çoğunlukla sıfır değerleri içeren ve temsil edilmesi ve üzerinde çalışılması hesaplama açısından pahalı olan seyrek matrisler kavramı açıklanır.

  • 00:50:00 Çoğunlukla sıfır değerlerden oluşan ve çoğunlukla sıfır olmayan değerlere sahip yoğun matrislerden farklı olan seyrek matrisleri öğreniyoruz. Seyreklik, matristeki toplam öğe sayısına bölünen sıfır değerlerinin sayısı olan puan hesaplanarak ölçülebilir. Seyreklikle ilgili iki büyük sorunu da öğreniyoruz: uzay karmaşıklığı ve zaman karmaşıklığı. Scipy, seyrek matrisler oluşturmak için araçlar sağlar ve birçok doğrusal cebir numpy ve scipy işlevi bunlar üzerinde çalışabilir. Seyrek matrisler, veri gözlemleri ve veri hazırlama için uygulamalı makine öğreniminde yaygın olarak kullanılır.

  • 00:55:00 Doğrusal cebirde yaygın olarak kullanılan, özellikle makine öğrenimiyle ilgili farklı matris türleri tartışılır. Dikdörtgen matrislerle birlikte satır sayısının sütun sayısına eşit olduğu kare matrisler tanıtılır. Bir kare matrisin ana köşegeni ve sırası da ele alınmaktadır. Ayrıca simetrik matrisler, üçgen matrisler (üst ve alt dahil), köşegen matrisler, birim matrisler ve ortogonal matrisler açıklanmaktadır. İki vektörün iç çarpımı sıfıra eşit olduğunda ortogonal bir matrisin oluştuğuna dikkat edilmelidir.

  • 01:00:00 Ortogonal matrisler ve tensörleri öğreniyoruz. Bir ortogonal matris, sütunları ve satırları ortogonal birim vektörler olan bir kare matris türüdür. Bu matrisler hesaplama açısından ucuzdur ve tersini hesaplamak için kararlıdır ve derin öğrenme modellerinde kullanılabilir. Tensorflow'ta tensörler, köşe taşı veri yapısı ve çok boyutlu diziler olarak temsil edilen vektörler ve matrislerin genelleştirilmesidir. Tensörler, Python'da matrislere benzer n-boyutlu diziler kullanılarak, toplama ve çıkarma gibi eleman bazında tensör işlemleriyle manipüle edilebilir. Ek olarak, tensör çarpım işlemleri, tensörler, matrisler ve vektörler üzerinde gerçekleştirilebilir ve daha yüksek boyutların sezgisine izin verir.

  • 01:05:00 Video, bir matrisi bileşen parçalarına indirgemek ve ayrıştırma matrisi üzerinde gerçekleştirilebilecek daha karmaşık matris işlemlerini basitleştirmek için bir yöntem olan matris ayrıştırmasını tanıtıyor. Önümüzdeki derslerde işlenecek olan yaygın olarak kullanılan iki matris ayrıştırma tekniği, kare matrisler için LU matris ayrıştırma ve dikdörtgen matrisler için QR matris ayrıştırmadır. LU ayrışımı, doğrusal regresyon probleminde doğrusal denklemleri basitleştirmek ve bir matrisin determinantını ve tersini hesaplamak için kullanılabilirken, QR ayrıştırmasının doğrusal denklem sistemlerini çözmede uygulamaları vardır. Her iki ayrıştırma da Python'daki NumPy paketindeki yerleşik işlevler kullanılarak uygulanabilir.

  • 01:10:00 Video, simetrik ve pozitif tanımlı matrisler için kullanılan Cholesky ayrıştırmasını tartışıyor. Bu yöntem, LU ayrıştırmasına göre neredeyse iki kat daha etkilidir ve simetrik matrislerin ayrıştırılması için tercih edilir. Cholesky ayrışımı, NumPy'deki Cholosky işlevi aracılığıyla kolayca erişilebilen daha düşük bir üçgen matris ile temsil edilir. Video ayrıca, Eigendecomposition da dahil olmak üzere matris ayrıştırma yöntemlerinin karmaşık işlemleri basitleştirmek için kullanıldığından ve Eigen ayrıştırmasının bir matrisi özvektörlere ve özdeğerlere ayrıştırdığından bahseder. Son olarak video, özvektörlerin birim vektörler olduğunu, özdeğerlerin ise skaler olduğunu ve her ikisinin de boyutsallığı azaltmak ve karmaşık matris işlemlerini gerçekleştirmek için yararlı olduğunu not eder.

  • 01:15:00 Öz ayrıştırma kavramı ve etkili bir yinelemeli algoritma kullanılarak hesaplanması tartışılır. Öz ayrıştırma, bir kare matrisi sırasıyla katsayılar ve yönler olan özdeğerlerine ve özvektörlerine ayrıştırma yöntemidir. Özdekompozisyon, eig işlevi kullanılarak NumPy'de hesaplanabilir ve bir vektörün gerçekten bir matrisin özvektörü olduğunu doğrulamak için testler yapılabilir. Orijinal matris, özdeğerlerden ve özvektörlerden de yeniden oluşturulabilir. Bu bölüm ayrıca, sonraki belirli matris hesaplamalarını daha basit hale getirmek için matrisi bileşen parçalarına indirgemek için bir matris ayrıştırma yöntemi olarak tekil değer ayrıştırmasını (SVD) ve sıkıştırma, gürültü giderme ve veri indirgeme gibi çeşitli alanlardaki uygulamalarını kısaca tanıtmaktadır.

  • 01:20:00 Tekil değer ayrıştırma (SVD) kavramı ve makine öğrenimindeki uygulamaları tartışılır. SVD, diğer matris işlemlerinin hesaplanmasında ve makine öğrenimindeki en küçük kareler doğrusal regresyon, görüntü sıkıştırma ve gürültü giderme verileri gibi veri azaltma yöntemlerinde kullanılır. Orijinal matris, SVD'den döndürülen u, sigma ve v öğelerinden yeniden oluşturulabilir. SVD'nin popüler bir uygulaması, verilerin tahmin problemi ile en alakalı olan daha küçük bir özellik alt kümesine indirgenebildiği boyutsallık azaltma içindir. Bu, gizli semantik analiz veya gizli anlamsal indeksleme adı verilen bir teknik kullanılarak doğal dil işlemede başarılı bir şekilde uygulanmıştır. Bu yeteneği doğrudan uygulayan kesik SVD sınıfı tartışılır ve uygulaması, tanımlı bir matris ve ardından bir dönüştürme sürümü kullanılarak gösterilir.
Applied Linear Algebra for Machine Learning Engineers
Applied Linear Algebra for Machine Learning Engineers
  • 2022.03.26
  • www.youtube.com
This course will cover everything you need to know about linear algebra for your career as a machine learning engineer.
 

Makine Öğrenimi Mühendisleri için XGBoost'a Eksiksiz Bir Giriş


Makine Öğrenimi Mühendisleri için XGBoost'a Eksiksiz Bir Giriş

Videoda eğitmen, makine öğrenimi mühendisleri için XGBoost'a kapsamlı bir giriş sağlar. XGBoost'un, son derece doğru sınıflandırma ve regresyon modellerini hızlı bir şekilde oluşturma becerisiyle bilinen açık kaynaklı bir makine öğrenimi kitaplığı olduğunu açıklıyorlar. Özellikle yüksek düzeyde yapılandırılmış veri kümeleriyle uğraşırken, gerçek dünya modelleri oluşturmak için en iyi seçenek olarak popülerlik kazanmıştır. XGBoost, Taiki Chen tarafından yazılmıştır ve hızlı ve verimli model oluşturmaya olanak tanıyan gradyan artırma karar ağaçları tekniğine dayanmaktadır.

Eğitmen, XGBoost'un Python ve scikit-learn uygulamaları dahil olmak üzere birden çok arabirimi desteklediğini vurgular. Veri yüklemek ve model oluşturmak için çeşitli modülleri sergileyen XGBoost'un bir tanıtımını yapmaya devam ediyorlar.

Ardından video, bir XGBoost modelini eğitmek için veri kümesini hazırlamaya odaklanır. Eğitmen, verilerin eğitim ve test kümelerine ayrılmasının önemini vurgular. Hedef değişkeni bir ikili sınıflandırma problemi olarak tanımlarlar ve XGBoost modeli için gerekli hiperparametreleri ayarlama sürecini açıklarlar. Model, eğitim verileri üzerinde eğitildikten sonra, doğruluk puanını bir metrik olarak kullanarak test verileri üzerindeki doğruluğunu değerlendirir.

Eğitmen, XGBoost'un daha iyi anlaşılmasını sağlamak için gradyan artırma kavramını ve bunun geleneksel makine öğrenimi modellerinin daha geniş kategorisindeki rolünü derinlemesine araştırır. Degrade artırmanın, daha doğru bir model oluşturmak için zayıf bir modeli aynı türdeki diğer modellerle birleştiren bir teknik olduğunu açıklıyorlar. Bu süreçte, birbirini takip eden her ağaç, bir önceki ağacın tahmin artıkları için inşa edilir. Eğitmen, verilen koşullara dayalı olarak olası karar çözümlerinin grafiksel bir temsilini sağladıkları için karar ağaçlarının gradyan artırmada kullanıldığını vurgular. Ayrıca, bir karar ağacı tasarlamanın, potansiyel çözümleri etkili bir şekilde belirlemek için iyi belgelenmiş bir düşünce süreci gerektirdiğinden de bahsediyorlar.

Video, özyinelemeli ikili bölmeyi kullanarak ikili karar ağaçlarının oluşturulmasını daha da inceliyor. Bu süreç, tahmin edilen değerlerin gerçek değerlere yakınlığını ölçen bir maliyet fonksiyonunu en aza indirmek için tüm girdi değişkenlerinin ve ayrım noktalarının açgözlü bir şekilde değerlendirilmesini içerir. Eğitmen, en düşük maliyetli bölmenin seçildiğini ve ortaya çıkan grupların yinelemeli olarak alt bölümlere ayrılabileceğini açıklar. Her adımda en iyi kararı vermeye odaklandığı için kullanılan algoritmanın açgözlü olduğunu vurguluyorlar. Bununla birlikte, daha iyi anlaşılabilirlik sağlamak ve verilerin fazla uydurma riskini azaltmak için daha az bölmeli karar ağaçlarına sahip olunması tercih edilir. Eğitmen, XGBoost'un, her bir ağacın maksimum derinliğini sınırlamak ve alakasız dalları budamak gibi aşırı uyumu önlemek için mekanizmalar sağladığını vurgular. Ek olarak, etiket kodlamayı kapsar ve scikit-learn kullanarak iris veri setinin yüklenmesini gösterirler.

Devamında videoda hedef etiketin etiket kodlayıcı yöntemi kullanılarak sayısal bir değişken olarak kodlanması işlemi anlatılmaktadır. Verileri eğitim ve test veri kümelerine böldükten sonra eğitmen, XGBoost sınıflandırıcısını eğitim verileri üzerinde tanımlar ve eğitir. Ardından, test veri kümesi üzerinde tahminler yapmak için eğitilmiş modeli kullanırlar ve %90'lık bir doğruluk elde ederler. Topluluk öğrenimi kavramı, tahmin doğruluğunu iyileştirmek ve sonuçta öğrenme algoritmasının verimliliğini artırmak için birden çok modeli birleştirme yöntemi olarak tanıtıldı. Eğitmen, optimal sonuçlara ulaşmak için sınıflandırma veya regresyon problemlerinde doğru modeli seçmenin önemini vurgular.

Video, makine öğrenimi modellerinde yanlılık ve varyans kavramını derinlemesine inceliyor ve ikisi arasında bir dengeye duyulan ihtiyacı vurguluyor. Topluluk öğrenimi, daha karmaşık modeller oluşturmak için zayıf öğrenen gruplarını birleştirerek bu dengeyi sağlamaya yönelik bir teknik olarak sunulur. Torbalama ve artırma olmak üzere iki topluluk tekniği tanıtılır. Torbalama, karar ağaçlarını eğitmek için veri alt kümeleri oluşturarak ve yüksek varyans ve düşük yanlılığa sahip bir modeller topluluğu oluşturarak varyansı azaltmayı amaçlar. Boosting ise, önceki modeller tarafından yapılan hataların düzeltilmesine izin vererek, karar ağaçları ile sıralı öğrenme modellerini içerir. Eğitmen, gradyan artırmanın, regresyon ağaçları biçimindeki zayıf öğrenicileri kullanarak türevlenebilir bir kayıp fonksiyonunu optimize eden özel bir artırma türü olduğunun altını çizer.

Video, gradyan artırma kavramını üç adımlı sürecini özetleyerek ayrıntılı olarak açıklıyor. İlk adım, kaybı en aza indirmek için yinelemeli olarak zayıf öğrenicileri (örneğin, karar ağaçları) eklemeyi içerir. İkinci adım, ağaçların sıralı olarak eklenmesidir ve son adım, daha fazla yineleme yoluyla model hatasını azaltmaya odaklanır. Süreci göstermek için video, verileri bölümlere ayırmak için k-katlı çapraz doğrulama kullanımını gösterir. XGBoost aracılığıyla her kat için puanlar alınır. Eğitmen, zayıf öğrenenler olarak karar ağaçlarını seçer ve fazla uydurmayı önlemek için sığ bir derinlik sağlar. Son olarak, bir kayıp işlevi, makine öğrenimi modelinin verilere ne kadar iyi uyduğunun bir ölçüsü olarak tanımlanır.

Kayıp işlevini optimize etmeyi, zayıf öğrenicileri (genellikle karar ağaçlarını) kullanmayı ve çoklu zayıf öğrenicileri toplu öğrenme aracılığıyla eklemeli bir şekilde birleştirmeyi içeren gradyan artırmanın temel adımları açıklanmaktadır. Video ayrıca XGBoost'u kullanmanın eksik değerleri işleme, modelleri diske kaydetme ve erken durdurmayı kullanma gibi pratik yönlerini de kapsar. XGBoost'un çeşitli kullanım durumlarını göstermek için Python kodunun kullanıldığı gösterimler sağlanmıştır. Ek olarak, video, ortalama değer atfetme gibi eksik değerleri işlemeye yönelik teknikler de dahil olmak üzere veri temizlemenin önemini vurguluyor.

Konuşmacı, işi yapmak için yalnızca algoritmalara güvenmek yerine verileri düzgün bir şekilde temizlemenin önemini tartışıyor. Boş değerleri bırakmanın, model doğruluğunu nasıl iyileştirebileceğini ve boş değerleri işleyen algoritmalara karşı uyarıyı nasıl geliştirebileceğini gösterirler. Eğitilmiş modellerin daha sonra kullanılmak üzere diske kaydedilmesini içeren asitleme kavramı, Python'daki turşu kitaplığı kullanılarak tanıtıldı. Konuşmacı, modellerin nasıl kaydedileceğini ve yükleneceğini gösterir. Ayrıca, XGBoost ve matplotlib kitaplığındaki önem grafiğini çiz işlevini kullanarak bir veri kümesindeki her bir özelliğin öneminin nasıl çizileceğini gösterirler.

Konuşmacı, makine öğrenimi modelleri oluştururken farklı senaryoları analiz etmenin ve test etmenin önemini tartışıyor ve XGBoost'tan alınan özellik önem puanlarının, bir özelliğin modelin doğruluğu üzerindeki gerçek etkisini her zaman yansıtmayabileceğini vurguluyor. Özellik önem puanlarında alt sıralarda yer almalarına rağmen "cinsiyet" özelliğinin eklenmesinin model doğruluğunu nasıl iyileştirdiğini göstermek için Titanic veri kümesi örneğini kullanıyorlar. Konuşmacı, yalnızca özellik önem puanlarına güvenmenin değil, çeşitli senaryoları test etmenin önemini vurgular. Ayrıca, XGBoost'un eğitim sırasında bir test setinin performansını değerlendirip raporlayabileceğinden de bahsediyorlar.

Video, bir değerlendirme metriği belirleyerek ve bir x ve y çifti dizisi geçirerek eğitim sırasında bir XGBoost modelinin performansının nasıl izleneceğini açıklar. Modelin her değerlendirme setindeki performansı saklanır ve eğitimden sonra kullanıma sunulur. Video, modelin davranışı hakkında fikir veren ve öğrenmeyi erken durdurarak fazla uydurmayı önlemeye yardımcı olan öğrenme eğrilerini kapsar. Erken durdurma, doğrulama puanında herhangi bir gelişme gözlenmezse, sabit sayıda dönemden sonra eğitimi durdurmak için bir teknik olarak sunulur.

Video, XGBoost'ta erken durdurma turlarının kullanımını kapsıyor ve Boston'daki ev fiyatlarını değerlendirmek için bir regresyon modeli oluşturmayı gösteriyor. Tek tek ağaçların oluşturulmasına ve girdi verilerinin verimli bir şekilde hazırlanmasına odaklanılarak, gradyan artırmada paralelliğin faydaları tartışılmaktadır. Video, hesaplamaları aynı anda yürütmek için sistemin tüm çekirdeklerini kullanan ve daha hızlı program yürütülmesine neden olan çoklu kullanım desteğinin bir gösterimini sağlar. XGBoost öncelikle sınıflandırma problemlerine yönelik olsa da video, regresyon modelleri oluşturmada da mükemmel olma yeteneğini vurgulamaktadır.

Konuşmacı, bir örneğin yineleme sayısını tutmak için bir liste oluşturur ve iş parçacığı sayısına dayalı olarak modelin yürütme hızını test etmek için bir for döngüsü kullanır. Her yineleme için oluşturma hızını yazdırırlar ve iş parçacığı sayısı arttıkça modelin hızının nasıl azaldığını gösteren sonuçları çizerler. Konuşmacı daha sonra, performansını artırmak için bir modeldeki parametrelerin ayarlanmasını içeren hiperparametre ayarını tartışır. XGBoost ve scikit-learn için varsayılan parametreleri araştırıyorlar ve bir XGBoost modelinin performansını optimize etmek için hiperparametreleri ayarlamanın gerekli olduğundan bahsediyorlar. Video, hiperparametrelerin verilerden öğrenilmeyen, kullanıcı tarafından manuel olarak ayarlanan ayarlar olduğunu açıklar. Hiperparametrelerin ayarlanması, en yüksek model performansıyla sonuçlanan en iyi parametre değerleri kombinasyonunun sistematik olarak aranmasını içerir.

Video, hiperparametre ayarlaması gerçekleştirmek için iki yaygın yaklaşımı tanıtıyor: kılavuz arama ve rastgele arama. Izgara araması, bir hiperparametre değerleri ızgarası tanımlamayı ve her bir kombinasyonu kapsamlı bir şekilde değerlendirmeyi içerir. Öte yandan rastgele arama, hiperparametre kombinasyonlarını önceden tanımlanmış bir arama alanından rastgele örnekler. Video, arama alanı geniş olduğunda veya hiperparametre sayısı yüksek olduğunda rastgele aramanın kullanılmasını önerir.

Video, scikit-learn'den RandomizedSearchCV sınıfını kullanarak hiperparametre ayarlamasını gösterir. Öğrenme hızı, maksimum derinlik ve alt örnek oranı gibi hiperparametreler için farklı değerler içeren bir parametre ızgarası tanımlarlar. RandomizedSearchCV sınıfı, her parametre kombinasyonunun performansını değerlendirerek çapraz doğrulama ile rastgele arama gerçekleştirir. Ayarlamadan sonra en iyi hiperparametreler seçilir ve model bu optimal değerlerle eğitilir.

Konuşmacı, hiperparametre ayarının yetersiz ve fazla uyum arasındaki en iyi dengeyi bulmaya yardımcı olduğunu açıklıyor. Belirli veri kümesine ve eldeki soruna dayalı olarak hiperparametreleri dikkatli bir şekilde seçerek bir denge kurmak ve aşırı uydurmadan kaçınmak önemlidir.

Video, hiperparametre ayarına ek olarak, XGBoost modellerinde özelliğin önemini tartışıyor. Özelliğin önemi, hangi özelliklerin modelin tahminleri üzerinde en önemli etkiye sahip olduğuna dair içgörüler sağlar. Konuşmacı, özelliğin öneminin, bir özelliğin bir karar ağacında kullanıldığında getirdiği kayıp fonksiyonundaki iyileşmeyi ölçen ortalama kazanç tarafından belirlendiğini açıklıyor. Daha yüksek ortalama kazanç, daha yüksek önemi gösterir.

Video, XGBoost kitaplığı kullanılarak özellik öneminin nasıl çıkarılacağını ve görselleştirileceğini gösterir. En önemli özellikleri ve bunlara karşılık gelen önem puanlarını gösteren bir çubuk grafik çizerler. Konuşmacı, özelliğin öneminin, özellik seçiminde, boyutsallığı azaltmada ve altta yatan soruna ilişkin içgörü kazanmada yardımcı olabileceğini belirtiyor.

Videonun sonuna doğru konuşmacı, XGBoost ile ilgili diğer gelişmiş konulardan kısaca bahsediyor. Scale_pos_weight hiperparametresini ayarlayarak, XGBoost'un yerleşik yeteneğini kullanarak eksik değerlerle ilgilenerek ve kategorik değişkenleri one-hot kodlama yoluyla veya XGBoost'taki kategorik özellikler için yerleşik desteği kullanarak ele alarak dengesiz veri kümelerini ele almaya değinirler.

Video, XGBoost'un temel kavramlarını, uygulamasını, hiperparametre ayarlamasını ve özellik önem analizini kapsayan kapsamlı bir genel bakış sunar. Gösterimler ve kod örnekleri, Python'da XGBoost ile çalışmanın pratik yönlerini göstermeye yardımcı olur. Sınıflandırma ve regresyon görevleri için XGBoost'tan yararlanmak isteyen makine öğrenimi mühendisleri için değerli bir kaynak görevi görür.

  • 00:00:00 Eğitmen, makine öğrenimi mühendisleri için XGBoost'a bir giriş sağlar. XGBoost, son derece doğru sınıflandırma ve regresyon modellerini hızlı bir şekilde oluşturmak için kullanılan açık kaynaklı bir makine öğrenimi kitaplığıdır ve bu, onu yüksek düzeyde yapılandırılmış veri kümelerine karşı gerçek dünya modelleri oluşturmak için en iyi seçenek haline getirir. XGBoost'un yazarı Taiki Chen'dir ve hız ve performans için gradyan artırma karar ağaçlarının bir uygulamasıdır. Eğitmen ayrıca XGBoost'un Python ve scikit-learn uygulamaları gibi çeşitli arabirimleri desteklediğini vurgular ve veri yüklemek ve modeller oluşturmak için çeşitli modüller kullanan bir XGBoost demosu sağlar.

  • 00:05:00 Eğitmen, verileri eğitim ve test kümelerine ayırmaya odaklanarak, bir XGBoost modelinin eğitimi için veri kümesinin nasıl hazırlanacağını açıklar. Hedef değişken ikili sınıflandırma problemi olarak tanımlanır ve XGBoost modeli için gerekli hiperparametreler ayarlanır. Model, eğitim verileri üzerinde eğitilir ve modelin doğruluğu, bir metrik olarak doğruluk puanı kullanılarak test verileri üzerinde değerlendirilir. Eğitmen ayrıca, XGBoost'un arkasındaki kavram olan gradyan artırmaya genel bir bakış ve bunun geleneksel makine öğrenimi modellerinin daha geniş kategorisine nasıl uyduğu hakkında bilgi verir.

  • 00:10:00 Tahminlerin doğruluğunu artırmak için birden çok zayıf modeli birleştiren yinelemeli ikili bölme ve topluluk öğrenimi hakkında bilgi ediniyoruz. Gradyan artırma, daha doğru bir model üretmek için zayıf bir modeli aynı türdeki diğer modellerle birleştirerek tahmine dayalı modeller oluşturmaya yönelik bir tekniktir. Ardışık her ağaç, önceki ağacın tahmin artıkları için inşa edilir. Karar ağaçları, gradyan artırmada kullanılır ve belirli koşullara dayalı bir karara yönelik olası tüm çözümlerin grafiksel bir temsilini gerektirir. Bir karar ağacının tasarımı, daha fazla potansiyel çözüm belirleyebilmemiz için beyin fırtınası sürecini resmileştirmeye yardımcı olan iyi belgelenmiş bir düşünce süreci gerektirir.

  • 00:15:00 Video, ikili karar ağaçlarının nasıl oluşturulduğunu açıklıyor. Sürece özyinelemeli ikili bölme denir ve tahmin edilen değerlerin karşılık gelen gerçek değerlerine ne kadar yakın olduğunu ölçen bir maliyet fonksiyonunu en aza indirmek için tüm girdi değişkenlerini ve bölme noktalarını hırslı bir şekilde değerlendirmeyi içerir. En düşük maliyetli bölme seçilir ve ortaya çıkan gruplar yinelemeli olarak alt bölümlere ayrılabilir. Algoritma, her adımda en iyi kararı vermeye odaklanan açgözlü bir algoritmadır. Anlaşılması daha kolay olduğundan ve verileri fazla uydurma olasılığı daha düşük olduğundan, daha az bölmeli karar ağaçları tercih edilir. Fazla uydurmayı önlemek için XGBoost algoritması, her ağacın maksimum derinliğini sınırlamak ve alakasız dalları budamak gibi ağaçların büyümesini durduracak bir mekanizmaya izin verir. Video ayrıca scikit-learn kullanarak etiket kodlamayı ve iris veri setini yüklemeyi de kapsar.

  • 00:20:00 Video, etiket kodlayıcı yöntemi kullanılarak bir hedef etiketi sayısal bir değişken olarak kodlama sürecini kapsar. Veriler, eğitim ve test veri kümelerine bölündükten sonra, XGBoost sınıflandırıcısı tanımlanır ve eğitim verileri üzerinde eğitilir. Model daha sonra test veri seti üzerinde %90 doğrulukla tahminler yapmak için kullanılır. Topluluk öğrenimi daha sonra, tahminlerin doğruluğunu artırmak için birden çok modeli birleştirme yöntemi olarak tanıtılır ve daha verimli bir öğrenme algoritmasına olanak tanır. Video, en iyi sonuçları elde etmeye çalışırken sınıflandırma veya regresyon problemleri için doğru modeli seçmenin önemini vurgulamaktadır.

  • 00:25:00 Makine öğrenimi modellerinde yanlılık ve varyans kavramı tartışılıyor ve ikisi arasında bir denge olması gerektiği vurgulanıyor. Topluluk öğrenimi, daha karmaşık modeller oluşturmak için zayıf öğrenen gruplarını birleştirerek bu dengeyi ele almak için kullanılan bir teknik olarak tanıtıldı. Torbalama ve hızlandırma iki topluluk tekniğidir; torbalama, karar ağaçlarını eğitmek için birkaç veri alt kümesi oluşturarak varyansı azaltmak ve yüksek varyans ve düşük yanlılığa sahip bir modeller topluluğu oluşturmak için kullanılır. Destekleme, önceki modellerdeki hataların düzeltilmesine izin vererek, karar ağaçları ile sıralı olarak öğrenme modellerini içerir ve girdileri doğru bir şekilde sınıflandırmak için zayıf öğrenenler arasında ekip çalışması ile gerçekleştirilir. Gradient boost, türevlenebilir bir kayıp fonksiyonunu optimize etmeyi ve zayıf öğrenicileri regresyon ağaçları biçiminde kullanmayı içeren özel bir boost türüdür.

  • 00:30:00 Gradyan boost kavramı tanıtıldı ve üç aşamalı süreci açıklandı. İlk adım, kaybı en aza indirmek için yinelemeli bir süreçte karar ağaçları gibi zayıf öğrenicilerin eklenmesini içerir. İkinci adım, ağaçların sıralı olarak eklenmesidir, son adım ise daha fazla yineleme yoluyla model hatasını azaltmayı amaçlar. Gösteri, verileri bölümlere ayırmak için k-katlı çapraz doğrulamanın kullanımını içeriyordu ve XGBoost aracılığıyla her kat için puanlar alındı. Karar ağacı, aşırı uydurmayı önlemek için sığ bir derinliğe sahip, tercih edilen zayıf öğrenen olarak kullanıldı. Son olarak, bir kayıp işlevi, makine öğrenimi modelinin belirli bir fenomenin verilerine ne kadar iyi uyduğunun bir ölçüsü olarak tanımlandı.

  • 00:35:00 Kayıp işlevini optimize etmeyi, zayıf bir öğreniciyi (genellikle bir karar ağacı) kullanmayı ve birçok zayıf öğreniciyi toplu öğrenme yoluyla eklemeli bir şekilde birleştirmeyi içeren gradyan artırmanın temel adımları açıklanır. Bu bölüm ayrıca XGBoost'u kullanmanın, eksik değerleri işleme, modelleri diske kaydetme ve erken durdurmayı kullanma gibi çeşitli pratik yönlerini de kapsar. Bu bölümde, XGBoost'un çeşitli kullanımlarını göstermek için verilen çok sayıda demo ile kod tabanlı bir yaklaşım benimsenmiştir. Ek olarak, bu bölüm, kayıp değerlerin ortalama değer atamasıyla nasıl değiştirileceği de dahil olmak üzere veri temizlemenin önemini araştırıyor.

  • 00:40:00 Konuşmacı, kendi verilerinizi temizlemenin ve işi sizin yerinize yapacak algoritmalara güvenmemenin önemini tartışıyor. Boş değerleri bırakmanın, model doğruluğunu nasıl artırabileceğini ve algoritmaların boş değerleri işlemesine izin vermemeye karşı uyarıyı gösterirler. Konuşmacı ayrıca eğitilmiş modelleri daha sonra kullanmak üzere diske kaydetmenin bir yolu olan asitleme kavramını da tanıtıyor ve Python'da modelleri kaydetmek ve yüklemek için turşu kitaplığının nasıl kullanılacağını gösteriyor. Son olarak, XGBoost ve matplotlib'deki önem grafiğini çiz işlevini kullanarak bir veri kümesindeki her bir özelliğin öneminin nasıl çizileceğini gösterirler.

  • 00:45:00 Konuşmacı, XGBoost tarafından belirlenen özellik önem puanlarını ve makine öğrenimi modelleri oluştururken farklı senaryoları analiz etmenin ve test etmenin önemini tartışıyor. Titanic veri kümesi örneğini kullanırlar ve "cinsiyet" özniteliğinin eklenmesinin, özellik önem puanlarında alt sıralarda yer almasına rağmen modelin doğruluğunu nasıl iyileştirdiğini gösterirler. Konuşmacı, çeşitli senaryoları test etmenin ve yalnızca özellik önem puanlarına güvenmemenin önemini vurguluyor. Ayrıca, XGBoost'un eğitim sırasında bir test setinin performansını değerlendirme ve raporlama yeteneğinden de bahsediyorlar.

  • 00:50:00 Video, XGBoost modelinin performansının eğitim sırasında bir değerlendirme metriği belirleyerek ve x ve y çiftlerinden oluşan bir dizide geçirerek nasıl izleneceğini tartışır. Modelin her değerlendirme setindeki performansı saklanır ve eğitimden sonra kullanıma sunulur. Bu performans ölçümlerini kullanarak, modelin davranışına ilişkin daha fazla bilgi edinmek ve fazla uydurmayı önlemek için öğrenmeyi erkenden durdurmak için öğrenme eğrileri oluşturulabilir. Video ayrıca, doğrulama puanında herhangi bir gelişme gözlemlenmezse eğitimin sabit sayıda dönemden sonra durdurulduğu bir teknik olan erken durdurmayı da kapsar.

  • 00:55:00 Video, XGBoost'ta erken durdurma turlarının kullanımını ve Boston'daki ev fiyatlarını değerlendirmek için bir regresyon modeli oluşturmayı anlatıyor. Ayrı ayrı ağaçların oluşturulmasına ve girdi verilerinin verimli bir şekilde hazırlanmasına odaklanılarak, gradyan artırmada paralelliğin faydaları da tartışılmaktadır. Sisteminizin tüm çekirdeklerinden yararlanarak aynı anda birkaç hesaplama gerçekleştirerek daha hızlı program yürütülmesine izin veren çoklu kullanım desteğinin bir gösterimi sağlanmıştır. Video ayrıca, XGBoost'un sınıflandırma problemlerine yönelik olmasına rağmen, regresyon modelleri oluşturmada da başarılı olabileceğinden bahsediyor.

  • 01:00:00 Konuşmacı, örneğin yineleme sayısını tutmak için bir liste oluşturur ve iş parçacığı sayısına dayalı olarak modelin yürütme hızını test etmek için bir for döngüsü kullanır. İki sonuç yazdırılır: her yineleme için oluşturma hızı ve iş parçacığı sayısı arttıkça modelin hızının nasıl azaldığını gösteren bir çizim. Daha sonra konuşmacı, performansını artırmak için parametrelerin bir modele geçirilmesi anlamına gelen hiperparametre ayarını tartışır. Xgboost ve scikit-learn için varsayılan parametreleri araştırıyorlar ve hiperparametrelerde ince ayar yapmanın modelin performansını sıkıştırmak için biraz çaba gerektirebileceğini belirtiyorlar. Son olarak, bir gradyan artırma modelini yapılandırmak için kaç ağaca veya zayıf öğreniciye veya tahminciye ihtiyaç duyulduğunu ve her ağacın ne kadar büyük olması gerektiğini araştırırlar.

  • 01:05:00 Video, XGBoost modelini optimize etmek için hiperparametreleri ayarlamayı öğretir. Tahmin edicileri belirli bir model üzerinde test etmek için bir dizi değeri değerlendiren n-tahmin edicinin model parametresi için bir ızgara arama örneği sergiliyorlar. Ayrıca, farklı alt örnekleme tekniklerini ve XGBoost sınıfının ikinci sarmalayıcısında satır örneklemenin nasıl belirlenebileceğini de kapsar. Ek olarak, video, deneme yanılma yoluyla yapılan öğrenme oranını yapılandırmanın önemini vurgulamaktadır. Öğrenme oranının, optimizasyon sürecinin diğer birçok yönüyle etkileşime girdiği gösterilmiştir ve daha düşük öğrenme oranları, daha fazla eğitim dönemi gerektirecektir. Son olarak, teşhis grafikleri, öğrenme oranının öğrenme oranını ve modelin öğrenme dinamiklerini nasıl etkilediğini araştırmak için yararlıdır.

  • 01:10:00 Sunum yapan kişi, Titanic veri setinde yüksek puan alan bir XGBoost modelinin nasıl oluşturulacağını gösterir. Sunum yapan kişi, verileri önceden işlemek için pandaları ve tren testi bölünmüş kitaplıklarını ve modeli eğitmek için XGBoost'u kullanır. Modelin doğruluk derecesi 80'in üzerinde, bu da onu özgeçmişe layık kılıyor. Sunucu ayrıca, modeli gereğinden fazla uydurarak veya sonuçları değiştirerek Kaggle liderlik tablosuna sahte puanlar yükleyen kişilere karşı da uyarıda bulunur. Son olarak, sunum yapan kişi kodu satır satır inceleyerek veri temizlemeyi, etiket kodlamayı, boş değerleri işlemeyi, X ve Y eksenlerini tanımlamayı ve modeli eğitmek ve test etmek için verileri bölmeyi gösterir.

  • 01:15:00 Uygulamalı makine öğrenimi modellemeden çok verilerle ilgili olduğundan, eksik verileri doğru bir şekilde işlemenin önemi yinelendi. Ek olarak, bir modelin performansını izlemenin sonuçları açıklandı ve erken durdurma, aşırı uyumdan kaçınmak için karmaşık makine öğrenimi modellerini eğitmeye yönelik bir yaklaşım olarak sunuldu. Bu bölümde ayrıca XGBoost için çoklu iş parçacığı desteğinin yapılandırılması ve XGBoost ve Scikit-learn için varsayılan hiperparametreler hakkında bir tartışma yer alıyordu.
A Complete Introduction to XGBoost for Machine Learning Engineers
A Complete Introduction to XGBoost for Machine Learning Engineers
  • 2022.03.28
  • www.youtube.com
This course will cover all the core aspects of the most well-known gradient booster used in the real-world.
 

Makine Öğrenimi Mühendisleri için Python'da Özellik Mühendisliği Örnek Olay İncelemesi



Makine Öğrenimi Mühendisleri için Python'da Özellik Mühendisliği Örnek Olay İncelemesi

Eğitmen derse özellik mühendisliği kavramını ve onun her gün üretilen çok büyük miktardaki veriden değer elde etmedeki kritik rolünü tanıtarak başlar. Dağınık verilerden çıkarılan değeri maksimize etmede özellik mühendisliğinin önemini vurguluyorlar. Öğrencilerin NumPy, Pandas ve Scikit-Learn kullanma deneyiminin yanı sıra giriş düzeyinde Python bilgisine sahip olduğu varsayılır.

Eğitmen, bir makine öğrenimi modeli oluşturma sürecinde keşif amaçlı veri analizinin ve veri temizlemenin önemini vurgular. Bu aşamaların kursun ana odak noktası olacağını açıklıyorlar. Öğrenciler son bölümde boru hattının tamamını gözden geçirecek olsa da, asıl vurgu özellik mühendisliği üzerinde olacaktır.

Eğitmen, özellik mühendisliğinin model performansını iyileştirmek için gerekli olduğunu vurgular. Özellik mühendisliğinin, ham verileri makine öğrenimi modelleri için altta yatan sinyali daha iyi temsil eden özelliklere dönüştürmeyi içerdiğini açıklıyorlar. İyi özellikler basit modelleri bile güçlü kılabileceğinden, özelliklerin kalitesi modelin performansını doğrudan etkiler. Eğitmen, özellikleri seçerken, alakasız olanları çıkarırken ve analiz edilen problemle ilgili faktörleri dahil ederken sağduyulu olmayı önerir.

Videoda temizleme ve mühendislik özellikleri için çeşitli teknikler ele alınmaktadır. Aykırı değerler kaldırılır, veriler normalleştirilir ve adres çarpıklığına dönüştürülür, özellikler birleştirilerek daha kullanışlı olanlar oluşturulur ve sürekli olanlardan kategorik değişkenler oluşturulur. Bu teknikler, ilgisiz bilgileri atarken verilerdeki önemli eğilimleri doğru bir şekilde yakalayan özellikleri elde etmeyi amaçlar. Gemideki yolcular hakkında bilgi içeren Titanic veri seti örnek olarak sunulmuştur.

Eğitmen, pozitif vakaların negatif vakalardan önemli ölçüde daha az olduğu makine öğrenimindeki sınıf dengesizliği sorununu tartışır. Negatif sınıfı alt örnekleme yoluyla olduğu gibi, her iki durumda da sinyali daha iyi algılamak için modeli ayarlamayı önerirler. Bununla birlikte, örnekte kullanılan veri seti aşırı derecede dengesiz olmadığından, eğitmen veri özelliklerini keşfetmeye devam eder. Sürekli özellikler üzerinde temel keşif veri analizi yapılır ve ad, bilet, cinsiyet, kabin ve gemiye binme gibi sayısal olmayan özellikler kaldırılır. Temizlenen veri seti görüntülenir ve özelliklerin dağılımı ve korelasyonu incelenir. "p-sınıfı" ve "ücret" özelliklerinin, hayatta kalma sütunuyla en güçlü korelasyonu sergilediği keşfedildi ve bu, tahminlerde bulunma potansiyel yararlılıklarını gösteriyor.

Sürekli özellikler üzerinde daha fazla keşif verisi analizi yapılır. Ad ve bilet gibi sayısal olmayan özellikler çıkarılır ve veri kümesinin ilk beş satırı yazdırılır. Veriler, eksik değerleri ve "Hayatta Kaldı" adlı bir ikili hedef değişkeni ortaya çıkaran panda işlevleri kullanılarak açıklanır. Özellikler arasındaki korelasyonları ve bunların "Survived" ile ilişkilerini belirlemek için korelasyon matrisi analiz edilir. Yalnızca ortalama veya medyan değerlere güvenmek yanlış sonuçlara yol açabileceğinden, verilerin tam dağılımına bakmanın önemi vurgulanmıştır. Grafikler ve görselleştirmeler, birinci sınıf yolcular ve daha az aile üyesi olan yolcular arasında daha yüksek hayatta kalma oranları gibi eğilimleri ortaya çıkararak, kategorik özellikler ile hayatta kalma oranı arasındaki ilişkiyi keşfetmek için kullanılır.

Eğitmen, özellik mühendisliğinin önemini vurgular ve uygun testler yapılmadan özelliklerin aşırı derecede yoğunlaştırılmasına karşı tavsiyede bulunur. Eksik değerlerin belirlenmesi ve her bir özellikteki benzersiz değerlerin sayısı da dahil olmak üzere, kategorik özellikleri keşfetme ve tasarlama sürecini tartışırlar. Özelliklerin gruplanması ve her gruptaki hedef değişken için ortalama değerin analiz edilmesi, veri setini daha iyi anlamak için yararlı bir yaklaşım olarak önerilmektedir. Eksik kabin özelliği ile hayatta kalma oranı arasındaki ilişki araştırılır ve bu, özelliğin görünüşte düşük değerine rağmen hayatta kalma oranının güçlü bir göstergesinin keşfedilmesine yol açar.

Özellik araştırması, başlıkların, kabin göstergelerinin ve cinsiyetin hayatta kalma ile güçlü bir korelasyona sahip olduğunu, buna karşın girişilen özelliğin gereksiz olduğunu ortaya koyuyor. Kabin ve hayatta kalma oranı arasındaki ilişki, Cherbourg'da uçağa binen daha fazla insanın kabinleri olduğu ve bunun da daha yüksek bir hayatta kalma oranıyla sonuçlandığı gözlemiyle açıklanıyor. Uçaktaki yakın aile üyelerinin sayısı tek bir özellikte birleştirilir ve korelasyonları nedeniyle yolcu sınıfı veya ücret önerilir.

Eğitmen, bir sonraki adımın, keşifsel veri analizinden elde edilen içgörülere dayalı olarak özellikleri tasarlamak olduğunu açıklar. "Ad" özelliğinden "Başlık" adlı yeni bir özellik oluşturarak başlarlar. "Unvan" özelliği, sosyal statü ve hayatta kalma oranıyla ilgili ek bilgiler sağlayabileceğinden, her bir yolcunun adından (örn. Bay, Bayan, Bayan) başlığı çıkarır. "Başlık" özelliği daha sonra basitlik için sayısal değerlerle eşlenir.

Daha sonra eğitmen, başlangıçta birçok eksik değere sahip olan "Kabin" özelliğine odaklanır. Ancak, kabin bilgisi olan ve olmayan yolcuların hayatta kalma oranları analiz edildiğinde, kayıtlı bir kabin numarasına sahip olmanın hayatta kalma oranının daha yüksek olduğu keşfedildi. Bu içgörüye dayanarak, bir yolcunun kayıtlı bir kabini olup olmadığını belirtmek için "HasCabin" adlı yeni bir ikili özellik oluşturulur.

Eğitmen devam ederek "Seks" özelliğini ele alır. Makine öğrenimi modelleri genellikle sayısal verilerle daha iyi çalıştığından, "Cinsiyet" özelliği, 0 erkeği ve 1 dişiyi temsil edecek şekilde ikili değerlerle eşlenir.

Eğitmen, "Sex" özelliğini tasarladıktan sonra, biniş limanını (C = Cherbourg, Q = Queenstown, S = Southampton) gösteren "Bindirildi" özelliğine değinir. Ancak daha önce "Gömülü" özelliğinin gereksiz olduğu ve hayatta kalma tahminine önemli bir katkı sağlamadığı belirlenmişti. Bu nedenle, veri kümesinden çıkarılır.

Eğitmen daha sonra keşifsel veri analizi sırasında hayatta kalma ile güçlü korelasyonlar sergileyen "Pclass" ve "Fare" özelliklerine odaklanır. Bu özellikler zaten makine öğrenmesi modeline uygun formatta olduğu için olduğu gibi bırakılmıştır.

Bu aşamada eğitmen veri ön işlemenin ve model için özniteliklerin hazırlanmasının önemini vurgular. Veri seti, modelin performansını doğru bir şekilde değerlendirmek için eğitim ve test setlerine ayrılmıştır. "Yaş" özelliğindeki eksik değerler, yolcuların medyan yaşı kullanılarak belirlenir ve tüm özellikler, Scikit-Learn'ün ön işleme işlevleri kullanılarak sıfır ortalama ve birim varyansa sahip olacak şekilde standardize edilir.

Son olarak, eğitmen kategorik özellikler için one-hot kodlama kavramından kısaca bahseder ve bir sonraki videoda daha ayrıntılı olarak ele alınacağından bahseder. One-hot kodlama, kategorik değişkenleri ikili vektörler olarak temsil etmek için kullanılan ve modelin bunları doğru şekilde yorumlamasını sağlayan yaygın bir tekniktir.

Özetlemek gerekirse, dersin bu bölümünde eğitmen özellik mühendisliği kavramını tanıtmış ve makine öğrenimindeki önemini açıklamıştır. Keşif amaçlı veri analizi gerçekleştirdiler, veri kümesini temizlediler ve elde edilen içgörülere dayalı olarak özellikleri tasarladılar. Eğitmen, yeni özelliklerin nasıl oluşturulacağını, kategorik özelliklerin sayısal değerlerle nasıl eşleştirileceğini ve gereksiz özelliklerin nasıl kaldırılacağını gösterdi. Sonraki adımlar, verilerin ön işlenmesini ve özelliklerin makine öğrenimi modeli için hazırlanmasını içeriyordu.

Lütfen yukarıdaki özetin, tipik olarak bir özellik mühendisliği kursunda işlenen genel konulara dayanan varsayımsal bir devam niteliğinde olduğunu unutmayın. Gerçek içerik ve örnekler, belirli kursa ve eğitmene bağlı olarak değişebilir.

  • 00:00:00 Eğitmen, özellik mühendisliği dersini ve her gün üretilen çok büyük miktardaki veriden değer elde etmedeki önemini tanıtarak, öğrencilere bu dağınık verilerden maksimum değeri çıkarabilmeleri için ihtiyaç duydukları araç setini verir. Öğrencilerin, NumPy, Pandas ve Scikit-Learn kullanma deneyiminin yanı sıra giriş düzeyinde Python bilgisine sahip oldukları varsayılır. Eğitmen ayrıca, bu derste özel olarak üzerinde durulacak kritik aşamalar olan keşifsel veri analizi ve veri temizlemenin önemini vurgulayarak yüksek düzeyde bir makine öğrenimi modeli oluşturma sürecinden de geçer. Öğrenciler, son bölümde boru hattının tamamını gözden geçirecekler, ancak odak noktası öncelikle özellik mühendisliği olacak.

  • 00:05:00 Özellik mühendisliğinin önemi ve model performansı üzerindeki etkisi tartışılıyor. Özellik mühendisliği, ham verileri, makine öğrenimi modellerinin görünmeyen veriler üzerindeki doğruluğunu artırmak için temel sinyali daha iyi temsil eden özelliklere dönüştürme işlemidir. Kaliteli veriler olmadan makine öğrenimi modelleri temelde değersiz olduğundan, makine öğrenimindeki isimsiz kahramandır. Ancak harika özellikleriyle basit modeller bile oldukça güçlü olabilir. Ek olarak, özellikleri seçerken sağduyu kullanmak önemlidir - ilgisiz özellikler çıkarılmalı ve analiz edilen sorunla ilgili faktörler dahil edilmelidir. Sonuç olarak, modele beslenen özelliklerin kalitesi, modelin performansı üzerindeki birincil sınırlayıcı faktördür.

  • 00:10:00 Video, makine öğrenimi modellerinin yalnızca yararlı sinyaller kullanmasını sağlamak için özellikleri temizlemeye ve düzenlemeye yönelik çeşitli teknikleri kapsar. Bunlar, aykırı değerlerin çıkarılması, verilerin normalleştirilmesi, çarpık verilerin dönüştürülmesi, özelliklerin daha kullanışlı olanlarla birleştirilmesi ve sürekli olanlardan kategorik değişkenler oluşturulmasını içerir. Bu tekniklerin amacı, verilerdeki önemli eğilimleri doğru bir şekilde yakalayan özellikler elde etmek ve temsili olmayanları emektir. Video ayrıca gemideki yolcular hakkında adları, yaşları, sınıfları, bilet numaraları, kabin numaraları ve biniş limanı gibi bilgileri içeren Titanic veri setini de tanıtıyor. Video, gemideki bir bireyin hayatta kalıp kalmayacağı olan hedef değişkenin dağılımını keşfetmeye devam ediyor.

  • 00:15:00 Konuşmacı, pozitif vaka sayısının negatif çoğunluk vakalarından önemli ölçüde daha az olduğu ve modelin pozitif vakalarda sinyali algılamasını zorlaştıran makine öğrenimindeki sınıf dengesizliği sorununu tartışıyor. Konuşmacı, negatif sınıfı altörneklemek gibi, her iki durumda da sinyali daha iyi alacak şekilde modeli ayarlamayı önerir. Bununla birlikte, örnekte kullanılan veri kümesi çok dengesiz olmadığından, konuşmacı yalnızca sürekli özellikler üzerinde temel keşifsel veri analizinden başlayarak veri özelliklerini keşfetmeye devam eder. Konuşmacı ad, bilet, cinsiyet, kabin ve biniş gibi sayısal olmayan özellikleri bırakır ve temizlenmiş veri kümesinin ilk beş satırını yazdırır. Konuşmacı daha sonra özelliklerin dağılımını ve korelasyonunu inceler ve p-sınıfı ve ortanın hayatta kalma sütunuyla en güçlü korelasyona sahip olduğunu ve bu nedenle tahminlerde bulunmada yararlı olabileceğini bulur.

  • 00:20:00 Video, verilerin sürekli özelliklerine ilişkin bazı temel açıklayıcı veri analizlerini ele alıyor. Video, ad ve bilet gibi sayısal olmayan özellikleri kaldırır ve ilk 5 satırı yazdırır. Veriler, yerleşik pandalar işlevi kullanılarak açıklanır ve eksik değerler ve "Survived" adlı bir ikili hedef değişken olduğu belirtilir. Korelasyon matrisi analiz edilir ve her bir özelliğin "Hayatta Kaldı" ve diğer özelliklerle ne kadar ilişkili olduğuna dikkat etmek önemlidir. Güçlü bir negatif korelasyonun, pozitif bir korelasyon kadar faydalı olabileceği belirtilmektedir. "p-class" ve "Fare" özniteliklerinin "Survived" ile en güçlü korelasyona sahip olduğu, ancak "Fare" ve "p-class" öznitelikleri arasında yüksek bir korelasyona sahip olduğu ve bu da modelin kafasını karıştırabilir.

  • 00:25:00 Eğitmen, hedef değişken için faydalı tahmin ediciler olabilecek özellikleri belirlemeye yönelik bir yöntemi tartışır. Yöntem, hedef değişkene göre gruplandırmayı ve hayatta kalan insanlara karşı hayatta kalmayan insanlara göre her bir özelliğin dağılımlarını analiz etmenin yanı sıra istatistiksel anlamlılığı belirlemek için bir t-testi yapmayı içerir. Eğitmen, hayatta kalmanın potansiyel olarak iyi göstergeleri olarak öne çıkan orta ve sınıf olmak üzere iki özelliği vurgular, ancak korelasyonun yorumlama üzerindeki etkisi konusunda uyarıda bulunur. Eğitmen ayrıca yaş özelliği için eksik değerleri tartışır ve rastgele eksik olup olmadığını belirlemek için group by kullanır. Ayrıca eğitmen, dağılımlarını ve hedef değişkenle ilişkilerini görselleştirmek için sürekli özelliklerin nasıl çizileceğini açıklar.

  • 00:30:00 Video, hayatta kalma oranını belirlemede sürekli özellikler için ortalama veya medyan değerlere güvenmek yerine verilerin tam dağılımına bakmanın önemini tartışıyor. Video, hayatta kalanlar ve hayatta kalmayanlar için üst üste bindirilmiş bir yaş ve ücret histogramı çizme örneği sağlayarak, yalnızca ortalamalara güvenirken alınması gereken dikkati vurguluyor. Ek olarak, video, yolcu sınıfı ve aile sayısı gibi farklı kategorik özelliklerin her düzeyi için hayatta kalma oranı yüzdesini çizmek için seaborn'un kategorik grafiğini kullanıyor; hayatta kalmak. Video ayrıca kardeş, eş, ebeveyn ve çocuk özelliklerini tek bir özellikte birleştirmeyi araştırıyor ve modellerin etkili bir şekilde genelleştirilmesi için gösterge değişkenleri oluştururken sağlam mantık kullanmanın önemini tartışıyor.

  • 00:35:00 Konuşmacı, makine öğreniminde özellik mühendisliğinin önemini vurguluyor. Konuşmacı, bazen ayrı özellikler tek bir özellikten daha etkili olabileceğinden, özellikleri test etmeden çok fazla yoğunlaştırmamanızı önerir. Kategorik özelliklere geçerek, konuşmacı her özellikte eksik değerleri ve benzersiz değerlerin sayısını aramayı önerir. Özellikleri gruplamanın ve her gruptaki hedef değişken için ortalama değere bakmanın veri kümesini daha iyi anlamada nasıl yardımcı olabileceğini tartışırlar. Özellikle konuşmacı, eksik kabin özelliği ile hayatta kalma oranı arasındaki ilişkiyi keşfetmek için zaman harcıyor. Verileri bu şekilde keşfetmenin, özelliğin görünüşte düşük değerine rağmen hayatta kalma oranı için güçlü bir gösterge bulmalarına nasıl yol açtığını açıklıyorlar.

  • 00:40:00 Konuşmacı, makine öğrenimi için özellikleri keşfetme ve mühendislik özelliklerini tartışıyor. Keşfedilen özellikler arasında kabin, bilet ve ad yer alır. Kabin değişkeni, hayatta kalma oranlarını etkilediği varsayılan bir kabinin varlığı için bir gösterge değişkeni oluşturmak için kullanılır. Bilet değişkeni rastgele atanacak şekilde belirlenir ve bir özellik olarak bırakılır. Ad değişkeni, sosyal statüyü temsil edebilen ve hayatta kalma oranlarıyla ilişkili olabilecek başlıklar için araştırılır. Her başlığın hayatta kalma oranlarını incelemek için bir pivot tablo kullanılır ve genç erkekler için "ana" başlık bir aykırı değerdir. Son olarak, konuşmacı, bu özelliklerin farklı seviyeleri ile hayatta kalma oranı arasındaki ilişkiyi keşfetmek için kategorik özelliklerin çizilmesini tartışır.

  • 00:45:00 Daha fazla özellik araştırması, başlık, kabin göstergesi ve cinsiyetin hayatta kalma ile güçlü bir korelasyona sahip olduğunu, buna karşın başlatılan özelliğin fazla bilgi sağlamadığını ve gereksiz olduğunu gösterdi. Bir pivot tablo kullanılarak, Cherbourg'da uçağa binen daha fazla kişinin Queenstown veya Southampton'da uçağa binenlere göre kabinleri olduğu keşfedildi, bu da Cherbourg'daki daha yüksek hayatta kalma oranını açıklıyor. Son olarak, uçaktaki yakın aile üyelerinin sayısı tek bir özellikte birleştirildi ve korelasyonları nedeniyle yolcu sınıfı veya ücretin kullanılması önerildi.

  • 00:50:00 Eğitmen, özellik mühendisliği sürecini ve makine öğreniminde eksik değerlerin nasıl ele alınacağını tartışır. Eksik değerleri değiştirmeye yönelik üç yaygın yaklaşım tartışılmaktadır: özelliğin ortalama veya medyan değeriyle doldurma, makul bir değeri tahmin etmek için bir model oluşturma veya varsayılan bir değer atama. Eğitmen, eksik yaş değerlerini, önyargıdan kaçınırken modeli tatmin eden ortalama değerle değiştirmeye karar verir. Kategorik bir değişken olan girişli özellik, eksik değerleri belirtmek için başka bir değer eklenerek de temizlenir. Ek olarak, uç değerlerin peşinden koşmak yerine modelin verilerin gerçek eğilimine uymasını sağlamak için önemli olan, verilerdeki aykırı değerleri kaldırmanın bir yolu olarak sınır koyma süreci tanıtılır.

  • 00:55:00 Sunucu, çeşitli eşikler kullanarak aykırı değerleri belirlemeyi tartışır. Aykırı değerleri tespit etme işlevi tanımlanır ve her özellik için eşikler, değerlerin dağılımına göre ayarlanır ve ayarlanır. Kardeşler, eşler, ebeveynler, çocuklar ve yaş için maksimum değerler makuldür, bu nedenle üst sınır koymaya gerek yoktur, ancak adil özelliğin sınırı 99. yüzdelik dilimdir. Yaş ve orta özellikler, özellikler üzerinde üst sınırlar belirlemek için "klip" yöntemi kullanılarak dönüştürülür. Sunum yapan kişi daha sonra çarpık verileri ve uzun kuyruğu kovalayan model de dahil olmak üzere olası sorunlarını tartışmak için devam eder. Sunucu, sürekli özelliklerin dağıtımını eski ve adil bir şekilde görselleştirir ve bunları daha derli toplu ve anlaşılması kolay bir dağıtım oluşturmak için dönüştürür.

  • 01:00:00 Video, makine öğrenimi modellerini iyileştirmek için verileri daha iyi davranışlı ve derli toplu hale getirmek üzere dönüştürme sürecini araştırıyor. Kullanılan spesifik dönüşüm, belirli bir özellikteki her veri noktasına bir üs uygulandığı Box-Cox güç dönüşümüdür. Video, dönüşümü farklı üslerle test etme ve hangi dönüşümün en iyi verileri verdiğini belirlemek için QQ grafikleri ve histogramlar gibi kriterleri kullanma sürecini açıklıyor. Nihai sonuç, ilgilenilen özellik için uzun kuyruklar ve aykırı değerlerle makine öğrenimi modelinin dikkatini dağıtmayacak daha kompakt bir dağıtımdır. Dönüştürülen veriler daha sonra gelecekte kullanılmak üzere veri çerçevesinde bir özellik olarak saklanır.

  • 01:05:00 Video, mevcut metin verilerinden nasıl yeni bir özellik oluşturulacağını araştırıyor. Ad özelliğini analiz ettikten sonra konuşmacı, kişinin başlığının nasıl ayrıştırılacağını ve yeni bir başlık özelliğinin nasıl oluşturulacağını gösterir. Başlık özelliği, birinin hayatta kalıp kalmadığının güçlü bir göstergesi olarak bulunur ve modellemeye hazırlanırken verilere eklenir. Video ayrıca kabin özelliği için bir yolcunun kabini olup olmadığını gösteren ikili bir gösterge oluşturmayı da içeriyor. Son olarak, konuşmacı, gemideki kardeş, eş, ebeveyn ve çocuk sayısı gibi mevcut özelliklerin, gemideki yakın aile üyelerinin sayısını gösteren yeni bir özellikle nasıl birleştirileceğini ve verilerin modelleme için nasıl hazırlanacağını gösterir.

  • 01:10:00 Sunucu, makine öğrenimi modelleri için kategorik özellikleri sayısal özelliklere dönüştürmenin önemini tartışıyor. Bunun gerekli olduğunu, çünkü modellerin dizi değerlerini değil, yalnızca sayısal değerleri anlayabildiğini açıklıyorlar ve ikinci öğrenme paketinden bir etiket kodlama örneği veriyorlar. Daha sonra bu dönüşümü Titanic veri kümesindeki sayısal olmayan özelliklere uygulamak için bir döngüden geçerler. Son olarak sunum yapan kişi, makine öğrenimi modelinin görünmeyen veriler üzerindeki performansını değerlendirmek için verileri eğitim, doğrulama ve test kümelerine ayırmanın önemini tartışıyor. Verileri bu kümelere bölmek için döngü öğreniminden ayırma tren testinin nasıl kullanılacağını gösterirler.

  • 01:15:00 Video, verileri eğitim, doğrulama ve test kümelerine bölmek için tren testi bölme yönteminin nasıl kullanılacağını kapsar. Yöntem yalnızca bir veri kümesini ikiye bölmeyi işleyebilir, bu nedenle üç ayrı veri kümesi elde etmek için yöntemden iki geçiş gerekir. Video ayrıca, farklı ölçeklerdeki özellikleri normalleştirmek için verileri standartlaştırmanın veya ortalama değerin kaç standart sapmanın üstünde veya altında olduğunu temsil eden sayılara dönüştürmenin önemini tartışıyor. Verileri ölçeklendirmek için standart bir skaler alınır ve kullanılır, süreci göstermek için verilen örneklerle birlikte.

  • 01:20:00 Eğitmen, bazı makine öğrenimi modelleri için verileri ölçeklendirmenin önemini tartışıyor ve Titanik'te hayatta kalmayı tahmin etmede dört farklı özellik grubunun performansını karşılaştırıyor. Rastgele orman gibi bazı algoritmalar mutlaka ölçeklenmiş veri gerektirmezken, ölçeklendirme diğer algoritmaların daha hızlı çalışmasına ve hatta daha iyi performans göstermesine yardımcı olabilir. Ek olarak, eğitmen dört özellik grubu tanımlar; temizleme, dönüştürme ve özellik oluşturmanın değerini anlamak için her biri üzerinde bir model oluşturmak ve performansı karşılaştırmak için orijinal özellikler, temizlenmiş orijinal özellikler, yeni özellikler artı temizlenmiş orijinal özellikler ve azaltılmış özellikler. Son olarak eğitmen, eğitim, doğrulama ve test setlerinde aynı örneklerin kullanıldığından emin olmak için verileri CSV dosyalarına yazar.

  • 01:25:00 Joblib, matplotlib, seaborn, numpy, pandas, random forest classifier ve grid search cv gibi paketler kullanılarak modeli ham orijinal özelliklere uydurma süreci tartışılır. Özellikler arasındaki korelasyonlar, korelasyon matrisinden oluşturulan bir ısı haritası kullanılarak görselleştirilir ve yolcu sınıfı ile kabinin 0,7 gibi yüksek bir korelasyona sahip olduğu bulunur. Grid search cv, tahminci sayısı ve ağaçların maksimum derinliği gibi model için en iyi hiperparametreleri bulmak için kullanılır. En iyi modelin, maksimum 8 derinliğe sahip yaklaşık 512 tahmin ediciye sahip olduğu, bunun da ortalama yüzde 84,5'lik bir puanla sonuçlandığı ve bir sonraki veri kümesine geçilmesine izin verildiği bulundu.

  • 01:30:00 Video, rastgele bir orman modelinde özelliğin önemini ve grid arama özgeçmişini kullanmanın faydalarını araştırıyor. Model için özellik önemleri, cinsiyetin en önemli özellik olduğunu, daha önce hayatta kalmanın güçlü bir göstergesi olduğuna inanılan yolcu sınıfındansa yaşın daha önemli olduğunu göstermektedir. Bununla birlikte, yolcu sınıfı, birinin kabininin olup olmadığı veya ödediği ücret gibi diğer özelliklerle yüksek oranda ilişkili olabilir, bu da modelin hedef değişkenle ilişkiyi gerçekten neyin yönlendirdiği konusunda kafasının karışmasına neden olur. Model, eğitim verilerinin %100'ünde en iyi hiperparametre ayarlarına uyduktan sonra, bir doğrulama setinde değerlendirilmeye hazırdır. Daha sonra model, eksik değerlerin ve aykırı değerlerin, altta yatan eğilimleri yakalama yeteneğini önemli ölçüde etkileyip etkilemediğini belirlemek için temiz özelliklere uydurulur. Bu model için en iyi hiperparametre ayarları, ham özelliklerdeki modelden daha basittir ve özellik önemi, önceki modelle neredeyse aynıdır. Son olarak, model, basit özelliklere ek olarak ne kadar değer sağladıklarını görmek için dönüştürülmüş özellikler dahil tüm özelliklere uyar.

  • 01:35:00 Video, performansa dayalı olarak en iyi modeli seçmek için bir doğrulama veri kümesinde her bir özellik kümesi tarafından oluşturulan en iyi modelleri değerlendirme sürecini araştırıyor. Video, en iyi modele karar verirken model gecikmesini dikkate almanın önemini tartışıyor ve doğruluk, kesinlik ve geri çağırma puanı hesaplamaları için kullanılan paketlerden bahsediyor. Önceden kaydedilen modeller, bir döngü kullanılarak okunur ve anahtar olarak model adı ve değer olarak model nesnesi ile bir sözlük olarak saklanır. Doğrulama setinin performansına göre en iyi model seçilir ve bir uzatma test setindeki performansı, performansının tarafsız bir görünümü için değerlendirilir.

  • 01:40:00 Sunum yapan kişi, bir model sözlüğünde saklanan modellerin nasıl yükleneceğini ve "modeli değerlendir" işlevini kullanarak performanslarının nasıl değerlendirileceğini tartışır. Sunum yapan kişi, bu örnek olay incelemesinde, doğrulama kümesindeki en iyi performans gösteren modelin tüm özellikler üzerine kurulu model olduğunu, azaltılmış özellikler üzerine kurulu modelin ise en düşük gecikmeyle en basit model olduğunu açıklıyor. Sunum yapan kişi, çözdüğü soruna bağlı olarak kesinlik ve hatırlama arasındaki ödünleşimleri vurgular. Son olarak sunum yapan kişi, herhangi bir tahmin süresi gereksinimleri olmadığı için tüm özellikler üzerine kurulu modeli devreye alacaklarını ve test setinde değerlendireceklerini belirtmektedir.

  • 01:45:00 Konuşmacı, test setinin model seçimi için nasıl kullanılmadığını ve son seçilen modelin performansını değerlendirmenin tarafsız bir yolu olduğunu açıklıyor. Seçilen model, 64 tahmin edici ve maksimum sekiz derinlik ile dört farklı özellik üzerine inşa edildi. Doğruluk, sağlam bir şekilde test edildi ve görünmeyen veriler üzerinde değerlendirilerek çapraz doğrulamada yüzde 83,7, doğrulama setinde 83 ve test setinde 81 doğruluk sağladı. Bu bilgilerle konuşmacı, titanikteki insanların hayatta kalıp kalmayacağına dair tahminlerde bulunmak için bu modeli en iyi model olarak önerme konusunda kendinden emin. Konuşmacı ayrıca, bu kursta öğrenilen becerilerin, en güçlü makine öğrenimi modelini oluşturmak için değerin son zerresini çıkarmak üzere herhangi bir yeni özellik setine genellenebileceğini de belirtiyor.
Feature Engineering Case Study in Python for Machine Learning Engineers
Feature Engineering Case Study in Python for Machine Learning Engineers
  • 2022.04.06
  • www.youtube.com
Another free course to help you become a machine learning engineer in the real-world.LogikBot - Affordable, Real-World and Comprehensive - https://www.logikb...
 

Google'ın Bulut Platformunda BigQuery ile Makine Öğrenimi



Google'ın Bulut Platformunda BigQuery ile Makine Öğrenimi

Videoda, makine öğrenimi için BigQuery kullanımına odaklanan bir kursun içeriği ele alınmaktadır. BigQuery, başlangıçta Google'da dahili olarak kullanılan ve daha sonra bir bulut hizmeti haline gelen bir kurumsal veri ambarıdır. Yüksek oranda ölçeklenebilir ve sunucusuzdur, petabaytlarca veri barındırabilir ve hızlı sorgu sonuçları sağlayabilir. Kurs eğitimi, gerçek dünya vaka incelemelerine dayalıdır ve öğrencilere veri kaynağından model oluşturmaya kadar makine öğrenimi modelleri oluşturma sürecinde rehberlik eder. Kurs boyunca öğrenciler, modellerini oluşturmak için BigQuery'yi kullanır ve BigQuery'ye özel bir Google Cloud Platform (GCP) hesabı oluşturmalarını gerektirir.

Video, Google'ın donanım kaynaklarını ölçeklendirmeye yönelik yol gösterici ilkelerini açıklayarak ölçeği büyütmek yerine ölçeği genişletme kararının altını çiziyor. Google, donanımın her an arızalanabileceğinin farkındadır, bu nedenle tasarımlar olası arızaları dikkate almalıdır. Ek olarak Google, uygun fiyatlı ve tedarikçi firma esnekliği sağlayan emtia donanımını kullanır. Donanım maliyetinin yüksek olması nedeniyle ölçek büyütme yerine ölçeklendirme tercih edilir. Google, ölçeklendirilmiş bir donanım mimarisine yol açan GFS, MapReduce ve Bigtable gibi teknolojiler geliştirmiştir. Colossus, GFS'nin yerini almıştır ve BigQuery dahil olmak üzere Google'ın teknolojileri için temel dağıtılmış alt sistem olarak hizmet vermektedir.

Öğretim görevlisi, Google'ın küresel olarak dağıtılan ve dağıtılmış işlemleri yönetmek için Colossus'a dayanan veritabanı çözümü Spanner'a genel bir bakış sağlar. Video ayrıca, Google Cloud Platform'da faturalandırma hesaplarına kaydolma ve bunları yönetme sürecini de gösterir. Kullanıcılar, platformun web sitesini ziyaret ederek, şartları kabul ederek ve gerekli bilgileri sağlayarak bir GCP hesabı oluşturabilir. Yeni kullanıcılara GCP'de kullanmaları için faturalandırma bölümünden izlenebilecek 300 ABD doları tutarında bir kredi verilir. Öğretim görevlisi, belirli faturalandırma hedeflerine ulaşıldığında bildirim almak için bütçe uyarılarının ayarlanmasını önerir.

BigQuery'nin oluşturulması ve amacı ayrıntılı olarak ele alınmıştır. Google'ın üstel veri büyümesi, büyük veri kümeleri üzerinde etkileşimli sorgulara izin veren BigQuery'nin geliştirilmesini gerektirdi. BigQuery, 50 satır veya 50 milyar satır içermelerinden bağımsız olarak sorguları işleyebilir. Standart olmayan SQL lehçesi, kısa bir öğrenme eğrisini kolaylaştırır ve binlerce makinede SQL yürütmesini paralel hale getirebilir. BigQuery, yapılandırılmış verileri depolarken ilişkisel veritabanlarından ayrılarak tablolar içinde iç içe geçmiş kayıt türlerini destekleyerek iç içe yapıların depolanmasını sağlar.

BigQuery'nin mimarisi, paralelleştirme yaklaşımı vurgulanarak açıklanıyor. Çekirdek başına bir sorgu yürüten çoğu ilişkisel veritabanı sisteminin aksine BigQuery, binlerce çekirdekte tek bir sorgu çalıştıracak şekilde tasarlanmıştır ve geleneksel yaklaşımlara kıyasla performansı önemli ölçüde artırır. Dremel motoru, bazıları I/O'da beklerken diğer sorguların mevcut çekirdekleri kullanmasına izin vererek sorgu ardışık düzenini etkinleştirir. BigQuery, birden çok müşterinin diğer konumları etkilemeden aynı donanım üzerinde aynı anda sorgu çalıştırmasına olanak tanıyan bir çoklu kiralama yaklaşımı kullanır. BigQuery arayüzü, tablolara ve görünümlere erişimi düzenlemek için sorgu geçmişi, kayıtlı sorgular, iş geçmişi ve kaynak bölümleri dahil olmak üzere üç temel bölmeden oluşur.

Video, BigQuery'ye özel Google Cloud Console içindeki ekranların ve panellerin ayrıntılı bir açıklamasını sunar. Gezinme menüsü, veri kümeleri ve tablolar gibi BigQuery kaynaklarını görüntülerken SQL çalışma alanı bölümü, kullanıcıların sorgular oluşturmasına, tablolarla çalışmasına ve iş geçmişlerini görüntülemesine olanak tanır. Explorer paneli mevcut projeleri ve bunların kaynaklarını listelerken, Ayrıntılar paneli seçilen kaynaklar hakkında bilgi sağlar ve tablo şemalarında, veri dışa aktarmalarında ve diğer işlevlerde değişikliklere izin verir. BigQuery'nin sık sık küçük satır düzeyinde güncellemeleri desteklememesi nedeniyle OLTP uygulamaları için uygun olmadığı açıklandı. Bir NoSQL veritabanı olmasa da BigQuery, SQL'in bir lehçesini kullanır ve bir OLAP veritabanına daha yakındır ve birçok OLAP kullanım durumu için benzer faydalar ve uygunluk sağlar.

Google'ın BigQuery'sinin tanımı, tam olarak yönetilen, yüksek düzeyde ölçeklenebilir, uygun maliyetli ve hızlı bulutu vurgulanarak daha ayrıntılı olarak ele alınmıştır.

Videoda tartışılan ek noktalar şunlardır:

  1. BigQuery'nin depolama biçimi: BigQuery, sorgu performansı için optimize edilmiş sütunlu bir depolama biçimi kullanır. Verileri sıkıştırılmış ve sütunlu bir şekilde depolayarak, gereksiz verilere erişmeden bir sorgudaki belirli sütunların verimli bir şekilde işlenmesine olanak tanır. Bu biçim, özellikle toplama ve filtreleme içeren analitik iş yükleri için faydalıdır.

  2. Veri alımı: BigQuery, çeşitli veri alımı yöntemlerini destekler. Google Cloud Storage, Google Sheets ve Google Cloud Bigtable gibi kaynaklardan verileri doğrudan yükleyebilir. Ayrıca ETL (Ayıkla, Dönüştür, Yükle) işlemleri için Dataflow ve Dataprep gibi diğer veri işleme araçlarıyla entegrasyonlar sunar.

  3. Veri bölümleme ve kümeleme: BigQuery, sorgu performansını optimize etmek için bölümleme ve kümeleme gibi özellikler sağlar. Bölümleme, büyük veri kümelerini seçilen bir sütuna (örneğin, tarih) göre daha küçük, yönetilebilir parçalara bölmeyi içerir. Kümeleme, taranan veri miktarını azaltarak sorgu performansını iyileştirmek için her bölümdeki verileri bir veya daha fazla sütuna göre daha fazla düzenler.

  4. Veri erişim denetimleri ve güvenlik: BigQuery, veri güvenliğini yönetmek için sağlam erişim denetimleri sunar. Google Cloud Identity and Access Management (IAM) ile entegre olarak kullanıcıların proje, veri kümesi ve tablo düzeylerinde ayrıntılı erişim izinleri tanımlamasına olanak tanır. BigQuery ayrıca, bekleyen ve aktarılan şifrelemeyi destekleyerek hassas verilerin korunmasını sağlar.

  5. Veri fiyatlandırması ve maliyet optimizasyonu: Video, BigQuery'nin fiyatlandırma modeline kısaca değiniyor. Kullandıkça öde esasına göre çalışır ve kullanıcılardan sorgular tarafından işlenen veri miktarına göre ücret alır. BigQuery, gereksiz veri işlemeyi önleyerek maliyetleri azaltabilen sorgu önbelleğe alma gibi özellikler sunar. Maliyetleri en aza indirmek için sorguları optimize etmek ve gereksiz veri taramasından kaçınmak önemlidir.

  6. BigQuery ile makine öğrenimi: Kurs, makine öğrenimi görevleri için BigQuery kullanımını kapsar. BigQuery, Google Cloud'un AutoML ve TensorFlow gibi makine öğrenimi hizmetleriyle entegre olur ve kullanıcıların makine öğrenimi modellerini eğitmeden önce veri hazırlama ve özellik mühendisliği için BigQuery'nin gücünden yararlanmasına olanak tanır.

  7. Kullanım örnekleri ve örnekler: Öğretim görevlisi, büyük hacimli günlük verilerini analiz etme, pazar araştırması yürütme, müşteri segmentasyonu gerçekleştirme ve büyük veri kümeleri üzerinde karmaşık analitik sorgular çalıştırma gibi BigQuery'nin öne çıktığı çeşitli gerçek dünya kullanım örneklerinden bahseder.

Genel olarak video, BigQuery'nin yeteneklerine, mimarisine ve temel özelliklerine genel bir bakış sunarak büyük ölçekli veri analitiği ve makine öğrenimi görevleri için uygunluğunu vurgular. Büyük miktarda veriyi verimli bir şekilde işlemek için BigQuery gibi tamamen yönetilen ve yüksek düzeyde ölçeklenebilir bulut tabanlı bir çözüm kullanmanın faydalarını vurgular.

  • 00:00:00 Video, makine öğrenimi için BigQuery kullanımına odaklanan kurs içeriğini tartışıyor. BigQuery, bir bulut hizmeti haline gelmeden önce orijinal olarak Google'da dahili olarak kullanılan, yüksek düzeyde ölçeklenebilir ve sunucusuz bir kurumsal veri ambarıdır. Petabaytlarca veriyi barındırabilir ve verileri yalnızca saniyeler içinde döndürerek, özellikle büyük veri kümeleri söz konusu olduğunda onu denetimli makine öğrenimi için değerli bir kaynak haline getirir. Bu kurstaki eğitim, gerçek dünya örnek olay incelemelerine dayalıdır ve öğrenciler, verileri tedarik etmekten yüksek düzeyde tahmine dayalı bir model oluşturmak için modellemeye kadar kendi makine öğrenimi modellerini oluşturma sürecinden geçecektir. Kurs boyunca öğrenciler, modellerini oluşturmak için BigQuery'den yararlanacak, bu da yalnızca BigQuery'ye özel olacak GCP hesabı oluşturmak anlamına gelecektir.

  • 00:05:00 Video, Google'da donanım kaynaklarını ölçeklendirmenin ardındaki yol gösterici ilkeleri, özellikle de ölçeği büyütmek yerine ölçeği genişletmeye yönelik kararı açıklıyor. Donanım söz konusu olduğunda Google'ın yol gösterici ilkeleri, her şeyin her an başarısız olabileceği ve tasarımların bunu hesaba katması gerektiğidir. İkinci ilke, uygun maliyetli ve elde edilmesi kolay ticari donanım kullanmakla ilgilidir ve böylece Google'ın herhangi bir ceza ödemeden satıcı değiştirmesine olanak tanır. Son olarak, donanım pahalıdır, bu nedenle amaç büyütmek yerine ölçeği genişletmektir. Google, GFS, MapReduce ve Bigtable gibi temel teknolojileri, ölçeklendirilmiş donanım mimarisine taşımak için tasarlamıştır. Ayrıca Colossus, GFS'nin yerini almıştır ve Colossus'a dayanan BigQuery de dahil olmak üzere Google teknolojisinin çoğunun üzerine inşa edildiği temel dağıtılmış alt sistemdir.

  • 00:10:00 Öğretim görevlisi, Google'ın küresel olarak dağıtılan ve dağıtılmış işlemleri yönetmek için Colossus'u kullanan Spanner veritabanı çözümüne genel bir bakış sunarken, aynı zamanda Google Cloud Platform'da faturalandırma hesaplarına nasıl kaydolulacağını ve yönetileceğini gösterir. Google Cloud hizmetlerini kullanmaya başlamak için kullanıcıların GCP'de bir hesap oluşturması gerekir. Bu hesap, tarayıcıya gidip "GCP" veya "Google Cloud Platform" yazarak yapılabilir. Şartları kabul ettikten ve uygun bilgileri sağladıktan sonra, yeni kullanıcılara GCP'de kullanmaları için faturalandırma bölümündeki genel bakış ve bütçe özellikleri aracılığıyla izlenebilecek 300 ABD doları tutarında bir kredi verilir. Öğretim görevlisi, kullanıcıları belirli faturalandırma hedeflerine ulaşıldığında bildirim almak için bütçe uyarıları oluşturmaya teşvik eder; bu, "bütçe oluştur" seçeneğine tıklayarak ve harcanacak toplam dolar miktarını belirterek ve ayrıca proje ve bütçe uyarılarını seçerek gerçekleştirilebilir. etkinleştirilecek.

  • 00:15:00 BigQuery'nin oluşturulması ve amacı tartışıldı. Google'ın üstel veri büyümesi sorunlara yol açarak, büyük veri kümeleri üzerinde etkileşimli sorgular sağlayan bir aracın, BigQuery'nin geliştirilmesine yol açtı. İster 50 satır ister 50 milyar satır sorgulasın, aynı işlemi yapma seçeneği sunar. SQL'e dayalı standart olmayan lehçesi sayesinde, binlerce makinede SQL yürütmesini paralel hale getirme yeteneği ile gömülü kısa bir öğrenme eğrisine sahiptir. Yapılandırılmış veriler, BigQuery'nin depolayabildiği şeydir, ancak ilişkisel bir veritabanının aksine bu alanlar, tablolar içindeki iç içe geçmiş kayıtlar dahil olmak üzere kayıt türlerini tutabilir. Bu iç içe geçmiş yapılar aslında önceden birleştirilmiş tablolardır.

  • 00:20:00 Video, BigQuery'nin mimarisini ve paralelleştirmeye yaklaşımını açıklıyor. Çoğu ilişkisel veritabanı sistemi, çekirdek başına yalnızca bir sorgu yürütebilirken, BigQuery, binlerce çekirdekte tek bir sorgu çalıştıracak şekilde tasarlanmıştır ve geleneksel sorgu çekirdeği yaklaşımlarına kıyasla performansı önemli ölçüde en üst düzeye çıkarır. Bu, bazıları G/Ç'de beklerken diğer sorguların mevcut çekirdekleri kullanmasına izin vererek sorguları sıralayabilen Dremel motoru sayesinde mümkündür. Bu çoklu kiracılık yaklaşımı, birçok müşterinin aynı donanım üzerinde aynı anda sorgu çalıştırabileceği ve BigQuery'nin çeşitli veri kullanım modellerinden yararlanarak bir coğrafi konumdaki yoğun kullanımın diğer konumları etkilememesi anlamına gelir. Video ayrıca, her projeye özel sorgu geçmişiyle BigQuery arayüzünün üç temel bölmesini açıklıyor ve tablolara ve görünümlere erişimi düzenlemek için sorguları, iş geçmişini ve kaynak bölümlerini kaydediyor.

  • 00:25:00 Konuşmacı, BigQuery'ye özel Google Cloud Console'u oluşturan çeşitli ekran ve panelleri açıklıyor. Gezinme menüsü, veri kümeleri ve tablolar gibi BigQuery kaynaklarını görüntülerken SQL çalışma alanı bölümü, kullanıcıların sorgular oluşturmasına, tablolarla çalışmasına ve iş geçmişlerini görüntülemesine olanak tanır. Gezgin paneli, geçerli projelerin ve kaynaklarının bir listesini görüntüler ve Ayrıntılar paneli, seçilen kaynak hakkında bilgi sağlar ve kullanıcıların tablo şemalarını değiştirmesine, verileri dışa aktarmasına ve diğer işlevleri gerçekleştirmesine olanak tanır. Konuşmacı ayrıca BigQuery'nin ne olmadığını tartışarak, sık, küçük satır düzeyinde güncellemeleri desteklemediği için OLTP uygulamaları için pek uygun olmadığını ve bir SQL lehçesi kullandığı için bir NoSQL veritabanı olmadığını açıklıyor. . Bunun yerine BigQuery, bir OLAP veritabanına daha yakındır ve aynı avantajların birçoğunu sağlayarak, onu birçok OLAP kullanım durumu için uygun hale getirir.

  • 00:30:00 Google'ın BigQuery tanımı tartışıldı. Yerleşik makine öğrenimi ile analitik için tamamen yönetilen, yüksek düzeyde ölçeklenebilir, uygun maliyetli ve hızlı bir bulut veri ambarıdır. Ayrıca BigQuery, Megastore ve Colossus gibi diğer birçok bileşenden oluşur. BigQuery, verileri sütunlarda depolayan, performansı iyileştiren ve döndürülen verilere göre kullanıcıları ücretlendiren Column IO adlı veri depolama algoritmasına sahiptir. Google'ın ağı, ayrıntılara gösterdikleri yüksek özen nedeniyle hızlıdır; bu nedenle, ağ mimarilerinin çoğu bir sır olarak kalır. Son olarak BigQuery, BigQuery 2.0'ın piyasaya sürülmesiyle standart SQL desteğini kullanıma sunarak BigQuery SQL'i Eski SQL olarak yeniden adlandırdı ve BigQuery'de depolanan sorgular ve veriler için tercih edilen SQL lehçesini kullandı.

  • 00:35:00 Video, BigQuery'de sorguları kaydetme ve açma işleminin yanı sıra görünüm oluşturma ve sorgulama sürecini kapsar. Anlatıcı, görünümün sanal bir tablo olduğunu açıklar ve yeni bir veri kümesinde görünümün nasıl oluşturulacağını ve kaydedileceğini gösterir. Video ayrıca, sorgu düzenleyicideki sorguyu biçimlendirme ve sorgu ayarlarına erişme gibi farklı seçenekleri de tartışır. Ayrıca video, makine öğrenimi ve veri bilimi kariyerlerindeki patlamayı ele alıyor ve veri analisti ile veri bilimcisi gibi roller arasındaki farkları tartışıyor. Son olarak anlatıcı, kursun odak noktasının, alanda altın standart olarak kabul edilen Python kullanılarak denetimli makine öğrenimi olacağını açıklıyor.

  • 00:40:00 Veri bilimcisi, makine öğrenimi mühendisi ve veri mühendisi dahil olmak üzere makine öğrenimi alanındaki farklı roller tartışılır. Tamamen akademik veya araştırma uygulamalarının aksine, makine öğrenimi ilkelerinin sorunları çözmek için gerçek dünyaya uygulanması olan uygulamalı makine öğrenimine odaklanılır. Gradyan güçlendiriciler gibi geleneksel modellerin yüksek düzeyde yapılandırılmış veri kümelerini modellemede mükemmel olduğu ve yapay sinir ağları üzerinden birçok yarışma kazandığı gösterildiğinden, özellikle ilişkisel veritabanlarında bulunanlar olmak üzere yapılandırılmış veri kümelerinin önemi de vurgulanmaktadır.

  • 00:45:00 Oldukça süreç odaklı olan makine öğrenimi süreci ele alınır. Makale, makine öğrenimi mühendislerinin çözmeleri gereken bir sorun verildiğinde aynı temel adımları nasıl izlemeleri gerektiğini açıklıyor. İlk adım, verilere bakmak ve ardından verileri tedarik etmektir. Çoğu uygulamalı makine öğrenimi denetlendiğinden, verilerin önce sayısal olarak desteklenen bir biçime dönüştürülmesini içeren temizlenmesi (veya "karışmaması") gerekir. Bu, makine öğrenimi mühendisinin zamanının çoğunu veri düzenleme yaparak geçirmesini gerektirir. Veriler temizlendikten sonra modelleme aşaması başlar. Bu aşamada, temizlenmiş veri setinden kalıpları öğrenen modeller veya algoritmalar geliştirilmelidir. Makine öğreniminin amacı, yeni verilere karşı son derece doğru tahminler yapabilmektir. Modeller ayarlandıktan ve yeni veriler üzerinde test edildikten sonra, tüketicilerin kullanması için üretime alınır.

  • 00:50:00 Video, Python 3.7 sürümünün Mac üzerinde Anaconda dağıtımını kullanarak kurulum sürecini anlatıyor. Anaconda dağıtımı hem Windows hem de Mac için mevcuttur ve bir grafik yükleyiciye sahiptir. Yükleyiciyi indirip parolayı girdikten sonra, varsayılan yükleme türü önerilir ve yükleme işlemi birkaç dakika sürebilir. Kurulum tamamlandıktan sonra, Anaconda Navigator başlatılabilir ve kodlamaya başlamak için yeni bir Python 3 not defteri açılabilir.

  • 00:55:00 Eğitmen, Google'ın Bulut Platformunda BigQuery ile makine öğrenimi için kullanılan Jupyter Notebook IDE'de nasıl gezinileceğini açıklıyor. İlk adım, CMD yazıp Anaconda komut istemine erişerek dizüstü bilgisayarda Notebook'u bulmaktır. Oradan, "Jupyter Notebook" yazmak Python motorunu yerel bilgisayara yükleyecektir. Yüklendikten sonra, sayfanın nasıl kapatılacağı da dahil olmak üzere Not Defterinde gezinme açıklanır.

  • 01:00:00 "Yeni not defteri"ne gitmek ve Python 3'ü seçmekle başlayan, Jupyter Notebook kullanımıyla ilgili adım adım bir kılavuz sunulur. Eğitim ayrıca kitaplıkların nasıl içe aktarılacağını, hücrelerin nasıl oluşturulacağını, çalıştırılacağını ve yeniden adlandırılacağını, değiştirileceğini gösterir. hücre sıralaması, not defterini otomatik kaydetme, ekleme, kopyalama, kesme, yapıştırma, hepsini yürütme ve çekirdeği yeniden başlatma ve bir not defterine açıklama eklemek için Markdown'ı kullanma. Ek olarak, dizüstü bilgisayarın basitliği vurgulanıyor ve makine öğrenimi ardışık düzeniyle çalışmak için yeterli görülüyor.

  • 01:05:00 Video, veri kümeleri ve tablolar da dahil olmak üzere BigQuery'de verilerle çalışmanın temellerini ele alıyor. Gerçek dünya modelleri oluştururken ölçek önemli bir sorun olabileceğinden, makine öğrenimi mühendislerinin BigQuery'de veri oluşturabilmesinin, karşıya yükleyebilmesinin ve karıştırabilmesinin ne kadar önemli olduğunu açıklıyor. BigQuery ML ile, yalnızca SQL bilgisi gerektirir, bu da onu SQL konusunda bilgili olanlar için basit ve erişilebilir hale getirir ve deneyimli makine öğrenimi uzmanlarına modellerini her ölçekte oluşturma yeteneği sağlar. Ayrıca video, veri düzenleme ve işleme için bir kitaplık olan Pandas, python ile bilimsel hesaplama için temel bir paket olan Numpy, 2B grafikler oluşturmak için Matplotlib gibi python'da uygulamalı makine öğreniminde kullanılan temel makine öğrenimi kitaplıklarını kapsar. ve geleneksel modeller oluşturmak için kullanılan bir kitaplık olan Scikit-Learn.

  • 01:10:00 Eğitim videosu, iki temel kitaplık olan pandas ve numpy'yi kullanarak makine öğrenimi için veri düzenleme ve veri işlemenin temellerini araştırıyor. Pandalar kitaplığı, Titanic veri kümesi adı verilen makine öğrenimi için ünlü bir oyuncak veri kümesini yüklemek ve bir takma ad oluşturmak için kullanılır. Modelin anlaşılmasını sağlamak için bir dizi oluşturulur ve yolcu sınıfı, cinsiyet, yaş, hayatta kalan gibi model için gerekli öznitelikler belirlenir. Tahmin edilecek olan hedef değişken, 1 veya 0 olan hayatta kalan özelliktir; hayatta kaldı 1 iken hayatta kalmadı 0 demektir. Bir sonraki adım, niteliklerdeki değerleri makinenin anlayabileceği Python kodunu kullanarak sayılara dönüştürmektir. Null veya nand değerlerine sahip tüm gözlemler kaldırılır ve modelin hile yapmasını önlemek için hayatta kalan öznitelik x ekseninden çıkarılır. Son olarak, veri kümesi, scikit-learn adı verilen genel amaçlı makine öğrenimi kitaplığı kullanılarak test ve eğitim bölümlerine ayrılır.

  • 01:15:00 Video, muazzam veri kümesiyle makine öğreniminin kullanımını ve gerçek dünya senaryolarında çoğu modelin nasıl ilişkisel veritabanlarından alındığını tartışıyor. SQL server veritabanlarını yönetmek için yaygın olarak kullanıldığı için SQL Server Management Studio arayüzü tanıtıldı. Görevin, gelecekteki satışları tahmin etmek için kullanılabilecek bir veri kümesi oluşturmak olduğu varsayımsal bir senaryo sunulur. Video, ünlüler için bir sipariş geçmişi oluşturmak üzere bir sorgunun nasıl oluşturulacağını ve tabloların nasıl birleştirileceğini ve bu bilgilerin kolayca sorgulanabilmesi ve geri kalanıyla paylaşılmak üzere bir CSV dosyası olarak dışa aktarılabilmesi için bir görünüm olarak nasıl kaydedileceğini anlatıyor. takım.

  • 01:20:00 Video, SQL Server kullanarak bir bulut veritabanından bir CSV dosyasına veri aktarma sürecini adım adım anlatıyor. Veri analizi olarak da bilinen keşifsel veri analizinin makine öğreniminde çok önemli bir rol oynadığını açıklıyorlar ve veri görselleştirme için Matplotlib ve Seaborn kitaplıklarını tanıtıyorlar. Video, Titanic veri setini keşfetmek, eksik değerlerin yüzdelerini hesaplamak ve histogramlar ve çubuk grafikler oluşturmak için bu kitaplıkların nasıl kullanılacağına ilişkin örnekleri göstermeye devam ediyor. Seaborn'un sadeliği nedeniyle sıklıkla tercih edildiğini belirtiyorlar.

  • 01:25:00 Konuşmacı, farklı makine öğrenimi modellerini ve uygulamalarını keşfediyor. Derin öğrenme modelleri, görüntü ve konuşma tanımada mükemmel olsa da, çoğu durumda yüksek düzeyde yapılandırılmış veri kümelerine dayanan denetimli makine öğrenimi için en uygun olmayabilir. Gradyan güçlendiriciler gibi geleneksel modeller daha doğru, hesaplama açısından daha az yoğun, açıklanması daha kolay ve sınıflandırma ve regresyon problemlerini hızlandırabilir. Konuşmacı daha sonra izleyiciyi Python, veri düzenleme için Pandalar ve birçok rekabetçi modelleme yarışmasını kazanan bir gradyan güçlendirici kitaplık olan XGBoost kullanarak geleneksel bir model oluşturma sürecinden geçirir. Model, veri kümesinde %83 puan elde etti ve konuşmacı, Pickle kitaplığını kullanarak modelin nasıl kaydedileceğini açıklıyor.

  • 01:30:00 Video, sınıflandırmanın ne olduğunu ve notlar, test puanları ve deneyim gibi özelliklere göre gözlemleri nasıl gruplara ayırdığını açıklıyor. Ayrıca, ikili sınıflandırmayı ve verilerin evet veya hayır çıktısı ile iki gruba nasıl sınıflandırıldığını da kapsar. Video daha sonra yapay sinir ağlarını ve derin öğrenme modellerini tanıtarak doğrusal regresyonu bir çizgiye dayalı olarak değeri tahmin etmek olarak tanımlıyor ve bunun kanser teşhisi veya hisse senedi fiyatları gibi rastgele veri noktalarını tahmin etmek için tahminde nasıl kullanıldığını açıklıyor. Python'daki doğrusal regresyon gösterimi, verileri masaj yapmak için pandas kitaplığını kullanırken, numpy kitaplığı verileri optimize edilmiş bir dizi kapsayıcısında tutar ve matplotlib kitaplığı veri görselleştirme için kullanılır. Video, çalışılan saatler ile elde edilen puanlar arasındaki pozitif doğrusal ilişkiyi bulmak için bir grafiğin nasıl çizileceğini gösterir ve sonunda Python betiğinde doğrusal regresyon için kullanılan sınıflandırıcı modeli içe aktarır.

  • 01:35:00 Konuşmacı, denetimli bir makine öğrenimi tekniği olarak sınıflandırmanın temellerini ele alıyor ve gözlemleri özelliklerine göre gruplara ayıran basitleştirilmiş bir tanım sağlıyor. Verilen örnek, e-postaların iki kategoriye ayrıldığı spam algılamadır: spam ve spam değil. Daha karmaşık bir örnek, modelin çıktısının hayatta kalanlar için bir veya hayatta kalmayanlar için sıfır olduğu ikili bir sınıflandırma problemi olan Titanic makine öğrenimi projesidir. Bölümün bir sonraki kısmı, kütüphaneleri içe aktarma, iris veri setini kullanma, etiket kodlamayı kullanarak metinsel değerleri sayılara dönüştürme, rastgele bir orman sınıflandırıcı modelini eğitme ve tamamlanan modeli karşı test etme dahil olmak üzere yüksek doğrulukta bir sınıflandırma modelinin nasıl oluşturulacağını açıklamaktadır. % 97 doğruluk elde etmek için eğitim verileri.

  • 01:40:00 Veri kümeleri ve tabloları da dahil olmak üzere BigQuery kullanarak verilerle çalışmanın temeli ele alınır. Bir makine öğrenimi mühendisi olarak, BigQuery'de veri oluşturabilmek, karşıya yükleyebilmek ve düzenleyebilmek çok önemlidir. Bu bölümde, petabaytlarca veriyi nasıl işleyebileceği ve Google'ın Cloud Datalab adlı bulut Jupyter not defterini kullanmanın avantajları dahil olmak üzere BigQuery'deki veri düzenlemesi ele alınmaktadır. SQL dışında herhangi bir programlama bilgisi gerektirmeyen BigQuery ML de kapsam dahilindedir ve bu da veri uzmanlarının makine öğrenimi modelleri oluşturmasını kolaylaştırır. Son olarak bu bölüm, BigQuery'de bir veri kümesinin nasıl oluşturulacağı ve buna tabloların nasıl ekleneceği de dahil olmak üzere veri kümeleri ve tabloların nüanslarını kapsar.

  • 01:45:00 Konuşmacı, BigQuery'de tablo oluştururken boş bir tablo, harici veri kaynakları ve CSV, JSON, Arvo, Parquet ve ORC gibi okunabilir bir kaynaktan veri yükleme dahil olmak üzere farklı kaynak seçeneklerini tartışır. Çoğu makine öğrenimi mühendisi CSV dosyalarını kullanmayı tercih etse de, Arvo'nun yüklenmesi daha hızlıdır ve kodlama sorunları olmaksızın ayrıştırması daha kolaydır; Parquet ve ORC ise Apache Hadoop ekosisteminde yaygın olarak kullanılmaktadır. Konuşmacı daha sonra Google'ın Datalab adlı Jupyter Notebook benzeri bir arayüz içeren GCP'de barındırılan bir sanal makine (VM) olan Cloud Data Lab'i tanıtıyor. Kullanıcılar yerel olarak bir Jupyter Not Defterinden kod alıp GCP'de kullanabilir ve yeni bir Datalab örneği oluştururken, kullanıcılar bir depolama bölgesi seçer ve bir SSH anahtarı oluşturmaları istenebilir.

  • 01:50:00 Eğitmen, BigQuery ile nasıl bağlantı oluşturulacağını ve karmaşık titanik veri kümesinin bir bulut veri laboratuvarı örneğine nasıl aktarılacağını gösterir. Kullanıcılar, BigQuery'yi içe aktarıp onunla bir bağlantı oluşturarak verileri sorgulamak için SQL kodu yazabilir. Kullanıcılar, pandalar, karar ağacı sınıflandırıcı ve tren testi bölmesi gibi önceden paketlenmiş kitaplıkların yardımıyla verilerini bölümlere ayırabilir, eğitim verilerine uydurabilir ve modellerini puanlayabilir. Ek olarak, kullanıcılar sorgularında doğrudan hücre içinde değişiklikler yapabilir ve sorgudan veri kümesini barındıran yeni bir pandas veri çerçevesi oluşturmak için yürütebilir. Son olarak eğitmen, başka bir veri kümesi olan iris veri kümesinin BigQuery kullanılarak bulut veri laboratuvarı örneğine nasıl yüklenip sorgulanacağını gösterir.

  • 01:55:00 Sunum yapan kişi, verilerin BigQuery kitaplığından Google'ın Bulut Platformu üzerindeki bir Jupyter not defterine nasıl aktarılacağını gösterir. İris veri seti içe aktarılır ve eğitim ve test setlerine bölünür ve eğitim için rastgele bir orman sınıflandırıcı kullanılır. Tahmin edilen değerler model için çıktı olarak verilir. Sunum yapan kişi, Google ana sayfasından erişip "düzenle"yi tıklayarak bir bulut veri laboratuvarı örneğindeki kaynakların nasıl yükseltileceğini de gösterir.

  • 02:00:00 Konuşmacı, SQL uygulayıcılarının mevcut SQL becerilerini ve araçlarını kullanarak büyük ölçekli makine öğrenimi modelleri oluşturmasına olanak tanıyan ve böylece makine öğrenimini demokratikleştiren bir araç olan BigQuery ML'yi açıklıyor. BigQuery ML şu anda üç tür modeli desteklemektedir: doğrusal regresyon, ikili lojistik regresyon ve çok sınıflı lojistik regresyon. Konuşmacı ayrıca, SQL dilini kullanarak BigQuery'de bir ikili lojistik regresyon modelinin nasıl oluşturulacağını da açıklar. Modelin oluşturulması, modelin tanımlanmasını, seçeneklerin belirtilmesini ve SQL deyimlerini kullanarak hedef değişkenin iletilmesini içerir. Model, SQL aracılığıyla da değerlendirilebilir ve doğruluk ölçümleri sunulabilir. Son olarak konuşmacı, modelin daha önce hiç görmediği yeni verilerin geçirildiği tahmin aşamasını açıklıyor.

  • 02:05:00 Konuşmacı, bir ikili sınıflandırma modeli oluşturmak ve onu değerlendirmek için BigQuery ML'nin nasıl kullanılacağını tartışıyor. Veriler bir CSV dosyasından BigQuery'ye yüklenir ve model, hedef değişken dışındaki tüm sütunlardan geçirilir. Değerlendirme tamamlandıktan sonra, model her aile üyesi için bir tahmin yapacak ve çıktıdaki ilk sütun hayatta kalmayı tahmin edecek (hayatta kalanlar için bir, hayatta kalmayanlar için sıfır). Ardından konuşmacı, GCP'de Google depolama alanıyla çalışmak için kullanılan bir komut satırı aracı olan gsutil adlı komut satırı aracını yüklemeye geçer. Araç, farklı erişilebilirlik ve fiyatlandırmaya sahip üç depolama düzeyi sunar.

  • 02:10:00 Konuşmacı, gsutil kullanılarak Google Cloud Storage'da dosyaların nasıl yükleneceği ve yönetileceğini gösterir. İlk olarak, kullanıcının projeyi içinde çalışacak şekilde ayarlaması ve her grup adının benzersiz olması gerektiğini akılda tutarak gsutil mb'yi kullanarak bir grup oluşturması gerekir. Ardından konuşmacı, verileri kimin okuyup yazabileceğini kontrol etmek için erişim kontrol listelerini (ACL'ler) kullanarak bir dosyanın bir klasöre nasıl kopyalanacağını ve dosyaya genel erişim izninin nasıl verileceğini açıklar. Konuşmacı ayrıca gsutil kullanarak ve yükleme işlemini hızlandırmak için -m anahtarını kullanarak dosyaların nasıl indirilip başka bir klasöre kopyalanacağını gösterir. Konuşmacı, verilerin ilişkisel bir veritabanından iki dosyaya nasıl aktarılacağını ve Cloud Storage kullanılarak GCP'ye nasıl yükleneceğini göstererek bitirir.

  • 02:15:00 Konuşmacı, Google Cloud Platform'un BigQuery'sine iki veri kümesinin nasıl yükleneceğini, SQL kullanarak bu gruplara nasıl birleştirileceğini ve makine öğrenimi modelleri oluşturmak için bir görünümün nasıl oluşturulacağını gösterir. Verileri SQL Server'dan dışa aktardıktan ve CSV dosyaları olarak kaydettikten sonra, konuşmacı bunları GCP'nin bulut depolama grubuna yükler, BigQuery'ye indirir ve basit bir birleştirme ifadesi kullanarak birleştirir. Son olarak, konuşmacı, makine öğrenimi modellerinde kullanmak üzere bu daha büyük veri kümesinin bir görünümünün nasıl oluşturulacağını gösterir.

  • 02:20:00 Konuşmacı, Titanic projesi veri kümesi için Google BigQuery on Cloud Platform'da bir tablo oluşturma sürecini anlatıyor. Veri setini yerel kaynaklarından yüklerler, CSV dosyasındaki şemayı otomatik olarak algılarlar ve başlık bilgisi içerdiğinden ilk satırı atlarlar. Tabloyu başarıyla oluşturduktan sonra sorgular ve verilerin ve başlıkların doğru göründüğünü onaylarlar. Konuşmacı, veri setinin artık projenin sonraki adımları için hazır olduğunu belirtiyor.
Machine Learning with BigQuery on Google's Cloud Platform
Machine Learning with BigQuery on Google's Cloud Platform
  • 2022.04.25
  • www.youtube.com
A complete look at BigQuery for machine learning.LogikBot - Affordable, Real-World and Comprehensive - https://www.logikbot.comThere are two core paths on Lo...
Neden: