\newpage \noindent {\bf \huge dataset}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Creator of the dataset class

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt data}\\ 
{\tt data(d)}\\ 
{\tt data(data,'attr1',val1,'attr2',val2,...)}\\ 
{\tt data(data,symbols,vartypes,labels,variables)}\\ 
{\tt data(classes,data,symbols,vartypes,labels,variables)}\\ 
{\tt data(datafile,variables,symbols,vartypes,labels)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt data} 
creates an empty data object.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt data(d)} 
clone the data object or fix a broken data object from its struct form.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt data(data,'attr1',val1,'attr2',val2,...)} 
create a data object. {\tt data} are the data
(each piece of data is on a different line). The couples of {\tt attr1},
{\tt val1}, ... are used to set the attributes. 
\vspace{4mm}\\ 
\hspace{2mm}
{\tt data(data,symbols,vartypes,labels,variables)} 
create a data object. {\tt data} are the data
(each piece of data is on a different line). {\tt labels} is
a column vector of the labels (optional) corresponding to each piece of data.
{\tt variables} [cell],	are the names of the columns of the data.
{\tt symbols} [cell] are the symbolic correspondance for the symbolic data.
{\tt vartypes} is a cell array containing the type of the variable for each
column ('continuous','discrete','symbolic','class'). There can only be one 'class'
variable at a time. If vartypes is not specified, the types are deduced from the
{\tt data} and the symbol field 
\vspace{4mm}\\ 
\hspace{2mm}
{\tt data(classes,data,symbols,vartypes,labels,variables)} 
create a data object. {\tt data} are the data
(each piece of data is on a different line). {\tt labels} is
a column vector of the labels (optional) corresponding to each piece of data.
{\tt classes} contains the class associated with each piece of data.
{\tt variables} [cell],	are the names of the columns of the data.
{\tt symbols} [cell] are the symbolic correspondance for the symbolic data.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt data(datafile,variables,symbols,vartypes,labels)} 
create a data object from a mat datafile. {\tt datafile} is the
name of the mat file where the data are saved. The file must contain a series of
variables referenced by {\tt variables}[cell]. Each of this variable must be a
column vector([double] or [cell]) of length equal to the number of data points.
\end{description}

\begin{description}
 \item[Methods]\ \\ 
\begin{itemize}
\item {\tt addclass}   add a class to the data set (obsolete)

\item {\tt addfeature}   Adds a new feature to the data set

\item {\tt addpoint}   Add a point to the dataset

\item {\tt addsfeature}   Adds a new symbolic feature to the data set

\item {\tt addvariable}   Add a new variable(feature) to the data set

\item {\tt bootstrap}   BOOTSTRAP creates n new datasets ready for Bagging purpose or cross validation
\item {\tt btstrap2}   BTSTRAP2 creates n new datasets ready for Bagging purpose or cross validation
\item {\tt classgroup}   Groups a few classes into more general classes

\item {\tt classpart}   selects a part (of the classes) of the data set

\item {\tt csplit}   Cut the dataset into n pieces for x validation purposes
\item {\tt cut}   Cut the dataset into n pieces for x validation purposes
\item {\tt normalise}   performs a denormalisation of the continuous data field of a dataset
\item {\tt display}   displays the dataset object

\item {\tt double}   converts the dataset object to double

\item {\tt export}   Export a data set to a comma delimited text file

\item {\tt fs}   FS performs a features selection on the dataset d
\item {\tt fuzzyknn}   performs fuzzy nearest neightbours algorithm

\item {\tt fuzzyknn2}   performs fuzzy nearest neightbours algorithm (matlab release)

\item {\tt get}   Access/query dataset property values
\item {\tt getmiss}   get missing values from a dataset

\item {\tt gfkclus}   performs Gustaffson Kessel clustering 

\item {\tt horzcat}   Horizontal concatenation operator

\item {\tt join}   joins two data sets

\item {\tt kmeans}   performs kMeans clustering 

\item {\tt }   

