hç
commited on
Upload 3 files
Browse files- README.md +83 -1
- team_encoder.pkl +3 -0
- team_points_predictor.pkl +3 -0
README.md
CHANGED
@@ -1,3 +1,85 @@
|
|
1 |
---
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|