聚类分析的数据处理

Data processing for clustering analyses

我尝试为 k-Means 或 BIRCH 算法等聚类分析准备我的数据集。我不知道如何从准备开始并找到例如大纲或其他东西。我希望你能帮助我。

我的数据集是一个数据框,包含以下列:

A1 | A2 | A3 | A4 | iO

使用 df.describe(include = "all") 我得到以下数据:

         A1             | A2            | A3            |A4             | iO
-------------------------------------------------------------------------------
count    15372.000000    15372.000000    15372.000000    15372.000000    15372
unique   NaN             NaN             NaN             NaN             2
top      NaN             NaN             NaN             NaN             True
freq     NaN             NaN             NaN             NaN             14935 
mean     145.570554      35.750641       64.284180       49.225190       NaN
std      5134.725533     1709.696386     2433.688046     2380.091285     NaN
min      0.436000        0.353000        0.353000        -0.000000       NaN
25%      1.000000        1.920000        2.000000        1.690000        NaN
50%      1.970000        2.000000        3.860000        2.000000        NaN
75%      3.984000        3.907000        6.957000        3.883000        NaN
max      200990.260000   200072.157000   200992.243000   200992.243000   NaN

每列的中位数是:

A2: 2.00
A3: 3.86
A4: 2.0
iO: 1.0

正常情况下A1,A2,A3,A4的值在2到5之间

此外,我想使用此数据框进行聚类分析。在我的数据框中,“iO”是用例的结果,A1、A2、A3 和 A4 对结果有影响。

希望你能帮我准备资料。

此致 克里斯蒂安

简单的方法是使用 Z-Score。 将 numpy 导入为 np 异常值=[] def detect_outlier(column_data_array):

threshold=3
mean_1 = np.mean(column_data_array)
std_1 =np.std(column_data_array)


for y in data_1:
    z_score= (y - mean_1)/std_1 
    if np.abs(z_score) > threshold:
        outliers.append(y)
return outliers

或者您可以使用 IRQ-Score