We present a novel classification technique for identifying earthquake focal mechanism type and fault plane orientation using a robust classification technique rather than the least squares based (HASH) algorithm. The goal was to support a system capable of automatically classifying earthquakes, for applications such as microseismic monitoring. In this context, classification of both shear or/and tensile failure (mixed double-couple and CLVD sources) was required, so a generalized system was developed. More generally though, we see applications of this algorithm in hazard monitoring, particularly for early classification of tsunamigenic. The project was implemented in Python, the classification was made easy using scikit-learn and SciPy special functions, and 3-D visualization was done using Mayavi.