将 KMeans 应用于 pandas DataFrame

apply KMeans to a pandas DataFrame

DatasetImage

DatasetImage

#KMEANS
import collections
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.002)

kmeans=KMeans(n_clusters=2)
kmeans.fit(X_train)
labels = kmeans.predict(X_test)
//X and y in train_test_split stands for:

X=newTotalDataset.drop('identifier',axis=1)
y=newTotalDataset['identifier']

我有一个包含 44 个特征和 30000 行的数据框

打印(collections.Counter(标签))。最后一个是一个标识符,表示该行是分配给人员 1 还是人员 0。 我在训练和测试中拆分了我的数据集,并删除了我的最后一个特征。

问题出在我打印 "labels" 时,因为它告诉我所有行都属于第 0 个人

label中0和1的计数结果是这样的: 计数器({0:103})

怎么可能?怎么了?

如果你在预测之前有标签,你想进行监督学习并且你没有使用好的算法,请看一些模型,比如:

  • 逻辑回归
  • 随机森林分类器
  • SVM 分类器

及其他