VasiTeknoloji adlı üyeden alıntı: mesajı görüntüle
Merhaba,
EEG ile 4 denek üzerinden alınmış beyin sinyallerinin (dkaggle üzerinden hazır dataset kullanılmıştır) SVM ve MLP kıyaslaması. Phyton veya Matlap farketmez.

Matlab dersi için değildir.
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.