{
  "id": 7914,
  "title": "Informative Channels?",
  "url": "/competitions/decoding-the-human-brain/discussion/7914",
  "author_name": "",
  "post_date": "2014-04-29T00:19:23.457Z",
  "votes": null,
  "comment_count": 1,
  "views": 1406,
  "content": "<p>The paper posted on home page shows a chart where it says something to the effect of some channels being more informative in discriminating the stimulus. I think it said channel 170. Based on the 2D layout, can we get the list of these channels? Has anybody tried using only those channels as features?</p>",
  "messages": [
    {
      "id": "43251",
      "postDate": "04/29/2014 00:19:23",
      "content": "<p>The paper posted on home page shows a chart where it says something to the effect of some channels being more informative in discriminating the stimulus. I think it said channel 170. Based on the 2D layout, can we get the list of these channels? Has anybody tried using only those channels as features?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "44932",
      "postDate": "05/20/2014 10:55:40",
      "content": "<p>Hi,</p>\n<p>I adapted this <a href=\"http://martinos.org/mne/stable/auto_examples/decoding/plot_decoding_sensors.html#example-decoding-plot-decoding-sensors-py\" target=\"_blank\">example</a>&nbsp;from mne-python to get the most informative channels (sensors) and the most informative time points.</p>\n<p>In terms of selecting sensors, they (almost) all seem informative, and using less sensors only gave me lower scores so far:</p>\n<p><img src=\"https://raw.githubusercontent.com/kevin-keraudren/kaggle-MEG/master/img/sensor_selection.png\" alt width=\"795\" height=\"184\"></p>\n<p>(the red line corresponds to chance, namely 50% accuracy)</p>\n<p>The code to generate the plots, as well as the saved numpy arrays are on <a href=\"https://github.com/kevin-keraudren/kaggle-MEG\" target=\"_blank\">github</a>.</p>\n\n<p><strong>Most informative features (per subject, averaged across subjects):</strong></p>\n<p><code>import numpy as np &nbsp; </code></p>\n<p><code>a = np.load(&quot;mean_sensor_selection.npy&quot;)<br><code>top_ten = a.argsort()[::-1][:10]<br></code><code>for s,i in zip( a[top_ten], top_ten ):<br>&nbsp; &nbsp; print s,i<br>&nbsp;<br>0.614421797723 267<br>0.613765354184 262<br>0.610684694684 278<br>0.609661801234 266<br>0.609391092425 215<br>0.606896827989 218<br>0.606625712456 230<br>0.606108199417 259<br>0.601312211764 233<br>0.601137527995 277<br></code></code></p>\n\n<p>In terms of time points, it turns out that the whole sequence following the stimulus is informative:</p>\n<p><img src=\"https://raw.githubusercontent.com/kevin-keraudren/kaggle-MEG/master/img/time_selection.png\" alt width=\"795\" height=\"596\"></p>\n<p>This time selection can be linked to Emanuele's post on the duration of the stimuli:</p>\n<p><a href=\"http://www.kaggle.com/c/decoding-the-human-brain/forums/t/7805/beating-the-benchmark-with-hinge-loss-0-66100/42991#post42991\">http://www.kaggle.com/c/decoding-the-human-brain/forums/t/7805/beating-the-benchmark-with-hinge-loss-0-66100/42991#post42991</a></p>\n\n<p>I do not know much about MEG/EEG data, I think this challenge is a good opportunity to learn, I gave a try at using&nbsp;<a href=\"http://docs.scipy.org/doc/scipy/reference/fftpack.html\" target=\"_blank\">scipy.fftpack</a>,&nbsp;<a href=\"http://www.pybytes.com/pywavelets/\" target=\"_blank\">pwt</a>&nbsp;or&nbsp;<a href=\"http://vcs.ynic.york.ac.uk/docs/naf/intro/concepts/timefreq.html\">naf</a>&nbsp;(Stockwell Transform) to extract some features, but my best scores were obtained on the raw data, with only <a href=\"http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html\">StandardScaler</a>&nbsp;as preprocessing step.&nbsp;I also saw ICA several times mentioned in order to denoise/extract information from MEG/EEG. Any hint at the best direction to dig in for feature extraction would be welcome!</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 44932,
      "author_name": "kevinkeraudren",
      "author_url": "",
      "post_date": "05/20/2014 10:55:40",
      "content": "<p>Hi,</p>\n<p>I adapted this <a href=\"http://martinos.org/mne/stable/auto_examples/decoding/plot_decoding_sensors.html#example-decoding-plot-decoding-sensors-py\" target=\"_blank\">example</a>&nbsp;from mne-python to get the most informative channels (sensors) and the most informative time points.</p>\n<p>In terms of selecting sensors, they (almost) all seem informative, and using less sensors only gave me lower scores so far:</p>\n<p><img src=\"https://raw.githubusercontent.com/kevin-keraudren/kaggle-MEG/master/img/sensor_selection.png\" alt width=\"795\" height=\"184\"></p>\n<p>(the red line corresponds to chance, namely 50% accuracy)</p>\n<p>The code to generate the plots, as well as the saved numpy arrays are on <a href=\"https://github.com/kevin-keraudren/kaggle-MEG\" target=\"_blank\">github</a>.</p>\n\n<p><strong>Most informative features (per subject, averaged across subjects):</strong></p>\n<p><code>import numpy as np &nbsp; </code></p>\n<p><code>a = np.load(&quot;mean_sensor_selection.npy&quot;)<br><code>top_ten = a.argsort()[::-1][:10]<br></code><code>for s,i in zip( a[top_ten], top_ten ):<br>&nbsp; &nbsp; print s,i<br>&nbsp;<br>0.614421797723 267<br>0.613765354184 262<br>0.610684694684 278<br>0.609661801234 266<br>0.609391092425 215<br>0.606896827989 218<br>0.606625712456 230<br>0.606108199417 259<br>0.601312211764 233<br>0.601137527995 277<br></code></code></p>\n\n<p>In terms of time points, it turns out that the whole sequence following the stimulus is informative:</p>\n<p><img src=\"https://raw.githubusercontent.com/kevin-keraudren/kaggle-MEG/master/img/time_selection.png\" alt width=\"795\" height=\"596\"></p>\n<p>This time selection can be linked to Emanuele's post on the duration of the stimuli:</p>\n<p><a href=\"http://www.kaggle.com/c/decoding-the-human-brain/forums/t/7805/beating-the-benchmark-with-hinge-loss-0-66100/42991#post42991\">http://www.kaggle.com/c/decoding-the-human-brain/forums/t/7805/beating-the-benchmark-with-hinge-loss-0-66100/42991#post42991</a></p>\n\n<p>I do not know much about MEG/EEG data, I think this challenge is a good opportunity to learn, I gave a try at using&nbsp;<a href=\"http://docs.scipy.org/doc/scipy/reference/fftpack.html\" target=\"_blank\">scipy.fftpack</a>,&nbsp;<a href=\"http://www.pybytes.com/pywavelets/\" target=\"_blank\">pwt</a>&nbsp;or&nbsp;<a href=\"http://vcs.ynic.york.ac.uk/docs/naf/intro/concepts/timefreq.html\">naf</a>&nbsp;(Stockwell Transform) to extract some features, but my best scores were obtained on the raw data, with only <a href=\"http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html\">StandardScaler</a>&nbsp;as preprocessing step.&nbsp;I also saw ICA several times mentioned in order to denoise/extract information from MEG/EEG. Any hint at the best direction to dig in for feature extraction would be welcome!</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "43251": "",
    "44932": ""
  },
  "source": "meta"
}