\item {\tt leave1out}   LEAVE1OUT performs the leave-one-out validation and computes the confusion matrix,
error rates and Kappa inside a report structure
\item {\tt mkmeans}   performs multi prototypes clustering 

\item {\tt normalise}   NORMALISE performs the linear normalisation of a learning dataset and transforms
the corresponding testing dataset if it is provided
\item {\tt normstd}   NORMSTD performs a normalisation of the continuous features of a learning set and a testing set
\item {\tt pick}   picks randomly chosen examples out of a data set

\item {\tt placekernels}   Place kernels to be used with smoothknn

\item {\tt plot}   plot a dataset

\item {\tt postmining}   compute the confusion matrix and error rates between supervision and prediction

\item {\tt randfs1}   RANDFS1 : a features subsets builder by sampling with replacement

\item {\tt randfs2}   RANDFS2 : a features subsets builder by sampling without replacement

\item {\tt remPoint}   remove a point from a data set	

\item {\tt set}   Set object properties
\item {\tt simple\_knn}   classifies a testing set using kNN	

\item {\tt simple\_knn2}   classifies the query using kNN	(matlab release)

\item {\tt simple\_MLP}   SIMPLE\_MLP performs a one-hidden-layer neural network classification
\item {\tt simpleknn}   classifies the query using kNN	

\item {\tt simpleknn}   classifies the query using kNN	

\item {\tt size}   get the size of the data set

\item {\tt smoothknn}   classifies the query using smoothknn	

\item {\tt subsref}   overload the subscript reference operator

\item {\tt svm}   Support Vectors Machine classification

\item {\tt svminit}   Initialise the Support Vectors for the svm classification

\item {\tt vertcat}   vertical concatenation operator

\end{itemize}
\end{description}
\newpage \noindent {\bf \huge addclass}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
add a class to the data set (obsolete)

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt d = addClass(d,c)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt d = addClass(d,c)} 
adds class {\tt c} to dataset {\tt d}.
\end{description}
\newpage \noindent {\bf \huge addfeature}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Adds a new feature to the data set

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
also addsfeature

\end{description}
\newpage \noindent {\bf \huge addpoint}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Add a point to the dataset

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt addpoint(d,varargin)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt addpoint(d,varargin)} 
is equivalent to [d;dataset(varargin)] and adds a point to the dataset.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
also vertcat, join

\end{description}
\newpage \noindent {\bf \huge addsfeature}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Adds a new symbolic feature to the data set

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
also addsfeature

\end{description}
\newpage \noindent {\bf \huge addvariable}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Add a new variable(feature) to the data set

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt d = addvariable(d,v)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt d = addvariable(d,v)} 
adds the variable {\tt v} to the dataset d.
Fills the corresponding data with zeros.
\end{description}
\newpage \noindent {\bf \huge bootstrap}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
BOOTSTRAP creates n new datasets ready for Bagging purpose or cross validation
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt LS = BOOTSTRAP(D,N)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt LS = BOOTSTRAP(D,N)} 
{\tt D} is a dataset object, {\tt N} is the desired number of bootstraps.\\
{\tt LS} is a cell array containing {\tt N} new bootstrapped datasets.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
CUT, BTSTRAP2

\end{description}
\newpage \noindent {\bf \huge btstrap2}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
BTSTRAP2 creates n new datasets ready for Bagging purpose or cross validation
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [LS,LSBAR] = BTSTRAP2(D,N)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [LS,LSBAR] = BTSTRAP2(D,N)} 
{\tt D} is a dataset object, {\tt N} is the desired number of bootstraps.\\
{\tt LS} is a cell array containing {\tt N} new bootstrapped datasets.
{\tt LSBAR} is the complementary cell array for each bootstrap. 
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
CUT, BOOTSTRAP

\end{description}
\newpage \noindent {\bf \huge classgroup}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Groups a few classes into more general classes

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt out=classgroup(d,classes,groupclasses)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt out=classgroup(d,classes,groupclasses)} 
groups the groups of classes specified by the cell array
{\tt classes} into new classes specified by the cell array {\tt groupclasses}.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
also classpart

