Bu proje, makine öğrenimi teknikleri kullanarak Capital Bikeshare sisteminde bisiklet talebini tahmin eden kapsamlı bir veri bilimi çalışmasıdır. Gerçek zamanlı hava durumu verilerini entegre ederek tahmin doğruluğunu artırır ve sürdürülebilir ulaşım çözümlerine katkıda bulunur. Proje, veri analizi, özellik mühendisliği, model geliştirme ve iş odaklı içgörüler sunarak bisiklet paylaşım sistemlerinin optimizasyonuna yönelik pratik çözümler sunar.
Bu proje, bisiklet paylaşım sistemlerindeki talebi analiz etmek ve tahmin etmek için tasarlanmıştır. Sentetik veri kullanılarak gerçek dünya senaryolarını simüle eder ve işletmelere uygulanabilir öneriler sunar. Temel bileşenler şunlardır:
- Veri Üretimi: Gerçekçi bisiklet paylaşım desenlerini taklit eden sentetik veri seti.
- Keşifsel Veri Analizi (EDA): Zaman, istasyon ve hava durumu koşullarına göre kullanım desenlerini görselleştirme.
- Özellik Mühendisliği: Yoğun saatler, hava durumu kategorileri ve geçmiş talep gibi özellikler.
- Makine Öğrenimi Modelleri: Lineer Regresyon ve Rastgele Orman modelleri ile tahmin.
- Model Değerlendirme: RMSE, MAE ve R² metrikleriyle performans analizi.
- Tahminler: Belirli istasyonlar ve zamanlar için talep tahminleri.
- İş İçgörüleri: Bisiklet dağıtımı, fiyatlandırma ve operasyonel optimizasyon önerileri.
- Etkileşimli Görselleştirme: Plotly ile yıllık talep trendlerini gösteren interaktif pano.
Proje, sürdürülebilir ulaşımı destekleyerek çevre dostu alternatiflere katkıda bulunmayı amaçlar.
Proje, modern veri bilimi ve görselleştirme araçlarını kullanır:
- Python: Ana programlama dili.
- Pandas: Veri manipülasyonu ve analizi.
- NumPy: Sayısal hesaplamalar.
- Matplotlib ve Seaborn: Statik görselleştirmeler.
- Plotly: Etkileşimli görselleştirmeler.
- Scikit-learn: Makine öğrenimi modelleri.
- Requests: Opsiyonel gerçek zamanlı hava durumu verisi entegrasyonu (OpenWeatherMap API).
Projenin çalıştırılması için aşağıdaki araçların yüklü olması gerekir:
- Python 3.8 veya üstü
- Jupyter Notebook veya Google Colab
- Gerekli kütüphaneler (aşağıdaki
requirements.txtdosyasında listelenmiştir)
- Depoyu klonlayın:
git clone https://github.com/hzlparlak/capital-bikeshare-demand-prediction.git cd capital-bikeshare-demand-prediction - Bağımlılıkları yükleyin:
pip install -r requirements.txt
- Jupyter Notebook'u başlatın:
jupyter notebook
bike_share_analysis.ipynbdosyasını açın ve hücreleri sırayla çalıştırın.
Alternatif olarak, not defterini Google Colab'a yükleyerek tarayıcı üzerinden çalıştırabilirsiniz.
requirements.txt dosyası aşağıdaki kütüphaneleri içerir:
pandas>=1.5.0
numpy>=1.23.0
matplotlib>=3.5.0
seaborn>=0.12.0
plotly>=5.10.0
scikit-learn>=1.1.0
requests>=2.28.0
Proje, bisiklet paylaşım kullanımını simüle eden sentetik bir veri seti kullanır. Bu veri, gerçek dünya desenlerini taklit edecek şekilde tasarlanmıştır (ör. yoğun saatler, hava durumu etkileri). Gerçek senaryolarda veri, Capital Bikeshare API'si veya benzer kaynaklardan elde edilebilir.
Not: Gerçek hava durumu verisi entegrasyonu için OpenWeatherMap API anahtarı gereklidir. Ücretsiz bir anahtar almak için OpenWeatherMap adresini ziyaret edin. Anahtarı eklemek için main fonksiyonunda şu satırı düzenleyin:
analyzer.set_weather_api_key('your_openweathermap_api_key_here')- Zaman bazlı analiz: Yoğun saatler, haftalık ve mevsimsel trendler.
- İstasyon bazlı analiz: En popüler ve en az kullanılan istasyonlar.
- Hava durumu etkisi: Yağış ve sıcaklık gibi faktörlerin talebe etkisi.
- Zaman temelli özellikler: Saat, gün, ay, mevsim, yoğun saat göstergeleri.
- Hava durumu özellikleri: Sıcaklık, nem, yağış, yüksek nem göstergesi.
- Diğer: İstasyon popülerliği, geçmiş talep (lag).
- Modeller: Lineer Regresyon ve Rastgele Orman.
- Değerlendirme Metrikleri:
- RMSE: Tahmin hatalarının büyüklüğü.
- MAE: Ortalama mutlak hata.
- R²: Modelin açıklayıcı gücü.
Union Station için 15 Mart 2024, 08:30'da yapılan örnek tahmin:
- Sıcaklık: 15°C
- Nem: %65
- Yağış: 0 mm
- Çıktı: Tahmin edilen bisiklet talebi (örnek).
- Yoğun saatlerde bisiklet tahsisini artırma.
- Popüler istasyonlara öncelik verme.
- Yağışlı günlerde korumalı istasyonlar oluşturma.
- Dinamik fiyatlandırma stratejileri.
Katkılarınızı memnuniyetle karşılıyoruz! Yeni özellikler, hata düzeltmeleri veya iyileştirme önerileri için:
- Bir issue açın ve önerinizi açıklayın.
- Depoyu çatallayın (fork), değişikliklerinizi yapın ve bir pull request gönderin.
- Kod standartlarına uygun olun ve değişikliklerinizi belgeleyin.
Sorular, öneriler veya işbirliği için:
- E-posta: [hazalparlak06.hp@gmail.com]
- LinkedIn: [https://www.linkedin.com/in/hazalparlak/]
S: Gerçek veri nasıl eklenir?
C: Capital Bikeshare API'sinden veya benzer bir kaynaktan veri çekerek generate_sample_data metodunu değiştirebilirsiniz.
S: API anahtarı olmadan çalışır mı?
C: Evet, proje sentetik veriyle çalışır. API anahtarı yalnızca gerçek hava durumu verisi için gereklidir.
S: Hangi platformlarda çalıştırılabilir?
C: Jupyter Notebook, Google Colab veya herhangi bir Python ortamında çalıştırılabilir.