Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Capital Bikeshare Demand Prediction

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.

📖 Proje Genel Bakışı

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.

🛠️ Kullanılan Teknolojiler

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).

🚀 Kurulum ve Çalıştırma Talimatları

Ön Koşullar

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.txt dosyasında listelenmiştir)

Adım Adım Kurulum

  1. Depoyu klonlayın:
    git clone https://github.com/hzlparlak/capital-bikeshare-demand-prediction.git
    cd capital-bikeshare-demand-prediction
  2. Bağımlılıkları yükleyin:
    pip install -r requirements.txt
  3. Jupyter Notebook'u başlatın:
    jupyter notebook
  4. bike_share_analysis.ipynb dosyası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.

Gereksinimler

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

📊 Veri Kaynağı

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')

🔍 Analiz ve Modelleme

Keşifsel Veri Analizi (EDA)

  • 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.

Özellik Mühendisliği

  • 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).

Makine Öğrenimi

  • 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ü.

Örnek Tahmin

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).

İş İçgörüleri

  • 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ıda Bulunma

Katkılarınızı memnuniyetle karşılıyoruz! Yeni özellikler, hata düzeltmeleri veya iyileştirme önerileri için:

  1. Bir issue açın ve önerinizi açıklayın.
  2. Depoyu çatallayın (fork), değişikliklerinizi yapın ve bir pull request gönderin.
  3. Kod standartlarına uygun olun ve değişikliklerinizi belgeleyin.

📬 İletişim

Sorular, öneriler veya işbirliği için:

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.


About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages