使用scikit-learn K-Means时,如何将聚类质心转换回原始数据域?
将KMeans归一化后的聚类质心转换回原始数据域
你可以直接使用之前初始化的MinMaxScaler实例的inverse_transform()方法,把归一化后的质心还原到原始数据的尺度。
具体代码实现:
# 提取归一化后的聚类质心 scaled_centers = kmeans.cluster_centers_ # 将质心转换回原始数据域 original_centers = scaler.inverse_transform(scaled_centers)
原理说明:
MinMaxScaler在fit()原始数据时,已经自动记录了每个特征的最小值(scaler.data_min_)和最大值(scaler.data_max_)。归一化的核心公式是:
scaled_value = (original_value - data_min) / (data_max - data_min)
逆转换则是通过该公式反向推导:
original_value = scaled_value * (data_max - data_min) + data_min
inverse_transform()方法会自动完成上述计算,无需手动实现逆转换逻辑。
内容的提问来源于stack exchange,提问作者Colton Campbell
相关产品推荐
相关产品推荐

