EEG features values classification
8 views (last 30 days)
Show older comments
Hello. I have an exercise in which 4 features from EEG are extracted(delta, theta ,alpha, beta). I was asked to visualize the features values belonging to each class, seizure on non seizure. And after that to compute the mean and the standard deviation of the values of each class. My 4 features is one matrix 124x4 and the labels is 1x124. My seizure length is 62. Do you know how can I start solving this exercise because I am starter in Matlab and I am not familiar with classification... Thank you..
0 Comments
Accepted Answer
Star Strider
on 7 Nov 2014
I would start by separating out the ‘seizure’ data from the ‘normal’ data. Take the means and standard deviations of those for your four EEG bands, so when you’re finished, you have 8 values for the means and another 8 for the standard deviations.
After that, what you do depends on your statistics background and the classification techniques you’re supposed to use.
0 Comments
More Answers (3)
Georgios P
on 10 Nov 2014
1 Comment
Star Strider
on 10 Nov 2014
I don’t know what classification options you are supposed to use, since this seems to be a homework project. There are several different classifiers, the easiest to program being the K-th Nearest Neighbour (the knnsearch function), although it’s easy to write your own simple version.
I would use the discriminant function classify for your data. (I used a linear discriminant for EEG classification about 20 years ago, but with BMDP, not MATLAB).
Another option is k-Means Clustering. I haven’t used it, but it could be appropriate for your classification problem.
One other way to visualise them is to use a boxplot function. I would plot the features side-by-side for both classes in one box plot. You have four features, so plottting them with most other functions (such as gscatter) is not going to be an option, at least in this universe.
If your data are actual, real-world data, getting a distinct, linear separation between the classes won’t be an issue, since it won’t exist.
Georgios P
on 10 Nov 2014
3 Comments
Star Strider
on 10 Nov 2014
Edited: Star Strider
on 10 Nov 2014
My pleasure!
I would use the gscatter plot for each feature. To get the separation border, I would use the steps described in the classify documentation that does something similar. (I provided a link to that in my previous comment.)
Our EEG data were, too, although not from seizure and interictal data. We used the linear discriminant to classify (train) and then determine (test) the tasks subjects were doing based the time-frequency data of EEG activation patterns. (We published it in 1995.)
Georgios P
on 22 Nov 2014
3 Comments
Star Strider
on 22 Nov 2014
You can only plot each feature against one other feature in a 2D plot to present the data in any way that is meaningful. It would be very difficult to visualise even the separation boundaries in a 3D plot without being able to rotate it in a GUI, and impossible to plot anything beyond that. That isn’t a MATLAB constraint so much as a practical constraint.
See Also
Categories
Find more on EEG/MEG/ECoG in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!