\end{description}
\newpage \noindent {\bf \huge classpart}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
selects a part (of the classes) of the data set

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt out=classpart(d,classes)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt out=classpart(d,classes)} 
allows to extracts from {\tt d} the data
concerning the part {\tt classes} of the classes.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
classgroup

\end{description}
\newpage \noindent {\bf \huge csplit}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Cut the dataset into n pieces for x validation purposes
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [pick, rest] = cut (d,n)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [pick, rest] = cut (d,n)} 
cuts {\tt d} in {\tt n} sub-dataset, each of which is
placed in one cell of the cell array {\tt pick}. For each <code>pick{j}</code>, the
rest of the data set is placed inside <code>rest{j}</code>
\end{description}

\begin{description}
 \item[Remarks]\ \newline \newline 
The cutting process respects the classes repartition. No Randomization is done.

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
cut xval

\end{description}
\newpage \noindent {\bf \huge cut}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Cut the dataset into n pieces for x validation purposes
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [pick, rest] = cut (d,n)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [pick, rest] = cut (d,n)} 
cuts {\tt d} in {\tt n} sub-dataset, each of which is
placed in one cell of the cell array {\tt pick}. For each <code>pick{j}</code>, the
rest of the data set is placed inside <code>rest{j}</code>
\end{description}

\begin{description}
 \item[Remarks]\ \newline \newline 
The cutting process respects the classes repartition.

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
xval

\end{description}
\newpage \noindent {\bf \huge normalise}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
performs a denormalisation of the continuous data field of a dataset
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt d = denormalise(d)  }\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt d = denormalise(d)  } 
denormalises the dataset {\tt d}.
\end{description}
\newpage \noindent {\bf \huge display}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
displays the dataset object

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt display(d)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt display(d)} 
displays the dataset object {\tt d}.
\end{description}
\newpage \noindent {\bf \huge double}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
converts the dataset object to double

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt out=double(in)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt out=double(in)} 
gets the data out of the data set {\tt in} and
return it inside {\tt out}.
\end{description}
\newpage \noindent {\bf \huge export}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Export a data set to a comma delimited text file

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt export(d,name)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt export(d,name)} 
export the dataset {\tt d} to file named {\tt name}.
\end{description}
\newpage \noindent {\bf \huge fs}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
FS performs a features selection on the dataset d
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt newd=fs(d,s)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt newd=fs(d,s)} 
\\
{\tt d} is a dataset object\\
{\tt s} is a vector containing the index of the features to select.\\
\\
{\tt newd} is a dataset with selected features only. 
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
pick, cut, get

\end{description}
\newpage \noindent {\bf \huge fuzzyknn}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
performs fuzzy nearest neightbours algorithm

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt myclass = fuzzyknn(d,query,k)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt myclass = fuzzyknn(d,query,k)} 
returns inside {\tt myclass} the result of the
classification of the point {\tt query} using fuzzy KNN method.
{\tt d} is the data set and {\tt k} the number of neibourghs.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
newexpert, simpleknn, smoothknn

\end{description}
\newpage \noindent {\bf \huge fuzzyknn2}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
performs fuzzy nearest neightbours algorithm (matlab release)

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt myclass = fuzzyknn2(learn,test,k)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt myclass = fuzzyknn2(learn,test,k)} 
returns inside {\tt myclass} the result of the
classification of the dataset {\tt test} using fuzzy KNN method.
{\tt learn} is also a dataset and {\tt k} the number of neighbours.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
fuzzyknn, simpleknn, smoothknn

