annotate README.rst @ 12:dfdf0b54ef4a draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 02087ce2966cf8b4aac9197a41171e7f986c11d1-dirty"
author bgruening
date Wed, 02 Oct 2019 03:20:36 -0400
parents 1eb6f9e2e30b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
1 Galaxy wrapper for scikit-learn library
1
1eb6f9e2e30b planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit cfc9fe24b7975fc5838bb3e456646202898eb977
bgruening
parents: 0
diff changeset
2 ***************************************
0
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
3
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
4 Contents
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
5 ========
1
1eb6f9e2e30b planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit cfc9fe24b7975fc5838bb3e456646202898eb977
bgruening
parents: 0
diff changeset
6
0
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
7 - `What is scikit-learn?`_
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
8 - `Scikit-learn main package groups`_
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
9 - `Tools offered by this wrapper`_
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
10
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
11 - `Machine learning workflows`_
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
12 - `Supervised learning workflows`_
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
13 - `Unsupervised learning workflows`_
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
14
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
15
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
16 ____________________________
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
17
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
18
1
1eb6f9e2e30b planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit cfc9fe24b7975fc5838bb3e456646202898eb977
bgruening
parents: 0
diff changeset
19 .. _What is scikit-learn?:
0
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
20
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
21 What is scikit-learn?
1
1eb6f9e2e30b planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit cfc9fe24b7975fc5838bb3e456646202898eb977
bgruening
parents: 0
diff changeset
22 =====================
0
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
23
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
24 Scikit-learn is an open-source machine learning library for the Python programming language. It offers various algorithms for performing supervised and unsupervised learning as well as data preprocessing and transformation, model selection and evaluation, and dataset utilities. It is built upon SciPy (Scientific Python) library.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
25
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
26 Scikit-learn source code can be accessed at https://github.com/scikit-learn/scikit-learn.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
27 Detailed installation instructions can be found at http://scikit-learn.org/stable/install.html
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
28
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
29
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
30 .. _Scikit-learn main package groups:
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
31
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
32 Scikit-learn main package groups
1
1eb6f9e2e30b planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit cfc9fe24b7975fc5838bb3e456646202898eb977
bgruening
parents: 0
diff changeset
33 ================================
0
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
34
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
35 Scikit-learn provides the users with several main groups of related operations.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
36 These are:
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
37
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
38 - Classification
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
39 - Identifying to which category an object belongs.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
40 - Regression
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
41 - Predicting a continuous-valued attribute associated with an object.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
42 - Clustering
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
43 - Automatic grouping of similar objects into sets.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
44 - Preprocessing
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
45 - Feature extraction and normalization.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
46 - Model selection and evaluation
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
47 - Comparing, validating and choosing parameters and models.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
48 - Dimensionality reduction
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
49 - Reducing the number of random variables to consider.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
50
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
51 Each group consists of a number of well-known algorithms from the category. For example, one can find hierarchical, spectral, kmeans, and other clustering methods in sklearn.cluster package.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
52
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
53
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
54 .. _Tools offered by this wrapper:
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
55
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
56 Available tools in the current wrapper
1
1eb6f9e2e30b planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit cfc9fe24b7975fc5838bb3e456646202898eb977
bgruening
parents: 0
diff changeset
57 ======================================
0
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
58
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
59 The current release of the wrapper offers a subset of the packages from scikit-learn library. You can find:
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
60
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
61 - A subset of classification metric functions
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
62 - Linear and quadratic discriminant classifiers
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
63 - Random forest and Ada boost classifiers and regressors
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
64 - All the clustering methods
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
65 - All support vector machine classifiers
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
66 - A subset of data preprocessing estimator classes
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
67 - Pairwise metric measurement functions
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
68
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
69 In addition, several tools for performing matrix operations, generating problem-specific datasets, and encoding text and extracting features have been prepared to help the user with more advanced operations.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
70
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
71 .. _Machine learning workflows:
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
72
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
73 Machine learning workflows
1
1eb6f9e2e30b planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit cfc9fe24b7975fc5838bb3e456646202898eb977
bgruening
parents: 0
diff changeset
74 ==========================
0
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
75
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
76 Machine learning is about processes. No matter what machine learning algorithm we use, we can apply typical workflows and dataflows to produce more robust models and better predictions.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
77 Here we discuss supervised and unsupervised learning workflows.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
78
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
79 .. _Supervised learning workflows:
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
80
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
81 Supervised machine learning workflows
1
1eb6f9e2e30b planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit cfc9fe24b7975fc5838bb3e456646202898eb977
bgruening
parents: 0
diff changeset
82 =====================================
0
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
83
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
84 **What is supervised learning?**
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
85
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
86 In this machine learning task, given sample data which are labeled, the aim is to build a model which can predict the labels for new observations.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
87 In practice, there are five steps which we can go through to start from raw input data and end up getting reasonable predictions for new samples:
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
88
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
89 1. Preprocess the data::
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
90
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
91 * Change the collected data into the proper format and datatype.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
92 * Adjust the data quality by filling the missing values, performing
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
93 required scaling and normalizations, etc.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
94 * Extract features which are the most meaningfull for the learning task.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
95 * Split the ready dataset into training and test samples.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
96
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
97 2. Choose an algorithm::
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
98
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
99 * These factors help one to choose a learning algorithm:
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
100 - Nature of the data (e.g. linear vs. nonlinear data)
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
101 - Structure of the predicted output (e.g. binary vs. multilabel classification)
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
102 - Memory and time usage of the training
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
103 - Predictive accuracy on new data
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
104 - Interpretability of the predictions
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
105
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
106 3. Choose a validation method
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
107
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
108 Every machine learning model should be evaluated before being put into practicical use.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
109 There are numerous performance metrics to evaluate machine learning models.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
110 For supervised learning, usually classification or regression metrics are used.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
111
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
112 A validation method helps to evaluate the performance metrics of a trained model in order
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
113 to optimize its performance or ultimately switch to a more efficient model.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
114 Cross-validation is a known validation method.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
115
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
116 4. Fit a model
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
117
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
118 Given the learning algorithm, validation method, and performance metric(s)
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
119 repeat the following steps::
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
120
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
121 * Train the model.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
122 * Evaluate based on metrics.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
123 * Optimize unitl satisfied.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
124
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
125 5. Use fitted model for prediction::
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
126
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
127 This is a final evaluation in which, the optimized model is used to make predictions
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
128 on unseen (here test) samples. After this, the model is put into production.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
129
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
130 .. _Unsupervised learning workflows:
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
131
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
132 Unsupervised machine learning workflows
1
1eb6f9e2e30b planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit cfc9fe24b7975fc5838bb3e456646202898eb977
bgruening
parents: 0
diff changeset
133 =======================================
0
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
134
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
135 **What is unsupervised learning?**
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
136
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
137 Unlike supervised learning and more liklely in real life, here the initial data is not labeled.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
138 The task is to extract the structure from the data and group the samples based on their similarities.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
139 Clustering and dimensionality reduction are two famous examples of unsupervised learning tasks.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
140
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
141 In this case, the workflow is as follows::
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
142
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
143 * Preprocess the data (without splitting to train and test).
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
144 * Train a model.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
145 * Evaluate and tune parameters.
f6802e2b5bc7 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 76583c1fcd9d06a4679cc46ffaee44117b9e22cd
bgruening
parents:
diff changeset
146 * Analyse the model and test on real data.