I have a time-series dataset for a classification problem. The data contains brain signals collected via EEG eletrodes along 2 seconds in frequency (Hz). The classes are divided in different files (so each file contains only one class). This is a typical BCI (Brain-computer interface) classification problem, and as far as i know it is the usual way of separating classes for classification.

I want to know the proper way to prepare data for the classifier algorithms, since i have no X,Y values such as a common classification problem should have and the data is time-dependant. Any explanation/material is welcome.

I'm considering using scikit-learn MLPClassifier as well.


Welcome to the community!

Well ... the answer needs a bit of explanation. It is not about MLPclassfier or another python function. It is about background in Signal Processing/Analysis specially for bio-signal.

For different bio-signals like EEG there has been feature extraction studies for long while. For example in your problem, BCI, you probably know P300, etc which are common features (I am pretty outdated. You may have a look at recent review papers.). So usually you extract features from these signals and use them as the input of your classifier (those X, Y values that you mentioned). I explain a bit:

In General

There are general feature extraction methods from signals. They either extracted from signal in time-domain or frequency domain or time-frequency domain.

Have a look at those links and get an overview.


But for specific bio-signals you don't need to re-invent the wheel. There is a long history of methods for EEg signal analysis. For BCI in particular, there are again reviews to help you find good feature extraction and classification methods.

Finally my point is that, MLPclassifier is just a python function. According to my experience as a ML scientist coming originally from Biomedical Data Analysis, the question is more about "what to do?" before "how to do?". I hope it helped. If you had more questions please comment so I can update my answer.

Good Luck!

| improve this answer | |
  • $\begingroup$ Thanks for your kind welcome and answer! In fact i already have an idea of "what to do" but since i've never worked with time-series data, i don't know how to present data to a classification algorithm. I know it is very common in BCI problems to use an entire file (records are separated by file, per user and per class) for a single class. $\endgroup$ – joann2555 Feb 18 at 18:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.