File size: 2,884 Bytes
b8e944b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# DepremData 🌍

Deprem verilerini analiz etmek ve deprem tahmin modeli oluşturmak için geliştirilmiş makine öğrenmesi projesi.

## 📋 Proje Hakkında

Bu proje, deprem verilerini kullanarak makine öğrenmesi modelleri oluşturmayı amaçlamaktadır. Proje kapsamında:
- Deprem verilerinin ön işlenmesi
- Özellik mühendisliği
- Tahmin modeli eğitimi
- Model değerlendirme ve test

## 🗂️ Dosya Yapısı

```
depremdata/
├── README.md                    # Proje dokümantasyonu
├── features.json               # Model özellikleri listesi
├── earthquake_model.joblib     # Eğitilmiş deprem tahmin modeli
├── scaler.joblib               # Veri ölçeklendirme modeli
└── .git/                       # Git versiyon kontrolü
```

## 🔬 Özellikler

Modelde kullanılan özellikler:
- **Coğrafi Bilgiler**: enlem, boylam, derinlik
- **Deprem Özellikleri**: magnitüd
- **Zamansal Bilgiler**: yıl, ay, gün, saat, dakika, saniye
- **Türetilmiş Özellikler**: yılın günü, hafta günü, son depremden geçen süre
- **Etkileşim Özellikleri**: magnitüd değişimi, enlem-boylam etkileşimi

## 🚀 Kullanım

### Model Yükleme
```python
import joblib

# Modeli yükle
model = joblib.load('earthquake_model.joblib')
scaler = joblib.load('scaler.joblib')

# Özellikleri yükle
import json
with open('features.json', 'r') as f:
    features = json.load(f)
```

### Tahmin Yapma
```python
# Örnek veri ile tahmin
import numpy as np

# Yeni veri hazırlama (features.json'daki sıraya göre)
new_data = np.array([[latitude, longitude, depth, magnitude, year, month, day, 
                      hour, minute, second, day_of_year, weekday, 
                      time_since_last_earthquake, magnitude_change, 
                      lat_lon_interaction]])

# Veriyi ölçeklendir
scaled_data = scaler.transform(new_data)

# Tahmin yap
prediction = model.predict(scaled_data)
```

## 📊 Model Performansı

Model eğitildiğinde aşağıdaki metrikler kullanılarak değerlendirilmiştir:
- Mean Squared Error (MSE)
- Root Mean Squared Error (RMSE)
- Mean Absolute Error (MAE)
- R² Score

## 🛠️ Gereksinimler

- Python 3.7+
- scikit-learn
- pandas
- numpy
- joblib

## 📄 Lisans

Bu proje MIT lisansı altında dağıtılmaktadır.

## 🤝 Katkıda Bulunma

Katkıda bulunmak isterseniz:
1. Bu depoyu fork edin
2. Yeni bir özellik dalı oluşturun (`git checkout -b feature/yeni-ozellik`)
3. Değişikliklerinizi commit edin (`git commit -am 'Yeni özellik eklendi'`)
4. Dalı push edin (`git push origin feature/yeni-ozellik`)
5. Bir Pull Request oluşturun

## 📞 İletişim

Proje hakkında sorularınız için lütfen GitHub Issues bölümünü kullanın.

---

**⚠️ Önemli Not**: Bu proje eğitim ve araştırma amaçlıdır. Gerçek deprem tahminleri için resmi kurumların uyarılarını takip ediniz.