### DisTools introductory example, pseudo-Euclidean embedding

Get rid of old figures. Take a dataset (other examples are `kimia_shapes`, `chickens` and `protein`)

```delfigs A = catcortex```

Now we find an embedding into a pseudo-Euclidean space. This is only possible if A is symmetric and has a zero diagonal. The mapping is found by pe_em. The dimensionalities of the positive and negative subspaces can nbe retrieved by signature and the dataset is mapped into the PE-Space.

`W = A*pe_em;`
` sig = signature(W);`
` X = setname(A*W,'PE Space');`

The dimensions (features) of X are ranked that `X(:,1:sig(1))` contains the positive space starting with the most significant direction (largest eigenvalue) and `X(:,sig(1)+1:sig(1)+sig(2))` contains the negative space, starting with the most significant direction (most negative eigenvalue). A scatterplot of these two most significant dimensions (most positive and most negative) can thereby be made as follows.

`scatterd(X(:,[1 sig(1)+1]));`
` title('Pseudo Euclidean Space')`
` xlabel('First positive dimension')`
` ylabel('First negative dimension')`

Compare with the first two positive directions:

`figure;`
` scatterd(X(:,[1 2]));`
` title('Pseudo Euclidean Space')`
` xlabel('First positive dimension')`
` ylabel('Second positive dimension')`

Classifiers in in PE-space should use its specific definition of distances. For some classifiers this is possible, e.g. `nmc`, `knnc` and `parzenc`. The pseudo-Euclidean variants of the last two classifiers however, should be identical to the corresponding classifiers for the dissimilarity data itself, `knndc` and `parzenddc` if these representations are based on the same objects. Normal density based classifiers (`ldc`,`udc` and `qdc`)  in PE-space do not depend on the signature as it cancels in the computation of squared distances. The interpretation of normal densities in pe-spaces is, however, disputable as such densities have no proper definitions in such spaces.

In the following experiment these classifiers are compared for various spaces. the associated psace (`'ass'`), the positive space (`'pos'`) and the negative space (`'neg'`) are all Euclidean. The pseudo-Euclidean classifiers (`pe_nmc, pe_knnc, pe_parzenc`)  are for these spaces identical to the original variants (`pe_nmc, pe_knnc, pe_parzenc`)

Define the classifiers:

`U = {pe_nmc,ldc,pe_knnc,pe_parzenc}`

Define the mappings to the subspaces

`Wass = euspace(W,'ass');`
` Wpos = euspace(W,'pos');`
` Wneg = euspace(W,'neg');`

Map the original dissimilarities to these subspaces and name the resulting datasets properly

`Xass = setname(A*Wass,'Ass Space');`
` Xpos = setname(A*Wpos,'Pos Space');`
` Xneg = setname(A*Wneg,'Neg Space');`

Run a crossvalidation for all datasets on all classifiers

`crossval({X,Xass,Xpos,Xneg},U,5,5)`

Compute for every space a set of learning curves as well:

`figure;`
` e = cleval(A*W,U,[],5);`
` plote(e);`
` title('PE Space');`

`figure;`
` e = cleval(A*Wass,U,[],5);`
` plote(e);`
` title('Associated Space');`

`figure;`
` e = cleval(A*Wpos,U,[],5);`
` plote(e);`
` title('Positive Space');`

`figure;`
` e = cleval(A*Wneg,U,[],5);`
` plote(e);`
` title('Negative Space');`

Finally, show all figures:

`showfigs`