Kmeans标签返回NaN簇

时间:2019-01-22 02:18:04

标签: python jupyter-notebook cluster-analysis k-means

我通过Redshift SQL将大约340,000个客户记录导入Jupyter Notebook,并尝试使用Kmeans根据他们在一定时期内的收入和交易数量将这些客户分为4个细分市场。但是,Kmeans将其中约26.9万(78.9%)标记为NaN簇。当我尝试10个细分时,267k / 340k被标记为NaN。当我将相同的代码应用于一小部分子集时(1000个中的692个被标记为NaN簇)。

很抱歉,我无法为您的试验提供一组模拟数据,因为Kmeans可以很好地处理直接用Excel导入的数据。

以下是我的代码供参考-

import pandas as pd 

import numpy as np

from scipy import stats

from scipy.cluster.vq import kmeans, vq


f1_df = df_df['total_revenue_m3_from_personal_investment'].values

f2_df = df_df['total_trades_m3'].values 

df_tr = np.array(list(zip(f1_df, f2_df)))

尝试4个群集

kmeans_4 = KMeans(n_clusters=4)

details_4 = kmeans_4.fit(df_tr)

labels_4 = details_4.predict(df_tr)

centroids_4 = details_4.cluster_centers_

idx,_ = vq(df_tr, centroids_4)

0 个答案:

没有答案