Improving classification performance of Support Vector Machine by genetically optimising kernel shape and hyper-parameters