Say I read a set of data in and it looks like so:

[ 1, 2, 3, 4, 5 ]

Now, there's an unknown rule set by my data's source that says if the 3rd element in my list is set to 5, the fifth element must be greater than 10. So, subsequent data reads look like this:

read #2:

[ 2, 2, 3, 4, 5 ]

read #3:

[ 3, 2, 5, 4, 11 ]

read #4:

[ 4, 2, 5, 4, 11 ]

If I'm only seeing the data, is there a way I can extrapolate that rule, so I end up with this:

if (field3 == 5 and field5 < 10) 
    return false;
return true;

I know it would be hard for a machine to differentiate the rules without far more data than this example, but in reality, I have thousands of these data records with hundreds of rules that govern their state.

Is there an established method for doing this type of pattern recognition?


Yes. There are different methods to extract some rules from data. It depends on the type of rules that you want to extract. Anyhow, different types of the decision tree (such as fuzzy decision tree) and association rules to find the rules that have strong support and confidence, could help you in this way.


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.