Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    jsosulski
    @jsosulski
    I think they decide every year that it will be the last switch between summer/winter time :D
    Vladislav Goncharenko
    @vladislav-goncharenko_gitlab

    is anyone aware of an alternative that can be used in the meantime?

    for this you could just use poetry install and it installs package in editable mode

    jsosulski
    @jsosulski
    That works thanks! But I hope pip will soon allow -e with pyproject.toml, else everyone who wants to have editable moabb also needs to install poetry
    Sylvain Chevallier
    @sylvchev
    Hi !
    Do you want to make a short meeting on Jitsi : https://meet.jit.si/NeuroTechX-Hacknight ?
    Sylvain Chevallier
    @sylvchev
    The summary of the discussions is available here : https://github.com/NeuroTechX/moabb/wiki/Weekly-MOABB-meeting
    Sylvain Chevallier
    @sylvchev
    Hi! The office hours are live in 1h30. I made some advertisement during a workshop of the BCI society: https://bcisociety.org/event/ws-5-open-source-python-tools-for-bcis/
    Maybe we will have new potential contributors!
    Sylvain Chevallier
    @sylvchev
    Hi ! Ping me if you want to make an discussion on https://meet.jit.si/NeuroTechX-Hacknight
    jsosulski
    @jsosulski
    Okay I am getting mighty confused with the time zones and summer time :D Are you still available?
    Sylvain Chevallier
    @sylvchev
    @jsosulski Thanks for your review
    @jsosulski @vladislav-goncharenko_gitlab I have a question regarding the scoring function for P300. It is ROC-AUC for P300 in MOABB, but I'm not sure that this is very relevant, as the classes are highly imbalanced. What do you use in your your evaluation/paper? Balanced accuracy? ROC-PR?
    jsosulski
    @jsosulski
    Hi @sylvchev what is the issue with AUC? Afaik the default sklearn roc_auc uses macro weighting, i.e. calculate an AUC for classes individually and average them without considering label imbalance, e.g. a classifier that outputs constant 1 may have 1.0 AUC for target but 0.0 AUC for non-target.
    I personally usually evaluate a) AUC, as general classification performance measure b) balanced accuracy as online performance proxy and c) maximal balanced accuracy, i.e. using the optimal bias for the validation set, to report an upper ceiling for the bal acc even when the data would have no non-stationarity
    1 reply
    Sylvain Chevallier
    @sylvchev
    Hi @jsosulski
    The AUC is nice, but I compared different performance metrics in the case of imbalance dataset in another context (for anomaly detection) and the choice of the metric have an important impact. There is a rich scientific literature on the subject, after reading many paper that makes connections with the probabilistic tests, I found this blog post that summarize it well for the MOABB and P300 datasets.
    So ROC AUC, that you suggest and that we currently use in MOABB binary classification (including P300), is the best choice for imbalanced binary classification when considering that both classes are important (or that misclassifying a target or a non-target are both equally bothering).
    Sylvain Chevallier
    @sylvchev
    So nothing to worry about so as long as we stay with Target/Nontarget stimulus in P300.
    Sylvain Chevallier
    @sylvchev
    I opened NeuroTechX/moabb#191 to propose a schedule for next office meeting. I kept the weekly occurrence and the 1 hour duration. The most important change is to propose to alternate between 2 time slot, to avoid impossible time for some contributors.
    What do you think of this schedule and could you participate to one of this office hour?
    @jsosulski @vladislav-goncharenko_gitlab @ErikBjare @AliAbdulHussain @FinLouarn @m9h @Div12345
    Divyesh Narayanan
    @Div12345
    Tomorrow’s slot seems good to me
    Sylvain Chevallier
    @sylvchev
    Hi! We could meet on usual jitsi link : https://meet.jit.si/NeuroTechX-Hacknight
    Divyesh Narayanan
    @Div12345
    Something from the recent updates seems to be breaking IntelliSense or at least making it take too long a time.. I tried on PyCharm as well as Visual Studio 2019.. any ideas why? it was working well when I had it previously through pip install github+.., I observed this when I shifted to the poetry install version.. Is it because of that or maybe any other of the recent updates?
    Sylvain Chevallier
    @sylvchev
    No, I don't think we have meddled with IntelliSense. This is strange. Do you have installed python with conda?
    Divyesh Narayanan
    @Div12345
    Yup.. In that I used poetry install and in the IDE I have the venv chosen as the interpreter.. the codes are running, but IntelliSense fails to work..
    jsosulski
    @jsosulski
    My Pycharm autocomplete is still working as always
    Divyesh Narayanan
    @Div12345
    Ah okay :thumbsup: I finally found the issue.. It was trying to index the entire anaconda folder, excluding that from the interpreter paths did the trick
    @sylvchev is it possible to change the default download location? some sort of setting to make sure it is followed always? My root directory is currently filled, so would like to change the location to a different drive.
    Sylvain Chevallier
    @sylvchev
    yes, it is definitely possible, we are complying with MNE configuration file : https://mne.tools/stable/auto_tutorials/intro/50_configure_mne.html
    Sylvain Chevallier
    @sylvchev
    @ErikBjare The doc PR is merged! Each page is correctly generated. Unfortunately the deployment is not working out of the box. I think the GH Actions script you use https://github.com/peaceiris/actions-gh-pages needs that the GitHub Pages are activated on the MOABB repo. Is that correct?
    Sylvain Chevallier
    @sylvchev
    Hi, the office hours are live on https://meet.jit.si/NeuroTechX-Hacknight
    Sylvain Chevallier
    @sylvchev
    MOABB updated docs are online: http://moabb.neurotechx.com/docs/index.html
    Thanks @ErikBjare @Div12345
    Sylvain Chevallier
    @sylvchev
    Here is an invitation for the next office hours meeting, on Wednesday 16 June
    Sylvain Chevallier
    @sylvchev

    @/all
    I rewrote the documentation completely, we have now a nice and up to date doc !
    :fire: :tada: http://moabb.neurotechx.com/docs/index.html :fire: :tada:

    I added What's new section, crediting each one for the work. Please tell me if there is a mistake. There is now complete docstring everywhere, all functions and classes are documented, there is an automatic link to the examples/tutorials that uses those classes and functions. The gallery is cleaned up, with nice illustrations and sections. From now on, each time we merge a PR in master, the documentation will be automatically updated.

    I plan to make a release on PyPi of the current version master branch, as version 0.4.0. This is the moment to push what you want!

    Sylvain Chevallier
    @sylvchev
    The PR for 0.4.0 is here: NeuroTechX/moabb#202
    Please review or comment, I plan to merge by tomorrow and to release the new moabb version on PyPi.
    Sylvain Chevallier
    @sylvchev

    New moabb version is out !
    :fireworks: :snake: https://pypi.org/project/moabb/ :snake: :fireworks:
    The 0.4.0 is available with pip, thanks to all contributors!

    :warning: don't forget to run poetry install after merging your repo, as the poetry.lock file have been modified

    Sylvain Chevallier
    @sylvchev
    (there is already a version bump 0.4.1 to correct a bug making the some datasets download to failed)
    Sylvain Chevallier
    @sylvchev
    Hi! Office hours are live and running, you could join on: https://meet.jit.si/NeuroTechX-Hacknight
    jsosulski
    @jsosulski
    btw, while working on Conditions in a dataset, I noticed, that a lot of moabb uses assert statements in non-test functions. I think in the long run, we should replace all asserts with corresponding ValueErrors or something, as when users run optimized python (e.g. using python -O) the interpreter will skip all assert statements for performance reasons.
    jsosulski
    @jsosulski
    @sylvchev I just noticed after my PR against master that you created a dev/0.4.0 branch. Should we move towards opening PRs against some general dev branch?
    Sylvain Chevallier
    @sylvchev
    Almost ;)
    The dev/0.4.0 branch was just there to merge the last changes before 0.4.0
    I'll suppress this branch, as it is not useful anymore
    Right now, I made one hotfix and I'll push another, to correct major bug (error when downloading MOABB dataset). So we are now at moabb v0.4.1 and I'll push the 0.4.2 in a few minutes
    But for more classical PR, I think we could move to a dev branch that is merged in master only when pushing a new version on PyPi
    Sylvain Chevallier
    @sylvchev

    Hi @jsosulski Thx for the update of the doc, putting NeiryDaemon in the correct place. It is merged but the update failed... It seems that nothing was modified in the generated html : https://github.com/NeuroTechX/moabb/runs/2922294872?check_suite_focus=true
    Anyway, I spoke with Yannick Roy about a better integration in neurotechx website, and I will try to go back to the solution introduced by @ErikBjare using the github pages.
    We have 2 documentation page:

    In a PR, I'll activate the gh pages and I'll uncomment the GH action part added by Erik

    Sylvain Chevallier
    @sylvchev
    Sorry I was a little bit late. I'm on https://meet.jit.si/NeuroTechX-Hacknight if you want to discuss
    jsosulski
    @jsosulski
    Hey sorry, I thought the slot was this week Wednesday.
    Btw, how should we classify datasets where one subject performed different tasks? E.g. the Lee dataset has MI, but also SSVEP and ERP paradigms. Putting these in separate Datasets has the issue that there is probably some statistical dependency between performance on one task and performance on another task.
    jsosulski
    @jsosulski
    Sylvain Chevallier
    @sylvchev

    Btw, how should we classify datasets where one subject performed different tasks?

    This is a very nice question but we don't have a CrossParadigmEvaluation (yet ;) )

    Sylvain Chevallier
    @sylvchev
    I've create the develop branch and I'll update the repo config, so the next PR will be opened against develop branch (instead of master as it is today). Also, I'll limit the number of tests on the develop branch.