# Improving SVM performance on data with missing features and outliers?

I'm trying to learn R for ML purposes, and right now I'm building classifier for my data (10 dimensions, ~400 elements, 2 classes), which have some outliers in it, and a lot of missing values.

I'm using multi-imputation of missing values from Amelia package and e1071 SVM. My results are quite good: 80% quality on cross-validation.

Is there any best practices or advices for building classifier on such a bad data? Maybe I should somehow filter outliers first? Maybe I should consider some other method for imputing missing values?

You could start by removing the outliers from your design matrix (for this step you can only use whichever of those 10 variables that are continuous). You can do this rather easily using the $\verb+CovMcd()+$ function in the $\verb+rrcov()+$ library. $\verb+CovMcd()+$ will basically give you the index of the 50 percent most concentrated observations. Use only those to build your SVM classification model (but this time including all the variables in your model, even the discrete ones). Compare the performances of this model with that of the one you have now. Let us know if it improves the fit on the test set. It'll give good information on what type of outliers you have.