Bu projemde, NBA takımlarının gelecekteki maçlarında toplam kaç sayı atılacağını tahmin etmek amacıyla bir veri analizi yaklaşımı kullanıyorum. Projem, veri çekme, veri işleme ve makine öğrenimi analizlerini içermektedir.
NBA takımlarının gelecekteki ve geçmişteki maç verilerini elde etmek için, "Basketball Reference" adlı web sitesinden veri çekme işlemi gerçekleştiriyorum. Bu veriler, her iki takımın gelecekteki maç tarihleri ve takımların geçmiş maçlarının sonuçları gibi bilgileri içermektedir.
Elde edilen verileri işlemek için Python dilinde popüler veri işleme kütüphaneleri olan NumPy ve Pandas kütüphanelerini kullanıyorum. Verileri düzenliyorum ve özellik mühendisliği yapıyorum. Özellikle, her iki takımın geçmiş maçlarına dayalı istatistikleri çıkararak tahmin modeli için girdi verilerini oluşturuyorum.
Tahmin yapmak için makine öğrenimi tekniklerini kullanıyorum. Sklearn kütüphanesinde bulunan LinearRegression algoritması ile verileri analiz ediyorum. Bu algoritma, iki takım arasındaki geçmiş maçlara dayalı istatistikleri kullanarak gelecekteki maçlarda toplam kaç sayı atılacağını tahmin etmek için kullanıyorum.
-
İlk olarak, mevcut tarih, ay ve saati datetime modülü kullanılarak alınır.
-
Ardından, NBA takımlarının istatistiklerini ve oynadıkları maçları içeren bir web sitesinden veri çekmek için requests_html ve HTMLSession kullanılır.
-
Veriler çekildikten sonra, her bir takım için istatistikler ayrı ayrı çekilir ve uygun listelere eklenir.
-
Gelecekteki maçların programını içeren bir web sayfası da çekilir ve maçların tarihleri, saatleri, ev sahibi ve deplasman takımları gibi bilgiler alınır.
-
Daha sonra, geçmiş maçlara dayalı olarak bir tahmin modeli oluşturmak için istatistikler ve maç sonuçları bir araya getirilir. Bu model, Sklearn kütüphanesinde bulunan LinearRegression ile eğitilir.
-
Gelecekteki maçların tahminleri yapılır ve sonuçlar predicted_matches adlı bir liste içinde saklanır.
-
Tahmin modeli bir .sav dosyasına kaydedilir, böylece gelecekte kullanılabilir.
- Son olarak, tahmin sonuçları ve modelin katsayıları ve intercept değeri ekrana yazdırılır.