JosephC adlı üyeden alıntı: mesajı görüntüle
EEG verilerini yükler, özelliklerini çıkarır, SVM ve MLP modellerini eğitir ve test eder, sonuçlarını raporlar:


import pandas as pd
import mne
from sklearn.svm import SVC
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split

# EEG verilerini yükleyin
df = pd.read_csv('path/to/eeg_data.csv')

# Verileri ön işleyin (filtreleme, örneklem frekansı düşürme vb.)
raw = mne.io.read_raw_csv('path/to/eeg_data.csv')
# raw.filter(l_freq=1, h_freq=40)
# raw.resample(100)

# Özellikleri çıkarın
events = mne.find_events(raw)
epochs = mne.Epochs(raw, events, tmin=-0.5, tmax=1.5, baseline=None, preload=True)
X = epochs.get_data()
y = epochs.events[:, -1]

# Verileri eğitim, doğrulama ve test setlerine ayırın
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# SVM modelini eğitin
svm_model = SVC()
svm_model.fit(X_train, y_train)

# MLP modelini eğitin
mlp_model = MLPClassifier(hidden_layer_sizes=(100, 50), max_iter=1000)
mlp_model.fit(X_train, y_train)

# Model performansını değerlendirin
# Doğrulama seti üzerinde
y_val_pred = svm_model.predict(X_val)
print('SVM doğruluk:', svm_model.score(X_val, y_val))
print(classification_report(y_val, y_val_pred))

y_val_pred = mlp_model.predict(X_val)
print('MLP doğruluk:', mlp_model.score(X_val, y_val))
print(classification_report(y_val, y_val_pred))

# Test seti üzerinde
y_test_pred = svm_model.predict(X_test)
print('SVM test doğruluk:', svm_model.score(X_test, y_test))
print(classification_report(y_test, y_test_pred))

y_test_pred = mlp_model.predict(X_test)
print('MLP test doğruluk:', mlp_model.score(X_test, y_test))
print(classification_report(y_test, y_test_pred))
Not: Verilerin yüklenmesi ve özellik çıkarma adımları, örneklem frekansını düşürme veya sinyalleri filtreleme gibi diğer işlemler gibi uygulanacak işlemlere bağlı olarak değişebilir.
Geçen sene lazımdı hocam, yine de teşekkürler.