I am working on an unsupervised problem: to take a set of transactional data, and identify anomalous transactions. I am using h2o's auto encoder to train a model which then scores transactions based on MSE / reconstruction error. I am able to achieve good results, in terms of the highest scoring transactions being genuinely anomalous in a business context. However, I think I can do more on the feature engineering side. Are there any general principles which apply to feature engineering on this kind of problem as opposed to a more conventional supervised machine learning problem?


Feature engineering requires domain knowledge. The important general principle is to control for overfitting - if the number of features you are considering is large compared to the dataset then this is a real risk.

There is an alternative to designing features, which is to design a Mercer kernel. That is a function that measures the similarity between two data points (in your case, two transactions). Then you can use a kernel-based learning method, for example a Support Vector Classifier. This is equivalent to learning in a large feature space by Mercer's Theorem, but you don't have to design the features.

| cite | improve this answer | |
  • $\begingroup$ Interesting, I hadn't heard of this approach. Will read up on it. Thanks! $\endgroup$ – joshi123 Jun 1 '18 at 10:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.