Thought I'd share a bit of code.
I am playing with KMeans clustering as another point of information for domaining, and the results so far have been eye opening.
For those who are unfamiliar it's and machine learning algorithm that simply groups data into clusters by contently reassessing the mean of the groups. The most basic example is using two dimensional x and y data and clustering nearby data.
A few geo applications I've seen are alteration domains based on things like Ca, Mn, Fe etc., mineralogical and met domains based on geochem data.
Anyway, there is a lot of info to be googled, for me I used it to look at clusters using 7 dimensions of data, Ag, Pb, Zn, Cu, Easting, Northing, and Elevation. The output was remarkably similar to the estimation groups I had chosen and showed likely offsets clear as day and other improvements on my groups.
Note the dark maroon and orange areas, I was unhappy about the histograms from my groupings because they were bimodal for copper, the KMeans cluster shown in the dark pink produced really well formed histograms and help support the hypothesis that the two zones are chemically similar and probably should be grouped.
Here is the script KMeans Script if you are interested. Trigger warning, I am not a coder, I'm sure it's far from perfect. Also, for the python beginners these won't be plug and play unless you get numpy and pandas, to be honest these was the hardest part for me as you can read about my confusion with pip in other posts here about scripting.
Improvements that I am not currently capable of:
- Adding a first pass to optimize the clusters then feed it to the Kmeans script
- Filtering data on the file, I can't use As and Fe at the moment because there are nulls.
- Avoid going out to csv first. I couldn't quickly figure out how to stack the numpy array with the mm file.
Estimate Domains picked manually
Clusters with 10 groups
Likely Offset: Note KMeans clustered the green data across the proposed fault despite the separation distance. I am not blindly following the computer here, this is something that I proposed before trying kmeans and was blown away when I saw it picked it out
Customer support service by UserEcho