# Identifying important interactions between features using machine learning

Let's say I have a set of features: a, b, c, d, e, f. I'm now interested in identifying possible interactions between these features that best predict an outcome. For example, it could be that the features a, f, and the interactions a:b:g, d:f and c:e are the 5 most important factors that predict the outcome. It is not only important for an algorithm to account for feature interactions, but I also want to be able to identify these interactions.

How could I approach this problem with machine learning?

That said, you can fit a tree model using, for instance, R. This will allow you to detect complex and high order interactions. You can see this as an example on page 30 here. Note that I would probably use partykit for fitting the tree model because it allows you to use non-normal distributions. This method, though, works best if you have a very large data set and you may struggle to fit them in a linear model once you have found them (because they can only occur on one side of the tree).