Skip to content

Commit

Permalink
- Replace magic number '1' (class column) with Config.classColumn var…
Browse files Browse the repository at this point in the history
…iable.

- Comments
- Keep only inner speech condition in LSTM and EEGNet
  • Loading branch information
vkitsios committed Jan 11, 2024
1 parent c761fda commit f03835d
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 7 deletions.
5 changes: 4 additions & 1 deletion Python_Processing/Utilitys.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,9 @@ def getFullNameFromSbjNumber(sbjNumber):


def filterCondition(X, Y, conditionID, discardNonEssentialCols=True):
# If discardNonEssentialCols is set to True, it will only return the Class and Session# columns and discard the other 2
# This is needed in saveSubjectDataToMat.py because we need only those two columns.

# Keep only trials for given condition
idxInnerSpeechTrials = (Y[:, Config.conditionColumn] == conditionID)

Expand All @@ -153,7 +156,7 @@ def filterCondition(X, Y, conditionID, discardNonEssentialCols=True):

if discardNonEssentialCols:
# Keep only essential columns
columnsToKeep = [Config.classColumn, Config.sessionColumn] # Class and Session# columns
columnsToKeep = [Config.classColumn, Config.sessionColumn]
Y = Y[:, columnsToKeep]

return X, Y
Expand Down
6 changes: 3 additions & 3 deletions testLSTM.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@

# Load all trials for a single subject
X, Y = Extract_data_from_subject(Config.datasetDir, N_S, datatype)
#X, Y = filterCondition(X, Y, Config.idInnerCondition, discardNonEssentialCols=False)
X, Y = filterCondition(X, Y, Config.idInnerCondition, discardNonEssentialCols=False)


electrodes = ["D5","D6","D7","D8","D9","D10","D11","D12","D13","D14","D15","D16","D17","D18","D19","D20","D21","D22","D23","D24","D25","D26","D27","D28","D29","D30","D31","D32"]
#electrodes = ["A5","A6","A7","A8","A9","A10","A11","A14","A16","A17","A18","A19","A21","A24","A25","A28","A29","B3","B5","B6","B7","B8","B9","B10","B11","B12","B13","B16","B21","B26","C10","C13","C15","C16","C18","C28","C29","D5","D17","D18","D19","D20","D25","D27","D28","D29","D30"]
#X = selectElectrodes(X, electrodes)
X = Select_time_window(X) # Keep only action interval
y = Y[:, 1]
y = Y[:, Config.classColumn]

useSpectralDomainData = False
if useSpectralDomainData:
Expand Down Expand Up @@ -79,7 +79,7 @@
sgd = SGD(learning_rate=0.001)
adam = Adam(learning_rate=0.0001)
model.compile(optimizer=adam, loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=40, batch_size=64, validation_split=0.25)
model.fit(X_train, y_train, epochs=40, batch_size=16, validation_split=0.25)


#print(model.predict(X_test))
Expand Down
2 changes: 1 addition & 1 deletion testSVM.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
electrodes = ["A5","A6","A7","A8","A9","A10","A11","A14","A16","A17","A18","A19","A21","A24","A25","A28","A29","B3","B5","B6","B7","B8","B9","B10","B11","B12","B13","B16","B21","B26","C10","C13","C15","C16","C18","C28","C29","D5","D17","D18","D19","D20","D25","D27","D28","D29","D30"]
#X = selectElectrodes(X, electrodes)
X = Select_time_window(X) # Keep only action interval
y = Y[:, 1]
y = Y[:, Config.classColumn]

psds, freqs = psd_array_welch(X, 256, fmin=8, fmax=100, verbose=False)
X = psds.reshape(psds.shape[0], -1) # Flatten data into 2D
Expand Down
4 changes: 2 additions & 2 deletions testSVΜ_AllSubjects.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@

electrodes = ["D5","D6","D7","D8","D9","D10","D11","D12","D13","D14","D15","D16","D17","D18","D19","D20","D21","D22","D23","D24","D25","D26","D27","D28","D29","D30","D31","D32"]
#electrodes = ["A5","A6","A7","A8","A9","A10","A11","A14","A16","A17","A18","A19","A21","A24","A25","A28","A29","B3","B5","B6","B7","B8","B9","B10","B11","B12","B13","B16","B21","B26","C10","C13","C15","C16","C18","C28","C29","D5","D17","D18","D19","D20","D25","D27","D28","D29","D30"]
X = selectElectrodes(X, electrodes)
#X = selectElectrodes(X, electrodes)
X = Select_time_window(X) # Keep only action interval
y = Y[:, 1] # Keep only labels
y = Y[:, Config.classColumn] # Keep only labels

psds, freqs = psd_array_welch(X, 256, fmin=8, fmax=100, verbose=False)
X = psds.reshape(psds.shape[0], -1) # Flatten data into 2D
Expand Down

0 comments on commit f03835d

Please sign in to comment.