commited on
Commit
875819b
·
verified ·
1 Parent(s): 72bec06

Upload 3 files

Browse files
Files changed (3) hide show
  1. README.md +83 -1
  2. team_encoder.pkl +3 -0
  3. team_points_predictor.pkl +3 -0
README.md CHANGED
@@ -1,3 +1,85 @@
1
  ---
2
- license: mit
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ tags:
3
+ - machine-learning
4
+ - regression
5
+ - sports-analytics
6
+ - formula1
7
+ - streamlit
8
+ - huggingface
9
  ---
10
+
11
+ # 🏎️ F1 Team Points Predictor
12
+
13
+ Bu proje, 1950–2020 yılları arasındaki Formula 1 yarış verilerini kullanarak bir takımın bir yarışta alacağı puanı tahmin etmeye yönelik bir regresyon modeli içerir. Takım adı, yarış yılı ve pist bilgileri modele verilerek tahmini puan çıktısı elde edilir.
14
+
15
+ ## 📌 Kullanılan Veri Seti
16
+
17
+ - Kaggle → [Formula 1 World Championship (1950 - 2020)](https://www.kaggle.com/datasets/rohanrao/formula-1-world-championship-1950-2020)
18
+
19
+ Kullanılan dosyalar:
20
+ - `constructor_results.csv`
21
+ - `constructors.csv`
22
+ - `races.csv`
23
+
24
+ ## 🧪 Proje Adımları
25
+
26
+ 1. Veriler birleştirildi ve her yarış için takım, yıl, pist bilgileri çıkarıldı.
27
+ 2. `LabelEncoder` ile kategorik veriler sayısal hale getirildi.
28
+ 3. Model girdisi: `year`, `team_encoded`, `circuit_encoded`
29
+ 4. Model hedefi: `points` (takımın o yarışta aldığı puan)
30
+ 5. `RandomForestRegressor` eğitildi ve RMSE ≈ 4.42, R² ≈ 0.65 başarı elde edildi.
31
+ 6. Model ve encoder’lar `.pkl` olarak kaydedildi.
32
+ 7. Kullanıcı arayüzü Streamlit ile geliştirildi.
33
+
34
+ ## 🖥️ Streamlit Arayüzü
35
+
36
+ Kullanıcı:
37
+ - Yıl (slider ile)
38
+ - Takım (seçim kutusu)
39
+ - Pist ID (seçim kutusu)
40
+
41
+ seçerek puan tahmini alabilir.
42
+
43
+ ## 📦 Gereksinimler
44
+
45
+ ```bash
46
+ pip install -r requirements.txt
47
+
48
+
49
+ ▶ Uygulamayı Çalıştır
50
+ streamlit run app.py
51
+
52
+
53
+ 🔍 Model Dosyaları
54
+ team_points_predictor.pkl → Eğitimli regresyon modeli
55
+
56
+ team_encoder.pkl → Takım adlarını sayıya çeviren etiketleyici
57
+
58
+ circuit_encoder.pkl → Pist ID’lerini sayıya çeviren etiketleyici
59
+
60
+
61
+ 🧠 Kullanım Örneği
62
+ import joblib
63
+
64
+ model = joblib.load('team_points_predictor.pkl')
65
+ team_encoder = joblib.load('team_encoder.pkl')
66
+ circuit_encoder = joblib.load('circuit_encoder.pkl')
67
+
68
+ input_data = [[2020, team_encoder.transform(['Mercedes'])[0], circuit_encoder.transform(['monza'])[0]]]
69
+ predicted_points = model.predict(input_data)
70
+ print(f"Tahmin Edilen Puan: {predicted_points[0]:.2f}")
71
+
72
+
73
+
74
+ 🚀 Model Yüklemeleri
75
+ Bu model aşağıdaki platformlara da yüklenebilir:
76
+
77
+ 🤗 Hugging Face: team_points_predictor.pkl + encoder’lar
78
+
79
+ 💻 GitHub: notebook, app.py, requirements.txt, README.md
80
+
81
+
82
+ 👤 Geliştirici
83
+ Bu proje, yapay zekâ alanında uygulamalı portfolyo geliştirmek amacıyla oluşturulmuştur. Spor analitiği, veri mühendisliği ve makine öğrenimi alanlarının birleşimini temsil eder.
84
+
85
+
team_encoder.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:36714d4f97e49724d2a1ac5c5d1c1c2a374f7eab53ff4b855ce40eddd2fa91fa
3
+ size 3198
team_points_predictor.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:94eb83e0f1efeff33d84a188c6d3280d6bc8d9add0eb0891529388fe32c65c15
3
+ size 53568433