# What is discriminative pattern mining?

I understand that pattern mining is finding frequent patterns in a given dataset. So, practically it is unsupervised learning. But what is discriminative pattern mining? Does it concern two (or more) labeled sets as in supervised learning? Please explain the difference.

To be honest, there is no formal definition of discriminative patterns, unlike how there would be with frequent patterns, contrast patterns, and confidence. This paper right here actually takes the time to try describing different discriminative patterns, and understand their statistical value when finding them in datasets.

In principal, you should just understand that discriminative patterns hold high statistical value. For example, this paper describes how if you consider just making more columns in your dataset that indicates the existence or absence ($\{0, 1\}$) of these "discriminative patterns" in a dataset, you could easily boost your classification scores. In this case, discriminative patterns are those defined to be patterns that have high information gain. (Hong Cheng later developed a spin off system called DDPMine that sped up her previous algorithm, but did not reduce classification scores.)

The problems posed for this field of research are

1. What are "good" discriminative patterns,
2. What is the fastest way to mine them?

Once you define what a "good" discriminative pattern is, you could formulate a pattern mining algorithm around this definition, and seek these patterns in your dataset.

Finding patterns in a dataset isn't "unsupervised learning" per se. With probability 1 or 0, we could easily say whether a sample $\vec{x}$ does or does not satisfy a pattern (which is input to the algorithm). In an unsupervised setting, this probability would probability be estimated.

• If you want to make the connection between data mining and machine learning, some people try to learn association rules between patterns in a dataset. This is called association rule learning. But I don't know if there's anything called "discrimination pattern" learning. – hlin117 Apr 12 '15 at 17:40
• Can we find any Python/R/Java library that supports DDPMine? – Cherry Wu Mar 17 '18 at 6:26