\end{description}
\newpage \noindent {\bf \huge get}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Access/query dataset property values
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt d=get(data,label)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt d=get(data,label)} 
returns the value of the specified 
property {\tt label} of the data set {\tt d}.
Possibles properties are:
\\  
\begin{tabular}{lp{12cm}}
{\tt nv}: & the number of variables \\ 
{\tt ns}: & the number of examples \\ 
{\tt nc}: & the number of classes \\ 
{\tt contdata}: & the continuous data \\ 
{\tt symbdata}: & the symbolic data \\ 
{\tt classes}: & the classes \\ 
{\tt classeslist}: & the list of classes \\ 
{\tt data}: & the data attribute \\ 
{\tt symbols}: & the symbols attribute \\ 
{\tt vartypes}: & the vartypes attribute \\ 
{\tt labels}: & the labels attribute \\ 
{\tt variables}: & the labels attribute \\ 
\end{tabular} \\ 

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
set 

\end{description}
\newpage \noindent {\bf \huge getmiss}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
get missing values from a dataset

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt miss=getmiss(d)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt miss=getmiss(d)} 
\\
{\tt d} is a dataset
{\tt miss} is a vector containing the position of missing values. 
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
get

\end{description}
\newpage \noindent {\bf \huge gfkclus}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
performs Gustaffson Kessel clustering 

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [cg, v] = gfkclus(d,n,m)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [cg, v] = gfkclus(d,n,m)} 
Finds the center of the clusters {\tt cg} and 
their variances {\tt v} using the Gustaffson Kessel clustering method.
{\tt d} is the data set, {\tt n} the number of prototypes by cluster and
m is the fuzzyness parameter (>1).
{\tt cg} is a {\tt n} rows matrix (one for each cluster).
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
mkmeans, fkmeans, gkclus

\end{description}
\newpage \noindent {\bf \huge horzcat}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Horizontal concatenation operator

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt z = horzcat(d1, d2, ...)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt z = horzcat(d1, d2, ...)} 
Concatenates two or more data sets {\tt d1}, {\tt d2}
horizontally. redundant classes are converted to symbolic variables.
\end{description}
\newpage \noindent {\bf \huge join}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
joins two data sets

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt d = join(d1,d2)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt d = join(d1,d2)} 
Joins two different data sets {\tt d1} and {\tt d2}, even if they are not compatible
(they do not share the same variables). This can lead to a strongly sparse data set if the data sets are fairly
different. Note also that the variables will be resorted during the process.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
vertcat

\end{description}
\newpage \noindent {\bf \huge kmeans}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
performs kMeans clustering 

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt cg = kmeans(d,n)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt cg = kmeans(d,n)} 
Finds the center of the clusters {\tt cg} using 
the kMeans clustering method.
{\tt d} is the data set and {\tt n} the number of prototypes by cluster.
{\tt cg} is a {\tt n} rows matrix (one for each cluster).
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
mkmeans, fkmeans, gkclus

\end{description}
\newpage \noindent {\bf \huge }\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 


\end{description}

\begin{description}
 \item[See also]\ \newline \newline 


\end{description}
\newpage \noindent {\bf \huge leave1out}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
LEAVE1OUT performs the leave-one-out validation and computes the confusion matrix,
error rates and Kappa inside a report structure
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt REPORT = LEAVE1OUT(ALGO, LEARNSET, P1, P2)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
CUT, BOOTSTRAP.

\end{description}
\newpage \noindent {\bf \huge mkmeans}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
performs multi prototypes clustering 

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [cg,cp] = mkmeans(d,n,p)}\\ 
{\tt [cg,cp] = mkmeans(d,n,p,l)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [cg,cp] = mkmeans(d,n,p)} 
Finds the center of the clusters {\tt cg} and there associated
prototypes {\tt cp} using a new clustering method developped in IRIDIA.
{\tt d} is the data set, {\tt n} the number of clusters and {\tt p}
the number of prototypes by cluster.
{\tt cg} is a {\tt n} rows matrix (one for each cluster).
{\tt cp} is a {\tt p} rows and {\tt n} columns 3D matrix.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt [cg,cp] = mkmeans(d,n,p,l)} 
{\tt l} is the weight of the center of the cluster in
the definition of the cost function minimised by the clustering method.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
kmeans, fkmeans, gkclus

