Every application in data mining is different, but a great place to start is with weka. it has a Java and C# API and its dead easy to apply different machine learning algorithms. Many researchers in my old research team have used this really sucessfully in the past.
Defining your features, using only discrimative features and cleaning any noise your feature set is the first place to start as the algorithms will only work with a good feature set. The first step to good data mining is preprocessing of the data.