File size: 2,176 Bytes
2af271a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---

title: Ion Switching Predictor
emoji: 
colorFrom: gray
colorTo: blue
sdk: streamlit
sdk_version: "1.32.2"
app_file: app.py
pinned: false
---


# ⚡ Ion Switching - Sinyal Tabanlı Kanal Tahmini

Bu proje, Liverpool Üniversitesi tarafından sunulan zaman serisi tabanlı Kaggle yarışmasına dayanmaktadır.  
Amaç, sinyal verilerine dayanarak açık kanal sayısını (`open_channels`) tahmin etmektir.

## 📦 Kullanılan Veri Seti

- Yarışma: [University of Liverpool - Ion Switching](https://www.kaggle.com/competitions/liverpool-ion-switching)
- Girdi Özellikleri:
  - `time`: Zaman damgası
  - `signal`: Sinyal değeri
- Hedef:
  - `open_channels`: 0–10 arasında değişen kanal sınıfları

## 🧠 Kullanılan Yöntemler

- Rolling window tabanlı özellik mühendisliği:
  - Ortalama, standart sapma, min, max (pencere: 10, 50, 100)
- Makine öğrenmesi modeli:
  - `LightGBMClassifier`
- Model değerlendirme:
  - Accuracy: **%98**
  - Macro F1-score: **0.94**
  - Weighted F1-score: **0.99**

## 🚀 Streamlit Uygulaması

Kullanıcıdan yüklenen CSV dosyasındaki `signal` verilerine göre `open_channels` tahmini yapılır.  
Model, `.pkl` formatında yüklenir. Sonuçlar indirilebilir.

## 🧪 Örnek Kullanım

1. `signal` sütunu içeren CSV dosyanızı yükleyin
2. Model, rolling özellikleri ekleyerek tahmin yapar
3. `predicted_open_channels` sütunu ile sonuçları görebilir, indirilebilir CSV alabilirsiniz

## 🧰 Gereksinimler

```bash

pip install -r requirements.txt

```

## 🧾 Dosya Yapısı

```

📁 ion-switching-app/

├── app.py

├── ion_switch_model.pkl

├── requirements.txt

└── README.md

```

## 🤗 Model Paylaşımı

> Hugging Face Spaces + GitHub üzerinden dağıtılmıştır.  
> Model dosyası (`.pkl`) Hugging Face Model Hub'a yüklenebilir veya örnek JSON + açıklama ile paylaşılabilir.

## 📌 Geliştirilebilir Özellikler

- LSTM/CNN ile zaman serisi derin öğrenme modeli
- Kapsamlı rolling feature grid search
- Sinyal segmentasyonu ile daha hassas blok modelleri

## 📄 Lisans

MIT License