\end{description}
\newpage \noindent {\bf \huge normalise}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
NORMALISE performs the linear normalisation of a learning dataset and transforms
the corresponding testing dataset if it is provided
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt LEARNSET = NORMALISE(LEARNSET);
[LEARNSET, TESTSET] =  NORMALISE(LEARNSET, TESTSET);}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt LEARNSET = NORMALISE(LEARNSET);
[LEARNSET, TESTSET] =  NORMALISE(LEARNSET, TESTSET);} 
each feature value will be linearly computed between 0 and 1.\\
Algorithm\\
\\
\begin{equation}
 newd = (d-min(d))/(max(d)-min(d)) 
\end{equation}
\\
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
NORMSTD

\end{description}
\newpage \noindent {\bf \huge normstd}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
NORMSTD performs a normalisation of the continuous features of a learning set and a testing set
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt LEARNSET  = NORMSTD(LEARNSET);
[LEARNSET, TESTSET] = NORMSTD(LEARNSET, TESTSET);}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
\end{description}

\begin{description}
 \item[Remarks]\ \newline \newline 
The normalisation transforms the data so that their mean is zero and standard deviation 1. 

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
normalise

\end{description}
\newpage \noindent {\bf \huge pick}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
picks randomly chosen examples out of a data set

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [out,theRest]=pick(d,n)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [out,theRest]=pick(d,n)} 
picks {\tt n} randomly chosen example out of
dataset {\tt d}. The picked examples are rturned inside {\tt out},
the others are inside {\tt theRest}.
%
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
cut

\end{description}
\newpage \noindent {\bf \huge placekernels}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Place kernels to be used with smoothknn

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt kernels=placekernels(data)}\\ 
{\tt kernels=placekernels(data,num)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt kernels=placekernels(data)} 
Build the metrics (the {\tt kernels}) needed by smoothknn
using a non supervised clustering algorithm (Gustaffson Kessel).
The number of kernels for each class is (right now badly) guessed.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt kernels=placekernels(data,num)} 
Build the metrics (the {\tt kernels}) needed by smoothknn
using a non supervised clustering algorithm (Gustaffson Kessel).
{\tt num} kernels are computed for each class.
\end{description}
\newpage \noindent {\bf \huge plot}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
plot a dataset

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt h=plot(d,colors)}\\ 
{\tt h=plot(d,colors,classes)}\\ 
{\tt h=plot(d,colors,classes,vars)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt h=plot(d,colors)} 
plot the dataset {\tt d} using
the cell array of colors {\tt colors}. Every classes
are plot among the two first variables. The handles of the plots
for the different classes are returned inside h.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt h=plot(d,colors,classes)} 
Only the classes specified inside the cell array
{\tt classes} are plot with respect to the two first features.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt h=plot(d,colors,classes,vars)} 
The classes specified inside the cell array
{\tt classes} are plot with respect to the variables specified
inside the array {\tt vars}.
\end{description}
\newpage \noindent {\bf \huge postmining}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
compute the confusion matrix and error rates between supervision and prediction

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
confmat 

\end{description}
\newpage \noindent {\bf \huge randfs1}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
RANDFS1 : a features subsets builder by sampling with replacement

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt FS = RANDFS1(D,PROP,NB)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt FS = RANDFS1(D,PROP,NB)} 
\\
\\
{\tt FS}   = cell array containing the subsets of features\\
{\tt D}    = training set build with 'dataset'\\
{\tt PROP} = percentage of the total number of attributes \\
{\tt NB}   = number of subsets\\
\end{description}

\begin{description}
 \item[Examples]\ \newline \newline 
fs = randfs1(train,0.5,10);\\
data=get(train,'contdata');\\
d=data(:,fs{1});\\

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
randfs2

