SlideShare a Scribd company logo
1 of 42
Download to read offline
pySPACE (https://github.com/pyspace)
Introduction to a Signal Processing and
Classification Environment (pySPACE)
M M Krell, A Seeland, J H Metzen
DFKI Bremen & University of Bremen
Robotics Innovation Center
Director: Prof. Dr. Frank Kirchner
www.dfki.de/robotics
robotics@dfki.de
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 1 / 30
Table of Contents
1 Introduction 3
2 How to install and use 7
3 Concepts and Features 15
4 Applications 21
5 Conclusion 27
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 2 / 30
Introduction
Computation of Multiple Workflows and Datasets
. . . with applications, e.g., in robotics and brain-computer interfaces
. . . with simple configuration and automatic processing of
empirical evaluations (benchmarking)
. . . on feature vector and time series datasets
. . . where configuration requires no programming (YAML used)
⇒ useable by non-programmers
. . . with execution in a distributed manner (embarrassingly parallel)
. . . intuitive structure and documentation
. . . choosing from more than 100 signal processing and classification
algorithms (additionally interfaces to other libraries)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
Introduction
Computation of Multiple Workflows and Datasets
. . . with applications, e.g., in robotics and brain-computer interfaces
. . . with simple configuration and automatic processing of
empirical evaluations (benchmarking)
. . . on feature vector and time series datasets
. . . where configuration requires no programming (YAML used)
⇒ useable by non-programmers
. . . with execution in a distributed manner (embarrassingly parallel)
. . . intuitive structure and documentation
. . . choosing from more than 100 signal processing and classification
algorithms (additionally interfaces to other libraries)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
Introduction
Computation of Multiple Workflows and Datasets
. . . with applications, e.g., in robotics and brain-computer interfaces
. . . with simple configuration and automatic processing of
empirical evaluations (benchmarking)
. . . on feature vector and time series datasets
. . . where configuration requires no programming (YAML used)
⇒ useable by non-programmers
. . . with execution in a distributed manner (embarrassingly parallel)
. . . intuitive structure and documentation
. . . choosing from more than 100 signal processing and classification
algorithms (additionally interfaces to other libraries)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
Introduction
Short Facts
medium sized framework (> 40000 lines of code)
developed and tested on Mac OS X and Linux
development started 6 years ago (open source since August 2013)
core developer team of 3 − 5 people and approx. 10 in total
open source software (GPL, available at
https://github.com/pyspace)
documentation: http://pyspace.github.io/pyspace/
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 4 / 30
Introduction
Short Facts
medium sized framework (> 40000 lines of code)
developed and tested on Mac OS X and Linux
development started 6 years ago (open source since August 2013)
core developer team of 3 − 5 people and approx. 10 in total
open source software (GPL, available at
https://github.com/pyspace)
documentation: http://pyspace.github.io/pyspace/
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 4 / 30
Introduction
Selected Applications: The VI-Bot Project
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 5 / 30
Introduction
Selected Applications
evaluation and comparison of
. . . sensor/channel selection algorithms (on EEG data) [1]
. . . dimensionality reduction algorithms
(ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13]
. . . classifiers [6, 11, 14, 15]
Brain-Computer Interfaces (movement prediction, interaction error
detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17]
robotic applications (soil detection, parallelization of robot
simulations, localization algorithms, and sensor regression)
more details at the end, if there is time left
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
Introduction
Selected Applications
evaluation and comparison of
. . . sensor/channel selection algorithms (on EEG data) [1]
. . . dimensionality reduction algorithms
(ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13]
. . . classifiers [6, 11, 14, 15]
Brain-Computer Interfaces (movement prediction, interaction error
detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17]
robotic applications (soil detection, parallelization of robot
simulations, localization algorithms, and sensor regression)
more details at the end, if there is time left
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
Introduction
Selected Applications
evaluation and comparison of
. . . sensor/channel selection algorithms (on EEG data) [1]
. . . dimensionality reduction algorithms
(ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13]
. . . classifiers [6, 11, 14, 15]
Brain-Computer Interfaces (movement prediction, interaction error
detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17]
robotic applications (soil detection, parallelization of robot
simulations, localization algorithms, and sensor regression)
more details at the end, if there is time left
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
Introduction
Selected Applications
evaluation and comparison of
. . . sensor/channel selection algorithms (on EEG data) [1]
. . . dimensionality reduction algorithms
(ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13]
. . . classifiers [6, 11, 14, 15]
Brain-Computer Interfaces (movement prediction, interaction error
detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17]
robotic applications (soil detection, parallelization of robot
simulations, localization algorithms, and sensor regression)
more details at the end, if there is time left
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
How to install and use
How to install and use pySPACE
1 installation (simple, see tutorial)
2 prepare your data for pySPACE
3 decide and define the processing file
4 potentially modify your config file
5 start software
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 7 / 30
How to install and use
Installation
required dependencies:
Python 2.7/Python 2.6
YAML
NumPy
SciPy
matplotlib (visualizations)
scikit-learn (classifiers, transformations)
PyQt4 (GUIs)
WEKA, MMLF
LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
How to install and use
Installation
required dependencies:
Python 2.7/Python 2.6
YAML
NumPy
SciPy
optional dependencies:
matplotlib (visualizations)
scikit-learn (classifiers, transformations)
PyQt4 (GUIs)
WEKA, MMLF
LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
How to install and use
Installation
required dependencies:
Python 2.7/Python 2.6
YAML
NumPy
SciPy
optional dependencies:
matplotlib (visualizations)
scikit-learn (classifiers, transformations)
PyQt4 (GUIs)
WEKA, MMLF
LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces)
download (git clone https://github.com/pyspace/pyspace.git)
python setup.py ⇒ configuration folder in home directory
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
How to install and use
prepare your data: Input Formats
feature vector: csv, arff
time series segments: csv
time series stream: csv, EDF2
.set (EEGLAB), .eeg (BrainProducts GmbH)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 9 / 30
How to install and use
1 installation
2 prepare your data
dataset description of banana dataset (metadata.yaml)
storage_format: [csvUnnamed, real]
type: FEATURE_VECTOR
file_name: banana_data.csv
label_column: 1
...
3 decide and define the processing file
4 potentially modify your config file
5 start software
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 10 / 30
How to install and use
1 installation
2 prepare your data
3 decide and define the processing file (examples/bench.yaml)
type: node_chain
input_path: "example_summary"
runs : 3
node_chain:
- node: FeatureVectorSourceNode
- node: TrainTestSplitter
parameters :
train_ratio: 0.4
- node: __Normalization__
- node : 2SVM
parameters :
complexity : __C__
- node: PerformanceSinkNode
parameter_ranges :
__C__ : [0.01,0.1,1]
__Normalization__ : [GaussianFeatureNormalization,
EuclideanFeatureNormalization]
4 potentially modify your config file
5 M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 11 / 30
How to install and use
1 installation
2 prepare your data for pySPACE
3 decide and define the processing file (bench.yaml)
4 potentially modify your config file (config.yaml)
storage: ~/pySPACEcenter/storage
spec_dir: ~/pySPACEcenter/specs
console_log_level : logging.WARNING
file_log_level : logging.INFO
python_path:
- /home/user/pySPACE/external/libsvm/python/
...
5 start software
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 12 / 30
How to install and use
1 installation
2 prepare your data for pySPACE
3 decide and define the processing file (bench.yaml)
4 potentially modify your config file (config.yaml)
5 start software
go to pySPACEcenter on the command line and type:
./launch.py -o examples/bench.yaml --mcore
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 13 / 30
How to install and use
Parallelization
parallel execution modes:
single-core: − − serial
multi-core (multiprocessing): − − mcore
cluster (shared file system, LoadLeveler): − − loadl
cluster (shared file system, no scheduling): − − mpi
possibility to add new modes (backends): e.g., − − cloud,
− − gearman?
creation of jobs and execution
specific subtasks (e.g., parameter optimization evaluations)
different processing chains in the application
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 14 / 30
How to install and use
Parallelization
parallel execution modes:
single-core: − − serial
multi-core (multiprocessing): − − mcore
cluster (shared file system, LoadLeveler): − − loadl
cluster (shared file system, no scheduling): − − mpi
possibility to add new modes (backends): e.g., − − cloud,
− − gearman?
further parallelization:
creation of jobs and execution
specific subtasks (e.g., parameter optimization evaluations)
different processing chains in the application
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 14 / 30
Concepts and Features
General Structure Concept [12]
operation
1
operation
2
operation
3
operation
..
node
1
node
2
node
3
node
..
operation
chain
operation
node chain
node
node chain merge WEKA ..
FIR Filter
sub-
sampling
SVM ..
offline
offline
offline + online
summary
summary
dataset
data sample
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 15 / 30
Concepts and Features
General Node Chain Processing
CPU
1
Column Chart
TableLine Chart
processed Data
CPU
2
CPU
3
A
1 2 3 4a
2 1 3 4b
1 2 4a
spec
{1,2,3,4a}
{2,1,3,4b}
{1,2,4a}
B
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 16 / 30
Concepts and Features
General Node Chain Processing
CPU
1
Column Chart
TableLine Chart
processed Data
CPU
2
CPU
3
A
1 2 3 4a
2 1 3 4b
1 2 4a
spec
{1,2,3,4a}
{2,1,3,4b}
{1,2,4a}
B
Modularity concept of node chain based on Modular toolkit for Data
Processing (MDP)!
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 16 / 30
Concepts and Features
More than 100 own implemented algorithms [12]Source
Sink
Preprocessing
Spatial
Filter
Classification
Feature
Generator
Meta
Splitter
Visualization Others
Postprocessing
LDA
QDA
LIBSVM
LIBLINEAR
SOR SVM
Naive Bayes
Random
FFT IIR FIR
CSP
ICAPCA
xDAWN
Coherence
Correlations
Moments
STFT
DWT
Linear Fit
Pattern Search
Grid Search
Window Function
detrend z-score
Resample
Decimation
Cross-
validation
FDA
Sensor Selection Avg. EEG Raw Data
TKEO
optimalsigmoid
linear
Scatter
HistogramSpectrum
Stream
TimeSeries
FeatureVector
Performance
Score Mapping
gaussian
histogram
Normalizations
Filters
Feature
Normalization
Sub-Chain
Fusion
Classifier Ensemble
Scikit-learn Wrapper
Gating
Functions
ridge
regression
probability
voting
label voting
precision
weighted
Feature Selection
DebugInstance Selection
Type Conversion
Amplitudes
Train-Test
Splitter
baseline
TimeSeriesFeatureVector
Stream
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 17 / 30
Concepts and Features
More than 100 own implemented algorithms [12]Source
Sink
Preprocessing
Spatial
Filter
Classification
Feature
Generator
Meta
Splitter
Visualization Others
Postprocessing
LDA
QDA
LIBSVM
LIBLINEAR
SOR SVM
Naive Bayes
Random
FFT IIR FIR
CSP
ICAPCA
xDAWN
Coherence
Correlations
Moments
STFT
DWT
Linear Fit
Pattern Search
Grid Search
Window Function
detrend z-score
Resample
Decimation
Cross-
validation
FDA
Sensor Selection Avg. EEG Raw Data
TKEO
optimalsigmoid
linear
Scatter
HistogramSpectrum
Stream
TimeSeries
FeatureVector
Performance
Score Mapping
gaussian
histogram
Normalizations
Filters
Feature
Normalization
Sub-Chain
Fusion
Classifier Ensemble
Scikit-learn Wrapper
Gating
Functions
ridge
regression
probability
voting
label voting
precision
weighted
Feature Selection
DebugInstance Selection
Type Conversion
Amplitudes
Train-Test
Splitter
baseline
TimeSeriesFeatureVector
Stream
Here new algorithms/libraries can be integrated/interfaced!
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 17 / 30
Concepts and Features
Package Structure
environments (parallelization backends, node/operation chains,
application interface, configuration)
missions (nodes, operations, support)
resources (data types, dataset definitions)
run (launch, launch live, GUIs, scripts)
tests
tools (useful stuff for file handling, logging, debugging, . . . )
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 18 / 30
Concepts and Features
Documentation
http://pyspace.github.io/pyspace/
internally generated on a daily bases
based on sphinx (and restructured text)
some modifications to improve API documentation layout and
automatic generation
post processing to automatically display additional information
(node names, input types, examples, list(s) of available
algorithms (nodes))
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 19 / 30
Concepts and Features
Testing
core functionalities are changed very seldom with multiple checks
unit tests for internal development are run and checked via a
cronjob and email on a daily bases
regular user feedback
generic unit tests added for (all) algorithms (nodes):
documentation?
Exemplary call existing?
Exemplary call valid?
Is the respective algorithm running on example data?
Simple interface to modify test and define results to define specific
unit tests
scripts exist for running both type of tests
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 20 / 30
Applications
Using Optimized Processing Chains in the Application
launch live
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 21 / 30
Applications
Using Optimized Processing Chains in the Application
launch live
YAML configuration file defines complete data handling
multiple processing flows can be executed in parallel
used for: detection of warning perception, interface error potentials,
movement preparation, SSVEP, . . .
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 22 / 30
Applications
reSPACE for Processing with FPGA on Mobile Device
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 23 / 30
Applications
reSPACE for Processing with FPGA on Mobile Device
!"#$
%#$
&'%"("
)*+',-'./, 012'324
56'7/.6
85-'324
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 24 / 30
Applications
Large Scale Evaluation: Sensor Selection
10 20 30 40 50 60
Number of EEG Electrodes
0.76
0.77
0.78
0.79
0.80
0.81
0.82
0.83
0.84
Balancedaccuracy
All
SSNRV S
SSNRAS
1SVM
2SVM
Performance
PCA
xDAWN
CSP
Standard caps
2 4 6 8 10
0.65
0.70
0.75
0.80
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 25 / 30
Applications
Data Processing Visualization
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 26 / 30
Conclusion
Conclusion
pySPACE automatizes the signal processing and classification
workflow.
automatic parallel execution of other evaluations (WEKA, robot
simulation)
intuitive configuration without scripting (YAML based)
⇒ useable by non-programmers
possibility to integrate other algorithms/libraries
future steps
more algorithms and interfaces to other libraries
other data types (e.g., pictures, videos, multimodal data)
further applications (e.g., clustering, regression)
installation suite
. . .
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 27 / 30
Conclusion
Conclusion
pySPACE automatizes the signal processing and classification
workflow.
automatic parallel execution of other evaluations (WEKA, robot
simulation)
intuitive configuration without scripting (YAML based)
⇒ useable by non-programmers
possibility to integrate other algorithms/libraries
future steps
more algorithms and interfaces to other libraries
other data types (e.g., pictures, videos, multimodal data)
further applications (e.g., clustering, regression)
installation suite
. . .
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 27 / 30
Conclusion
Thank you for your attention! Do you have questions?
CPU
1
Column Chart
TableLine Chart
processed Data
CPU
2
CPU
3
A
1 2 3 4a
2 1 3 4b
1 2 4a
spec
{1,2,3,4a}
{2,1,3,4b}
{1,2,4a}
B
Figure: Node chain processing scheme from [12]
Credits: German Research Center for Artificial Intelligence, DFKI
Bremen, Robotics Innovation Center and Robotics Research Group,
University of Bremen
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 28 / 30
Bibliography
[1] David Feess, Mario Michael Krell, and Jan Hendrik Metzen. Comparison of Sensor Selection Mechanisms for an
ERP-Based Brain-Computer Interface. PLoS ONE, 8(7):e67543, 2013.
[2] Foad Ghaderi. Joint spatial and spectral filter estimation for single trial detection of event related potentials. In IEEE
International Workshop on Machine Learning for Signal Processing, (MLSP), 9 2013.
[3] Foad Ghaderi, Su Kyoung Kim, and Elsa Andrea Kirchner. Effects of eye artifact removal methods on single trial P300
detection, a comparative study. Journal of Neuroscience Methods, 221(0):41–47, 2014.
[4] Foad Ghaderi and Elsa Andrea Kirchner. Periodic Spatial Filter for Single Trial Classification of Event Related Brain
Activity. In Proceedings of the 10th IASTED International Conference on Biomedical Engineering (BioMed-2013),
February 13-15, Innsbruck, Austria. ACTA Press, 2013.
[5] Foad Ghaderi and Sirko Straube. An adaptive and efficient spatial filter for event-related potentials. In Proceedings of
European Signal Processing Conference, (EUSIPCO), 9 2013.
[6] Yohannes Kassahun, Hendrik W¨ohrle, Alexander Fabisch, and Marc Tabie. Learning parameters of linear models in
compressed parameter space. In Alessandro E. Villa, Wlodzislaw Duch, P´eter ´Erdi, Francesco Masulli, and G¨unther
Palm, editors, Artificial Neural Networks and Machine Learning ICANN 2012, volume 7553 of Lecture Notes in
Computer Science, pages 108–115. Springer, Lausanne, Switzerland, 2012.
[7] Su Kyoung Kim and Elsa Andrea Kirchner. Classifier transferability in the detection of error related potentials from
observation to interaction. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics,
SMC-2013, Manchester, UK, October 13-16, 2013.
[8] Elsa Andrea Kirchner, Su Kyoung Kim, Sirko Straube, Anett Seeland, Hendrik W¨ohrle, Mario Michael Krell, Marc
Tabie, and Manfred Fahle. On the Applicability of Brain Reading for Predictive Human-Machine Interfaces in Robotics.
PLoS ONE, 8:e81732, 2013.
[9] Elsa Andrea Kirchner and Marc Tabie. Closing the gap: Combined EEG and EMG analysis for early movement
prediction in exoskeleton based rehabilitation. In Proceedings of the 4th European Conference on Technically Assisted
Rehabilitation - TAR 2013, Berlin, Germany, 2013.
[10] Elsa Andrea Kirchner, Hendrik W¨ohrle, Constantin Bergatt, Su Kyoung Kim, Jan Hendrik Metzen, David Feess, and
Frank Kirchner. Towards Operator Monitoring via Brain Reading – An EEG-based Approach for Space Applications. In
Proceedings of the 10th International Symposium on Artificial Intelligence, Robotics and Automation in Space, pages
448–455, Sapporo, 2010.
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 29 / 30
Bibliography
[11] Mario Michael Krell, David Feess, and Sirko Straube. Balanced Relative Margin Machine The missing piece between
FDA and SVM classification. Pattern Recognition Letters, 41:43–52, 2014.
[12] Mario Michael Krell, Sirko Straube, Anett Seeland, Hendrik W¨ohrle, Johannes Teiwes, Jan Hendrik Metzen, Elsa Andrea
Kirchner, and Frank Kirchner. pySPACE - A Signal Processing and Classification Environment in Python. Frontiers in
Neuroinformatics, 7(40), 2013.
[13] Jan Hendrik Metzen, Su Kyoung Kim, Timo Duchrow, Elsa Andrea Kirchner, and Frank Kirchner. On Transferring
Spatial Filters in a Brain Reading Scenario. In Proceedings of the 2011 IEEE Workshop on Statistical Signal Processing,
pages 797–800, Nice, France, 2011.
[14] Jan Hendrik Metzen, Su Kyoung Kim, and Elsa Andrea Kirchner. Minimizing Calibration Time for Brain Reading. In
Rudolf Mester and Michael Felsberg, editors, Pattern Recognition, volume 6835 of Lecture Notes in Computer Science,
pages 366–375. Springer Berlin Heidelberg, Frankfurt, Germany, 2011.
[15] Jan Hendrik Metzen and Elsa Andrea Kirchner. Rapid Adaptation of Brain Reading Interfaces based on Threshold
Adjustment. In Proceedings of the 2011 Conference of the German Classification Society, (GfKl-2011), page 138,
Frankfurt, Germany, 2011.
[16] Anett Seeland, Hendrik W¨ohrle, Sirko Straube, and Elsa Andrea Kirchner. Online movement prediction in a robotic
application scenario. In 6th International IEEE EMBS Conference on Neural Engineering (NER), pages 41–44, San
Diego, California, 2013.
[17] Hendrik W¨ohrle, Johannes Teiwes, Elsa Andrea Kirchner, and Frank Kirchner. A Framework for High Performance
Embedded Signal Processing and Classification of Psychophysiological Data. In APCBEE Procedia. International
Conference on Biomedical Engineering and Technology (ICBET-2013), 4th, May 19-20, Kopenhagen, Denmark.
Elsevier, 2013.
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 30 / 30

More Related Content

More from PyData

Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...PyData
 
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroRESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroPyData
 
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...PyData
 
Avoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottAvoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottPyData
 
Words in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroWords in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroPyData
 
End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...PyData
 
Pydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica PuertoPydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica PuertoPyData
 
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...PyData
 
Extending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will AydExtending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will AydPyData
 
Measuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen HooverMeasuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen HooverPyData
 
What's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper SeaboldWhat's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper SeaboldPyData
 
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...PyData
 
Solving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-WardSolving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-WardPyData
 
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...PyData
 
Deprecating the state machine: building conversational AI with the Rasa stack...
Deprecating the state machine: building conversational AI with the Rasa stack...Deprecating the state machine: building conversational AI with the Rasa stack...
Deprecating the state machine: building conversational AI with the Rasa stack...PyData
 
Towards automating machine learning: benchmarking tools for hyperparameter tu...
Towards automating machine learning: benchmarking tools for hyperparameter tu...Towards automating machine learning: benchmarking tools for hyperparameter tu...
Towards automating machine learning: benchmarking tools for hyperparameter tu...PyData
 
Using GANs to improve generalization in a semi-supervised setting - trying it...
Using GANs to improve generalization in a semi-supervised setting - trying it...Using GANs to improve generalization in a semi-supervised setting - trying it...
Using GANs to improve generalization in a semi-supervised setting - trying it...PyData
 
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...PyData
 
Extracting relevant Metrics with Spectral Clustering - Evelyn Trautmann
Extracting relevant Metrics with Spectral Clustering - Evelyn TrautmannExtracting relevant Metrics with Spectral Clustering - Evelyn Trautmann
Extracting relevant Metrics with Spectral Clustering - Evelyn TrautmannPyData
 
GDPR in practise - Developing models with transparency and privacy in mind - ...
GDPR in practise - Developing models with transparency and privacy in mind - ...GDPR in practise - Developing models with transparency and privacy in mind - ...
GDPR in practise - Developing models with transparency and privacy in mind - ...PyData
 

More from PyData (20)

Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
 
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroRESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
 
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
 
Avoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottAvoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
 
Words in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroWords in Space - Rebecca Bilbro
Words in Space - Rebecca Bilbro
 
End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...
 
Pydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica PuertoPydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica Puerto
 
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
 
Extending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will AydExtending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will Ayd
 
Measuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen HooverMeasuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen Hoover
 
What's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper SeaboldWhat's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper Seabold
 
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
 
Solving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-WardSolving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-Ward
 
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
 
Deprecating the state machine: building conversational AI with the Rasa stack...
Deprecating the state machine: building conversational AI with the Rasa stack...Deprecating the state machine: building conversational AI with the Rasa stack...
Deprecating the state machine: building conversational AI with the Rasa stack...
 
Towards automating machine learning: benchmarking tools for hyperparameter tu...
Towards automating machine learning: benchmarking tools for hyperparameter tu...Towards automating machine learning: benchmarking tools for hyperparameter tu...
Towards automating machine learning: benchmarking tools for hyperparameter tu...
 
Using GANs to improve generalization in a semi-supervised setting - trying it...
Using GANs to improve generalization in a semi-supervised setting - trying it...Using GANs to improve generalization in a semi-supervised setting - trying it...
Using GANs to improve generalization in a semi-supervised setting - trying it...
 
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
 
Extracting relevant Metrics with Spectral Clustering - Evelyn Trautmann
Extracting relevant Metrics with Spectral Clustering - Evelyn TrautmannExtracting relevant Metrics with Spectral Clustering - Evelyn Trautmann
Extracting relevant Metrics with Spectral Clustering - Evelyn Trautmann
 
GDPR in practise - Developing models with transparency and privacy in mind - ...
GDPR in practise - Developing models with transparency and privacy in mind - ...GDPR in practise - Developing models with transparency and privacy in mind - ...
GDPR in practise - Developing models with transparency and privacy in mind - ...
 

Recently uploaded

毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queensdataanalyticsqueen03
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home ServiceSapana Sha
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectBoston Institute of Analytics
 
IMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxIMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxdolaknnilon
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPTBoston Institute of Analytics
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceSapana Sha
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdfHuman37
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样vhwb25kk
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
MK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxMK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxUnduhUnggah1
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsVICTOR MAESTRE RAMIREZ
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPramod Kumar Srivastava
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDRafezzaman
 
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 

Recently uploaded (20)

毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queens
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis Project
 
IMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxIMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptx
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts Service
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
MK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxMK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docx
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business Professionals
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
 
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
 

Introduction to the Signal Processing and Classification Environment pySPACE by Mario Michael Krell PyData Berlin 2014

  • 1. pySPACE (https://github.com/pyspace) Introduction to a Signal Processing and Classification Environment (pySPACE) M M Krell, A Seeland, J H Metzen DFKI Bremen & University of Bremen Robotics Innovation Center Director: Prof. Dr. Frank Kirchner www.dfki.de/robotics robotics@dfki.de M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 1 / 30
  • 2. Table of Contents 1 Introduction 3 2 How to install and use 7 3 Concepts and Features 15 4 Applications 21 5 Conclusion 27 M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 2 / 30
  • 3. Introduction Computation of Multiple Workflows and Datasets . . . with applications, e.g., in robotics and brain-computer interfaces . . . with simple configuration and automatic processing of empirical evaluations (benchmarking) . . . on feature vector and time series datasets . . . where configuration requires no programming (YAML used) ⇒ useable by non-programmers . . . with execution in a distributed manner (embarrassingly parallel) . . . intuitive structure and documentation . . . choosing from more than 100 signal processing and classification algorithms (additionally interfaces to other libraries) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
  • 4. Introduction Computation of Multiple Workflows and Datasets . . . with applications, e.g., in robotics and brain-computer interfaces . . . with simple configuration and automatic processing of empirical evaluations (benchmarking) . . . on feature vector and time series datasets . . . where configuration requires no programming (YAML used) ⇒ useable by non-programmers . . . with execution in a distributed manner (embarrassingly parallel) . . . intuitive structure and documentation . . . choosing from more than 100 signal processing and classification algorithms (additionally interfaces to other libraries) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
  • 5. Introduction Computation of Multiple Workflows and Datasets . . . with applications, e.g., in robotics and brain-computer interfaces . . . with simple configuration and automatic processing of empirical evaluations (benchmarking) . . . on feature vector and time series datasets . . . where configuration requires no programming (YAML used) ⇒ useable by non-programmers . . . with execution in a distributed manner (embarrassingly parallel) . . . intuitive structure and documentation . . . choosing from more than 100 signal processing and classification algorithms (additionally interfaces to other libraries) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
  • 6. Introduction Short Facts medium sized framework (> 40000 lines of code) developed and tested on Mac OS X and Linux development started 6 years ago (open source since August 2013) core developer team of 3 − 5 people and approx. 10 in total open source software (GPL, available at https://github.com/pyspace) documentation: http://pyspace.github.io/pyspace/ M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 4 / 30
  • 7. Introduction Short Facts medium sized framework (> 40000 lines of code) developed and tested on Mac OS X and Linux development started 6 years ago (open source since August 2013) core developer team of 3 − 5 people and approx. 10 in total open source software (GPL, available at https://github.com/pyspace) documentation: http://pyspace.github.io/pyspace/ M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 4 / 30
  • 8. Introduction Selected Applications: The VI-Bot Project M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 5 / 30
  • 9. Introduction Selected Applications evaluation and comparison of . . . sensor/channel selection algorithms (on EEG data) [1] . . . dimensionality reduction algorithms (ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13] . . . classifiers [6, 11, 14, 15] Brain-Computer Interfaces (movement prediction, interaction error detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17] robotic applications (soil detection, parallelization of robot simulations, localization algorithms, and sensor regression) more details at the end, if there is time left M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
  • 10. Introduction Selected Applications evaluation and comparison of . . . sensor/channel selection algorithms (on EEG data) [1] . . . dimensionality reduction algorithms (ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13] . . . classifiers [6, 11, 14, 15] Brain-Computer Interfaces (movement prediction, interaction error detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17] robotic applications (soil detection, parallelization of robot simulations, localization algorithms, and sensor regression) more details at the end, if there is time left M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
  • 11. Introduction Selected Applications evaluation and comparison of . . . sensor/channel selection algorithms (on EEG data) [1] . . . dimensionality reduction algorithms (ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13] . . . classifiers [6, 11, 14, 15] Brain-Computer Interfaces (movement prediction, interaction error detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17] robotic applications (soil detection, parallelization of robot simulations, localization algorithms, and sensor regression) more details at the end, if there is time left M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
  • 12. Introduction Selected Applications evaluation and comparison of . . . sensor/channel selection algorithms (on EEG data) [1] . . . dimensionality reduction algorithms (ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13] . . . classifiers [6, 11, 14, 15] Brain-Computer Interfaces (movement prediction, interaction error detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17] robotic applications (soil detection, parallelization of robot simulations, localization algorithms, and sensor regression) more details at the end, if there is time left M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
  • 13. How to install and use How to install and use pySPACE 1 installation (simple, see tutorial) 2 prepare your data for pySPACE 3 decide and define the processing file 4 potentially modify your config file 5 start software M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 7 / 30
  • 14. How to install and use Installation required dependencies: Python 2.7/Python 2.6 YAML NumPy SciPy matplotlib (visualizations) scikit-learn (classifiers, transformations) PyQt4 (GUIs) WEKA, MMLF LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
  • 15. How to install and use Installation required dependencies: Python 2.7/Python 2.6 YAML NumPy SciPy optional dependencies: matplotlib (visualizations) scikit-learn (classifiers, transformations) PyQt4 (GUIs) WEKA, MMLF LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
  • 16. How to install and use Installation required dependencies: Python 2.7/Python 2.6 YAML NumPy SciPy optional dependencies: matplotlib (visualizations) scikit-learn (classifiers, transformations) PyQt4 (GUIs) WEKA, MMLF LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces) download (git clone https://github.com/pyspace/pyspace.git) python setup.py ⇒ configuration folder in home directory M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
  • 17. How to install and use prepare your data: Input Formats feature vector: csv, arff time series segments: csv time series stream: csv, EDF2 .set (EEGLAB), .eeg (BrainProducts GmbH) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 9 / 30
  • 18. How to install and use 1 installation 2 prepare your data dataset description of banana dataset (metadata.yaml) storage_format: [csvUnnamed, real] type: FEATURE_VECTOR file_name: banana_data.csv label_column: 1 ... 3 decide and define the processing file 4 potentially modify your config file 5 start software M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 10 / 30
  • 19. How to install and use 1 installation 2 prepare your data 3 decide and define the processing file (examples/bench.yaml) type: node_chain input_path: "example_summary" runs : 3 node_chain: - node: FeatureVectorSourceNode - node: TrainTestSplitter parameters : train_ratio: 0.4 - node: __Normalization__ - node : 2SVM parameters : complexity : __C__ - node: PerformanceSinkNode parameter_ranges : __C__ : [0.01,0.1,1] __Normalization__ : [GaussianFeatureNormalization, EuclideanFeatureNormalization] 4 potentially modify your config file 5 M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 11 / 30
  • 20. How to install and use 1 installation 2 prepare your data for pySPACE 3 decide and define the processing file (bench.yaml) 4 potentially modify your config file (config.yaml) storage: ~/pySPACEcenter/storage spec_dir: ~/pySPACEcenter/specs console_log_level : logging.WARNING file_log_level : logging.INFO python_path: - /home/user/pySPACE/external/libsvm/python/ ... 5 start software M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 12 / 30
  • 21. How to install and use 1 installation 2 prepare your data for pySPACE 3 decide and define the processing file (bench.yaml) 4 potentially modify your config file (config.yaml) 5 start software go to pySPACEcenter on the command line and type: ./launch.py -o examples/bench.yaml --mcore M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 13 / 30
  • 22. How to install and use Parallelization parallel execution modes: single-core: − − serial multi-core (multiprocessing): − − mcore cluster (shared file system, LoadLeveler): − − loadl cluster (shared file system, no scheduling): − − mpi possibility to add new modes (backends): e.g., − − cloud, − − gearman? creation of jobs and execution specific subtasks (e.g., parameter optimization evaluations) different processing chains in the application M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 14 / 30
  • 23. How to install and use Parallelization parallel execution modes: single-core: − − serial multi-core (multiprocessing): − − mcore cluster (shared file system, LoadLeveler): − − loadl cluster (shared file system, no scheduling): − − mpi possibility to add new modes (backends): e.g., − − cloud, − − gearman? further parallelization: creation of jobs and execution specific subtasks (e.g., parameter optimization evaluations) different processing chains in the application M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 14 / 30
  • 24. Concepts and Features General Structure Concept [12] operation 1 operation 2 operation 3 operation .. node 1 node 2 node 3 node .. operation chain operation node chain node node chain merge WEKA .. FIR Filter sub- sampling SVM .. offline offline offline + online summary summary dataset data sample M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 15 / 30
  • 25. Concepts and Features General Node Chain Processing CPU 1 Column Chart TableLine Chart processed Data CPU 2 CPU 3 A 1 2 3 4a 2 1 3 4b 1 2 4a spec {1,2,3,4a} {2,1,3,4b} {1,2,4a} B M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 16 / 30
  • 26. Concepts and Features General Node Chain Processing CPU 1 Column Chart TableLine Chart processed Data CPU 2 CPU 3 A 1 2 3 4a 2 1 3 4b 1 2 4a spec {1,2,3,4a} {2,1,3,4b} {1,2,4a} B Modularity concept of node chain based on Modular toolkit for Data Processing (MDP)! M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 16 / 30
  • 27. Concepts and Features More than 100 own implemented algorithms [12]Source Sink Preprocessing Spatial Filter Classification Feature Generator Meta Splitter Visualization Others Postprocessing LDA QDA LIBSVM LIBLINEAR SOR SVM Naive Bayes Random FFT IIR FIR CSP ICAPCA xDAWN Coherence Correlations Moments STFT DWT Linear Fit Pattern Search Grid Search Window Function detrend z-score Resample Decimation Cross- validation FDA Sensor Selection Avg. EEG Raw Data TKEO optimalsigmoid linear Scatter HistogramSpectrum Stream TimeSeries FeatureVector Performance Score Mapping gaussian histogram Normalizations Filters Feature Normalization Sub-Chain Fusion Classifier Ensemble Scikit-learn Wrapper Gating Functions ridge regression probability voting label voting precision weighted Feature Selection DebugInstance Selection Type Conversion Amplitudes Train-Test Splitter baseline TimeSeriesFeatureVector Stream M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 17 / 30
  • 28. Concepts and Features More than 100 own implemented algorithms [12]Source Sink Preprocessing Spatial Filter Classification Feature Generator Meta Splitter Visualization Others Postprocessing LDA QDA LIBSVM LIBLINEAR SOR SVM Naive Bayes Random FFT IIR FIR CSP ICAPCA xDAWN Coherence Correlations Moments STFT DWT Linear Fit Pattern Search Grid Search Window Function detrend z-score Resample Decimation Cross- validation FDA Sensor Selection Avg. EEG Raw Data TKEO optimalsigmoid linear Scatter HistogramSpectrum Stream TimeSeries FeatureVector Performance Score Mapping gaussian histogram Normalizations Filters Feature Normalization Sub-Chain Fusion Classifier Ensemble Scikit-learn Wrapper Gating Functions ridge regression probability voting label voting precision weighted Feature Selection DebugInstance Selection Type Conversion Amplitudes Train-Test Splitter baseline TimeSeriesFeatureVector Stream Here new algorithms/libraries can be integrated/interfaced! M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 17 / 30
  • 29. Concepts and Features Package Structure environments (parallelization backends, node/operation chains, application interface, configuration) missions (nodes, operations, support) resources (data types, dataset definitions) run (launch, launch live, GUIs, scripts) tests tools (useful stuff for file handling, logging, debugging, . . . ) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 18 / 30
  • 30. Concepts and Features Documentation http://pyspace.github.io/pyspace/ internally generated on a daily bases based on sphinx (and restructured text) some modifications to improve API documentation layout and automatic generation post processing to automatically display additional information (node names, input types, examples, list(s) of available algorithms (nodes)) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 19 / 30
  • 31. Concepts and Features Testing core functionalities are changed very seldom with multiple checks unit tests for internal development are run and checked via a cronjob and email on a daily bases regular user feedback generic unit tests added for (all) algorithms (nodes): documentation? Exemplary call existing? Exemplary call valid? Is the respective algorithm running on example data? Simple interface to modify test and define results to define specific unit tests scripts exist for running both type of tests M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 20 / 30
  • 32. Applications Using Optimized Processing Chains in the Application launch live M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 21 / 30
  • 33. Applications Using Optimized Processing Chains in the Application launch live YAML configuration file defines complete data handling multiple processing flows can be executed in parallel used for: detection of warning perception, interface error potentials, movement preparation, SSVEP, . . . M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 22 / 30
  • 34. Applications reSPACE for Processing with FPGA on Mobile Device M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 23 / 30
  • 35. Applications reSPACE for Processing with FPGA on Mobile Device !"#$ %#$ &'%"(" )*+',-'./, 012'324 56'7/.6 85-'324 M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 24 / 30
  • 36. Applications Large Scale Evaluation: Sensor Selection 10 20 30 40 50 60 Number of EEG Electrodes 0.76 0.77 0.78 0.79 0.80 0.81 0.82 0.83 0.84 Balancedaccuracy All SSNRV S SSNRAS 1SVM 2SVM Performance PCA xDAWN CSP Standard caps 2 4 6 8 10 0.65 0.70 0.75 0.80 M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 25 / 30
  • 37. Applications Data Processing Visualization M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 26 / 30
  • 38. Conclusion Conclusion pySPACE automatizes the signal processing and classification workflow. automatic parallel execution of other evaluations (WEKA, robot simulation) intuitive configuration without scripting (YAML based) ⇒ useable by non-programmers possibility to integrate other algorithms/libraries future steps more algorithms and interfaces to other libraries other data types (e.g., pictures, videos, multimodal data) further applications (e.g., clustering, regression) installation suite . . . M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 27 / 30
  • 39. Conclusion Conclusion pySPACE automatizes the signal processing and classification workflow. automatic parallel execution of other evaluations (WEKA, robot simulation) intuitive configuration without scripting (YAML based) ⇒ useable by non-programmers possibility to integrate other algorithms/libraries future steps more algorithms and interfaces to other libraries other data types (e.g., pictures, videos, multimodal data) further applications (e.g., clustering, regression) installation suite . . . M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 27 / 30
  • 40. Conclusion Thank you for your attention! Do you have questions? CPU 1 Column Chart TableLine Chart processed Data CPU 2 CPU 3 A 1 2 3 4a 2 1 3 4b 1 2 4a spec {1,2,3,4a} {2,1,3,4b} {1,2,4a} B Figure: Node chain processing scheme from [12] Credits: German Research Center for Artificial Intelligence, DFKI Bremen, Robotics Innovation Center and Robotics Research Group, University of Bremen M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 28 / 30
  • 41. Bibliography [1] David Feess, Mario Michael Krell, and Jan Hendrik Metzen. Comparison of Sensor Selection Mechanisms for an ERP-Based Brain-Computer Interface. PLoS ONE, 8(7):e67543, 2013. [2] Foad Ghaderi. Joint spatial and spectral filter estimation for single trial detection of event related potentials. In IEEE International Workshop on Machine Learning for Signal Processing, (MLSP), 9 2013. [3] Foad Ghaderi, Su Kyoung Kim, and Elsa Andrea Kirchner. Effects of eye artifact removal methods on single trial P300 detection, a comparative study. Journal of Neuroscience Methods, 221(0):41–47, 2014. [4] Foad Ghaderi and Elsa Andrea Kirchner. Periodic Spatial Filter for Single Trial Classification of Event Related Brain Activity. In Proceedings of the 10th IASTED International Conference on Biomedical Engineering (BioMed-2013), February 13-15, Innsbruck, Austria. ACTA Press, 2013. [5] Foad Ghaderi and Sirko Straube. An adaptive and efficient spatial filter for event-related potentials. In Proceedings of European Signal Processing Conference, (EUSIPCO), 9 2013. [6] Yohannes Kassahun, Hendrik W¨ohrle, Alexander Fabisch, and Marc Tabie. Learning parameters of linear models in compressed parameter space. In Alessandro E. Villa, Wlodzislaw Duch, P´eter ´Erdi, Francesco Masulli, and G¨unther Palm, editors, Artificial Neural Networks and Machine Learning ICANN 2012, volume 7553 of Lecture Notes in Computer Science, pages 108–115. Springer, Lausanne, Switzerland, 2012. [7] Su Kyoung Kim and Elsa Andrea Kirchner. Classifier transferability in the detection of error related potentials from observation to interaction. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics, SMC-2013, Manchester, UK, October 13-16, 2013. [8] Elsa Andrea Kirchner, Su Kyoung Kim, Sirko Straube, Anett Seeland, Hendrik W¨ohrle, Mario Michael Krell, Marc Tabie, and Manfred Fahle. On the Applicability of Brain Reading for Predictive Human-Machine Interfaces in Robotics. PLoS ONE, 8:e81732, 2013. [9] Elsa Andrea Kirchner and Marc Tabie. Closing the gap: Combined EEG and EMG analysis for early movement prediction in exoskeleton based rehabilitation. In Proceedings of the 4th European Conference on Technically Assisted Rehabilitation - TAR 2013, Berlin, Germany, 2013. [10] Elsa Andrea Kirchner, Hendrik W¨ohrle, Constantin Bergatt, Su Kyoung Kim, Jan Hendrik Metzen, David Feess, and Frank Kirchner. Towards Operator Monitoring via Brain Reading – An EEG-based Approach for Space Applications. In Proceedings of the 10th International Symposium on Artificial Intelligence, Robotics and Automation in Space, pages 448–455, Sapporo, 2010. M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 29 / 30
  • 42. Bibliography [11] Mario Michael Krell, David Feess, and Sirko Straube. Balanced Relative Margin Machine The missing piece between FDA and SVM classification. Pattern Recognition Letters, 41:43–52, 2014. [12] Mario Michael Krell, Sirko Straube, Anett Seeland, Hendrik W¨ohrle, Johannes Teiwes, Jan Hendrik Metzen, Elsa Andrea Kirchner, and Frank Kirchner. pySPACE - A Signal Processing and Classification Environment in Python. Frontiers in Neuroinformatics, 7(40), 2013. [13] Jan Hendrik Metzen, Su Kyoung Kim, Timo Duchrow, Elsa Andrea Kirchner, and Frank Kirchner. On Transferring Spatial Filters in a Brain Reading Scenario. In Proceedings of the 2011 IEEE Workshop on Statistical Signal Processing, pages 797–800, Nice, France, 2011. [14] Jan Hendrik Metzen, Su Kyoung Kim, and Elsa Andrea Kirchner. Minimizing Calibration Time for Brain Reading. In Rudolf Mester and Michael Felsberg, editors, Pattern Recognition, volume 6835 of Lecture Notes in Computer Science, pages 366–375. Springer Berlin Heidelberg, Frankfurt, Germany, 2011. [15] Jan Hendrik Metzen and Elsa Andrea Kirchner. Rapid Adaptation of Brain Reading Interfaces based on Threshold Adjustment. In Proceedings of the 2011 Conference of the German Classification Society, (GfKl-2011), page 138, Frankfurt, Germany, 2011. [16] Anett Seeland, Hendrik W¨ohrle, Sirko Straube, and Elsa Andrea Kirchner. Online movement prediction in a robotic application scenario. In 6th International IEEE EMBS Conference on Neural Engineering (NER), pages 41–44, San Diego, California, 2013. [17] Hendrik W¨ohrle, Johannes Teiwes, Elsa Andrea Kirchner, and Frank Kirchner. A Framework for High Performance Embedded Signal Processing and Classification of Psychophysiological Data. In APCBEE Procedia. International Conference on Biomedical Engineering and Technology (ICBET-2013), 4th, May 19-20, Kopenhagen, Denmark. Elsevier, 2013. M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 30 / 30