Validation of ‘Somnivore’, a Machine Learning Algorithm for Automated Scoring and Analysis of Polysomnography Data

Giancarlo Allocca, Sherie Ma, Davide Martelli, Matteo Cerri, Flavia Del Vecchio, Stefano Bastianini, Giovanna Zoccoli, Roberto Amici, Stephen R. Morairty, Anne E. Aulsebrook, Shaun Blackburn, John A. Lesku, Niels C. Rattenborg, Alexei L. Vyssotski, Emma Wams, Kate Porcheret, Katharina Wulff, Russell Foster, Julia K.M. Chan, Christian L. NicholasDean R. Freestone, Leigh A. Johnston, Andrew L. Gundlach

Research output: Contribution to journalArticleResearchpeer-review

7 Citations (Scopus)


Manual scoring of polysomnography data is labor-intensive and time-consuming, and most existing software does not account for subjective differences and user variability. Therefore, we evaluated a supervised machine learning algorithm, SomnivoreTM, for automated wake–sleep stage classification. We designed an algorithm that extracts features from various input channels, following a brief session of manual scoring, and provides automated wake-sleep stage classification for each recording. For algorithm validation, polysomnography data was obtained from independent laboratories, and include normal, cognitively-impaired, and alcohol-treated human subjects (total n = 52), narcoleptic mice and drug-treated rats (total n = 56), and pigeons (n = 5). Training and testing sets for validation were previously scored manually by 1–2 trained sleep technologists from each laboratory. F-measure was used to assess precision and sensitivity for statistical analysis of classifier output and human scorer agreement. The algorithm gave high concordance with manual visual scoring across all human data (wake 0.91 ± 0.01; N1 0.57 ± 0.01; N2 0.81 ± 0.01; N3 0.86 ± 0.01; REM 0.87 ± 0.01), which was comparable to manual inter-scorer agreement on all stages. Similarly, high concordance was observed across all rodent (wake 0.95 ± 0.01; NREM 0.94 ± 0.01; REM 0.91 ± 0.01) and pigeon (wake 0.96 ± 0.006; NREM 0.97 ± 0.01; REM 0.86 ± 0.02) data. Effects of classifier learning from single signal inputs, simple stage reclassification, automated removal of transition epochs, and training set size were also examined. In summary, we have developed a polysomnography analysis program for automated sleep-stage classification of data from diverse species. Somnivore enables flexible, accurate, and high-throughput analysis of experimental and clinical sleep studies.

Original languageEnglish
Article number207
Pages (from-to)1-18
Number of pages18
JournalFrontiers in Neuroscience
Publication statusPublished - 2019
Externally publishedYes


  • Machine learning algorithms
  • Polysomnography
  • Signal processing algorithms
  • Sleep stage classification
  • Sleep stage scoring
  • Wake

Cite this