File size: 1,934 Bytes
6cdb17c
 
 
 
 
 
 
 
 
8c3c877
6cdb17c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f73d47d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
---
title: Scrabble Player Rating
emoji: 🎯
colorFrom: indigo
colorTo: blue
sdk: streamlit
app_file: app.py
pinned: false
license: mit
sdk_version: 1.45.1
---




# 📘 Proje Adı: Scrabble Oyuncu Derecesi Tahmin Modeli

## 🎯 Proje Amacı:
Bu proje, Kaggle üzerindeki "Scrabble Player Rating" yarışması kapsamında geliştirilmiştir. Amaç, bir Scrabble oyuncusunun yalnızca tek bir maç performansı kullanılarak oyun öncesi derecesini (rating) tahmin etmektir.

## 📦 Veri Seti:
Veri seti Woogles.io platformundan alınan yaklaşık 73.000 oyunu içermektedir. Her oyun iki oyuncunun:
- Skor bilgisi
- Nickname (bot veya insan)
- Rating değeri
- Game ID (eşleşme kimliği)

verilerini içermektedir. Ayrıca hamle düzeyinde ek veri olan `turns.csv` dosyası da bulunmaktadır.

## ⚙️ Kullanılan Yöntem:
- Veri ön işleme (negatif skor temizliği, bot kontrolü)
- Özellik mühendisliği (skor farkı, kazanan durumu, bot karşılaşması)
- Geniş veri formatında oyuncu eşleşmeleri oluşturuldu
- Model olarak `RandomForestRegressor` kullanıldı
- Performans metriği olarak RMSE: **215.77**

## 💡 Model Girdileri (Streamlit için):
- Player 1 Skoru
- Player 2 Skoru
- Player 1 Kazandı mı?
- Rakip Bot mu?

Bu bilgilerle model, `Player 1`'ın tahmini rating'ini üretir.

## 🧪 Örnek Girdi:
```json
{
  "player1_score": 420,
  "player2_score": 390,
  "player1_is_winner": true,
  "player1_vs_bot": false
}



📁 Çıktılar:
model.pkl: Eğitilmiş model

app.py: Streamlit arayüzü

requirements.txt: Gerekli kütüphaneler

sample_input.json: Örnek test girdisi

README.md: GitHub + Hugging Face dokümantasyonu



🚀 Geliştirme Fırsatları:
turns.csv kullanılarak hamle bazlı özellik mühendisliği yapılabilir

Model doğruluğu arttırmak için LightGBM veya XGBoost ile karşılaştırma yapılabilir

Oyunculara özel geçmiş bilgileriyle rating tahmini iyileştirilebilir