\end{description}
\newpage \noindent {\bf \huge randfs2}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
RANDFS2 : a features subsets builder by sampling without replacement

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt FS = RANDFS2(D,PROP,NB)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt FS = RANDFS2(D,PROP,NB)} 
\\
\\
{\tt FS}   = cell array containing the subsets of features\\
{\tt D}    = training set build with 'dataset'\\
{\tt PROP} = percentage of the total number of attributes \\
{\tt NB}   = number of subsets\\
\end{description}

\begin{description}
 \item[Examples]\ \newline \newline 
fs = randfs1(train,0.5,10);\\
data=get(train,'contdata');\\
d=data(:,fs{1});\\

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
randfs1

\end{description}
\newpage \noindent {\bf \huge remPoint}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
remove a point from a data set	

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt remPoint(d,num)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt remPoint(d,num)} 
remove point number {\tt num} from dataset {\tt d}.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
addpoint, addvariable

\end{description}
\newpage \noindent {\bf \huge set}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Set object properties
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt set(d,'AttrName1',AttrValue1,'AttrName2',AttrValue2,...)}\\ 
{\tt m\_out = set(d,'AttrName1',AttrValue1,'AttrName2',AttrValue2,...)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt set(d,'AttrName1',AttrValue1,'AttrName2',AttrValue2,...)} 
sets the value of the attribute {\tt AttrName1}, {\tt AttrName2}, ...
associated to the object {\tt d}.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt m\_out = set(d,'AttrName1',AttrValue1,'AttrName2',AttrValue2,...)} 
sets the value of the attribute {\tt AttrName1}, {\tt AttrName2}, ...
associated to the object {\tt d} and return the modified model inside m\_out. The original
model is not modified.
The following {\tt AttrName} are recognised:
\\  
\begin{tabular}{lp{12cm}}
{\tt contdata}: & the continuous data \\ 
{\tt symbdata}: & the symbolic data \\ 
{\tt classes}: & the classes \\ 
{\tt labels}: & the labesl of the data points \\ 
{\tt vartypes}: & the types of the variables \\ 
\end{tabular} \\ 

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
get

\end{description}
\newpage \noindent {\bf \huge simple\_knn}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
classifies a testing set using kNN	

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [out]=simpleknn(data,test,n)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [out]=simpleknn(data,test,n)} 
The classification of the dataset {\tt test} is performed using a {\tt n}
nearest neighbours classifier from the dataset DATA.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
smoothknn, fuzzyknn

\end{description}
\newpage \noindent {\bf \huge simple\_knn2}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
classifies the query using kNN	(matlab release)

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [out]=simple\_knn2(data,query)}\\ 
{\tt [out]=simpleknn(data,query,n)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [out]=simple\_knn2(data,query)} 
classifies the point {\tt query} and returns the
result inside classes {\tt out}. 
\vspace{4mm}\\ 
\hspace{2mm}
{\tt [out]=simpleknn(data,query,n)} 
The classification is performed using a {\tt n}
nearest neighbours classifier.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
smoothknn, simpleknn, fuzzyknn

\end{description}
\newpage \noindent {\bf \huge simple\_MLP}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
SIMPLE\_MLP performs a one-hidden-layer neural network classification
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt CLASS = SIMPLE\_MLP(LEARNSET,TESTSET,ALGO,NBEPOCHS,GOAL)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt CLASS = SIMPLE\_MLP(LEARNSET,TESTSET,ALGO,NBEPOCHS,GOAL)} 
\\
\\
LEARNSET, TESTSET are 'dataset' objects.\\
GOAL     : first stopping condition, the global error rate. Common value is 0.01.\\
NBEPOCHS : second stopping condition, the number of epochs. Common value is 50.\\
ALGO : \\
- 'trainlm' Levenberg-Marquardt, slow and memory consuming but efficient.\\
- 'trainrp' Resilient backpropagation, fast, NBEPOCHS bigger.\\
- 'trainbfg' BFGS Quasi-Newton, fast, NBEPOCHS bigger. \\
\\
'Neural Networks' Toolbox required. \\
\\
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
BAG\_MLP, BAGFS\_MLP, MFS\_MLP, simple\_knn, simple\_c45, simple\_lda

