yazodi's picture
Upload 4 files
2af271a verified
---
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