2
method to smoothen the noisy assay grade data. However,
their work is a general guideline for a geometallurgy pro-
gram and not a streamlined approach for sample selection.
The k-means method is a popular unsupervised machine
learning clustering technique which can be applied for
geometallurgical clustering, but its sole application is quite
limited as it does not capture the outliers properly (Potakey
et al., 2022). A way to increase the accuracy of the cluster-
ing exercise is by reducing the dimension of the database by
applying the principal component analysis (PCA) method
before running the k-means algorithm.
Selecting representative samples for metallurgical test
work is a challenging task. Therefore, a streamlined and
efficient sample selection process utilizing modern-day
tools such as Python is valuable. This paper builds on the
works done by Michaux et al. (2020) and Potakey et al.
(2022) and presents a streamlined process for sample selec-
tion used to select 40 samples with a minimum mass of
20 kg for flotation test work for the pre-feasibility study
of a copper mine. Validation steps are built into the meth-
odology to ensure high-quality samples are selected, ensur-
ing the representation of the deposit. The sample selection
process utilizes Python to efficiently analyze, visualize and
apply statistical techniques to the large database. Writing
custom Python code for the process allows the process to be
standardized and reproducible and enables multiple itera-
tions in a brief time resulting in time and cost savings.
METHODOLOGY
Minerals with the most significant effect on test work are
assigned to three buckets: key, deleterious, and rock ele-
ments. Key minerals are the most valuable minerals from
the mine and are most important in mineral processing
to maximize the revenue. Deleterious minerals negatively
impact the commercial value of the product or the environ-
ment. Rock minerals are the minerals in the host rock that
are not valuable and thrown away. Rock minerals are essen-
tial for comminution test work samples to test the breakage
behavior of the ore but may not be necessary for flotation
test work samples aiming to test the ore’s chemical behav-
ior. In this study, the samples were selected for flotation
test work. Therefore, the key elements considered were cop-
per, iron, sulfur, and zinc and deleterious and rock minerals
were not considered.
The CuSum analysis is run on the mineral grade values
of the geometallurgy dataset and a column containing the
CuSum values, a column containing the difference between
each grade value and the column average, and a column
(Delta CuSum) containing a value of 1, if the grade value
is greater than the average or a value of –1, if the grade
value is lower than the average are appended to the data-
set in Jupyter Notebook. The method generally involves
quantifying changes in lithology and assigning a numeri-
cal value to each section with the same lithology. For this
study, lithology was not considered upon recommendation
of geologists and metallurgists.
The data is sectioned into CuSum intervals to quan-
tify the heterogeneity change down the drillholes. For the
main mineral copper, the r-squared values of three con-
secutive grade CuSum data points are calculated across the
entire length of the column, and consecutive data points
for which the r-squared value stays greater than specified,
0.9 in this study, are grouped as one CuSum interval. This
method is susceptible to grade changes and only applies to
the main mineral.
For other minerals (iron, sulfur, and zinc), the Delta
CuSum values are used to assign CuSum intervals. Grade
values that are consecutively greater than the average
(assigned a Delta CuSum value of 1) or lower than the aver-
age (assigned a Delta CuSum value of –1) are grouped as
one CuSum interval. This method is less sensitive to grade
changes and, therefore, is used for less important minerals.
The CuSum intervals for each assay are combined into
overall CuSum intervals where a change in CuSum inter-
val of one assay dictates the change in the overall CuSum
interval, and a numerical value is assigned to each overall
CuSum interval. Generally, the change in lithology also
dictates the change in the overall CuSum interval, but
lithology was disregarded in this study. CuSum intervals
are scrutinized by geologists and metallurgists by plotting
the CuSum curves of the relevant minerals and assessing
the CuSum intervals with regards to each mineral and by
plotting the normalized CuSum curves of all appropri-
ate minerals and evaluating the overall CuSum intervals
(Figure 1). Python functions were written to automate the
tasks, including cleaning and preparing the geometallurgy
dataset, performing the CuSum analysis, assigning CuSum
intervals, clustering the data and plotting the curves.
After defining the CuSum intervals, a cutoff grade may be
applied to filter out the low-grade values. The filtered data-
base is then condensed by averaging all the grade values
in each CuSum interval. The PCA technique prepares the
database for clustering by reducing its dimensions. Rows
in the database with no values are dealt with before per-
forming the PCA. Rows with all null values and null values
for non-important minerals are dropped. Suppose there are
rows with null values for essential minerals. In that case, the
database is divided into sections so that each section con-
tains a combination of mineral grades with no null values
and is clustered separately (Table 1).
method to smoothen the noisy assay grade data. However,
their work is a general guideline for a geometallurgy pro-
gram and not a streamlined approach for sample selection.
The k-means method is a popular unsupervised machine
learning clustering technique which can be applied for
geometallurgical clustering, but its sole application is quite
limited as it does not capture the outliers properly (Potakey
et al., 2022). A way to increase the accuracy of the cluster-
ing exercise is by reducing the dimension of the database by
applying the principal component analysis (PCA) method
before running the k-means algorithm.
Selecting representative samples for metallurgical test
work is a challenging task. Therefore, a streamlined and
efficient sample selection process utilizing modern-day
tools such as Python is valuable. This paper builds on the
works done by Michaux et al. (2020) and Potakey et al.
(2022) and presents a streamlined process for sample selec-
tion used to select 40 samples with a minimum mass of
20 kg for flotation test work for the pre-feasibility study
of a copper mine. Validation steps are built into the meth-
odology to ensure high-quality samples are selected, ensur-
ing the representation of the deposit. The sample selection
process utilizes Python to efficiently analyze, visualize and
apply statistical techniques to the large database. Writing
custom Python code for the process allows the process to be
standardized and reproducible and enables multiple itera-
tions in a brief time resulting in time and cost savings.
METHODOLOGY
Minerals with the most significant effect on test work are
assigned to three buckets: key, deleterious, and rock ele-
ments. Key minerals are the most valuable minerals from
the mine and are most important in mineral processing
to maximize the revenue. Deleterious minerals negatively
impact the commercial value of the product or the environ-
ment. Rock minerals are the minerals in the host rock that
are not valuable and thrown away. Rock minerals are essen-
tial for comminution test work samples to test the breakage
behavior of the ore but may not be necessary for flotation
test work samples aiming to test the ore’s chemical behav-
ior. In this study, the samples were selected for flotation
test work. Therefore, the key elements considered were cop-
per, iron, sulfur, and zinc and deleterious and rock minerals
were not considered.
The CuSum analysis is run on the mineral grade values
of the geometallurgy dataset and a column containing the
CuSum values, a column containing the difference between
each grade value and the column average, and a column
(Delta CuSum) containing a value of 1, if the grade value
is greater than the average or a value of –1, if the grade
value is lower than the average are appended to the data-
set in Jupyter Notebook. The method generally involves
quantifying changes in lithology and assigning a numeri-
cal value to each section with the same lithology. For this
study, lithology was not considered upon recommendation
of geologists and metallurgists.
The data is sectioned into CuSum intervals to quan-
tify the heterogeneity change down the drillholes. For the
main mineral copper, the r-squared values of three con-
secutive grade CuSum data points are calculated across the
entire length of the column, and consecutive data points
for which the r-squared value stays greater than specified,
0.9 in this study, are grouped as one CuSum interval. This
method is susceptible to grade changes and only applies to
the main mineral.
For other minerals (iron, sulfur, and zinc), the Delta
CuSum values are used to assign CuSum intervals. Grade
values that are consecutively greater than the average
(assigned a Delta CuSum value of 1) or lower than the aver-
age (assigned a Delta CuSum value of –1) are grouped as
one CuSum interval. This method is less sensitive to grade
changes and, therefore, is used for less important minerals.
The CuSum intervals for each assay are combined into
overall CuSum intervals where a change in CuSum inter-
val of one assay dictates the change in the overall CuSum
interval, and a numerical value is assigned to each overall
CuSum interval. Generally, the change in lithology also
dictates the change in the overall CuSum interval, but
lithology was disregarded in this study. CuSum intervals
are scrutinized by geologists and metallurgists by plotting
the CuSum curves of the relevant minerals and assessing
the CuSum intervals with regards to each mineral and by
plotting the normalized CuSum curves of all appropri-
ate minerals and evaluating the overall CuSum intervals
(Figure 1). Python functions were written to automate the
tasks, including cleaning and preparing the geometallurgy
dataset, performing the CuSum analysis, assigning CuSum
intervals, clustering the data and plotting the curves.
After defining the CuSum intervals, a cutoff grade may be
applied to filter out the low-grade values. The filtered data-
base is then condensed by averaging all the grade values
in each CuSum interval. The PCA technique prepares the
database for clustering by reducing its dimensions. Rows
in the database with no values are dealt with before per-
forming the PCA. Rows with all null values and null values
for non-important minerals are dropped. Suppose there are
rows with null values for essential minerals. In that case, the
database is divided into sections so that each section con-
tains a combination of mineral grades with no null values
and is clustered separately (Table 1).