\end{description}
\newpage \noindent {\bf \huge simpleknn}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
classifies the query using kNN	

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [out,confid]=simpleknn(data,query)}\\ 
{\tt [out,confid]=simpleknn(data,query,n)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [out,confid]=simpleknn(data,query)} 
classifies the point {\tt query} and returns the
result inside classes {\tt out} with
a confidence {\tt confid}. The classification is done by means
of a 2 nearest neighbours method.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt [out,confid]=simpleknn(data,query,n)} 
The classification is performed using a {\tt n}
nearest neighbours classifier.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
smoothknn, fuzzyknn

\end{description}
\newpage \noindent {\bf \huge simpleknn}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
classifies the query using kNN	

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [out]=simpleknn(data,query)}\\ 
{\tt [out]=simpleknn(data,query,n)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [out]=simpleknn(data,query)} 
classifies the point {\tt query} and returns the
result inside classes {\tt out} with
a confidence {\tt confid}. The classification is done by means
of a 2 nearest neighbours method.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt [out]=simpleknn(data,query,n)} 
The classification is performed using a {\tt n}
nearest neighbours classifier.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
smoothknn, fuzzyknn

\end{description}
\newpage \noindent {\bf \huge size}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
get the size of the data set

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt out=size(d)}\\ 
{\tt out=size(d,n)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt out=size(d)} 
returns the dimensions (number of examples,
number of variables) of the database {\tt d}.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt out=size(d,n)} 
returns either the number of examples({\tt n} = 1)
or the number of variables({\tt n} = 2) of the database {\tt d}.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
also get

\end{description}
\newpage \noindent {\bf \huge smoothknn}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
classifies the query using smoothknn	

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt [out,confid]=smoothknn(data,query)}\\ 
{\tt [out,confid]=smoothknn(data,query,kernels)}\\ 
{\tt [out,confid]=smoothknn(data,query,kernels,ratio)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt [out,confid]=smoothknn(data,query)} 
classifies the point whose the features are
equal to {\tt query} inside classes {\tt out} with
a confidence {\tt confid}. The classification is done by means
of a kNN with fixed metric using the dataset {\tt data}.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt [out,confid]=smoothknn(data,query,kernels)} 
The classification is performed using an adaptive
metric based on kernels.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt [out,confid]=smoothknn(data,query,kernels,ratio)} 
Ratio increases the smoothness of the algorithm by
extending the zone of influence of each point (equivalent to take a wider
neibourghood).
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
simpleknn, fuzzyknn

\end{description}
\newpage \noindent {\bf \huge subsref}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
overload the subscript reference operator

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt function out=subsref(d,s)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt function out=subsref(d,s)} 
subsref(d,s) will return either a sub-datatset or a part of
the dataset object depending on the subscript method. {\tt d} is the
data set and {\tt s} is the reference specification structure.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
also {\tt subsref}

\end{description}
\newpage \noindent {\bf \huge svm}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Support Vectors Machine classification

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt class = svm(d, data, sv, act)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt class = svm(d, data, sv, act)} 
classifies the piece of data {\tt data} using
dataset {\tt d} and support vectors {\tt sv}. {\tt act}
is the activation.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
svminit 

\end{description}
\newpage \noindent {\bf \huge svminit}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Initialise the Support Vectors for the svm classification

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt sv = svminit(d, ker, bound)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt sv = svminit(d, ker, bound)} 
computes the support vectors needed to perform support
machine classification and return them inside {\tt sv}. {\tt d}
is the data set, {\tt ker} specifies the type of kernel.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
svm

\end{description}
\newpage \noindent {\bf \huge vertcat}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
vertical concatenation operator

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt z = vertcat(d1, d2, ...)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt z = vertcat(d1, d2, ...)} 
concatenates two or more data sets {\tt d1}, {\tt d2}
etc. Symbolic codes are reorganised in order to avoid redundancies.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
also 

\end{description}
