ValueError:无法将字符串转换为浮点:'GIAC'

时间:2019-12-09 00:57:50

标签: python cluster-analysis k-means hierarchical-clustering

我正在尝试对所有文本数据进行K均值聚类。我已经尝试了这些代码行,但收到​​一条错误消息,提示“ ValueError:无法将字符串转换为float:'GIAC'”。

我认为该程序在将文本转换为矢量以进行聚类方面仍然存在问题。

我真的不知道该怎么解决。

下面是代码行:

import numpy as np
import matplotlib.pyplot as plot
import pandas as pd
from sklearn.cluster import KMeans

Cert = pd.read_csv('Certification.csv')

X = Cert.iloc[:,:].values

wcss =[]

for i in range(1,5):
    kmeans = KMeans(n_clusters = i, init='k-means++', random_state = 0)
    kmeans.fit(X)
    wcss.append(kmeans.inertia_)

plot.plot(range(1,5),wcss)
plot.title('Elbow Method')
plot.xlabel('Number of Clusters')
plot.ylabel('WCSS')
plot.show()

我还附有错误消息的屏幕截图。error message

在此处输入代码

1 个答案:

答案 0 :(得分:1)

K均值要求您的数据为连续变量。

很明显,'GIAC'不是 一个数字,是吗?

K均值不能用于此数据。您需要进行单次热编码或类似的编码,但是随之而来的是k均值本身的问题。通常,当您拥有诸如'GIAC'之类的数据时,只有没有合理的方法以统计上有意义的方式对数据进行聚类。在获得结果的过程中,有太多的启发式选择,您也可能获得几乎任何其他结果。尝试以数学方式解决该问题,而不要使用复制粘贴代码。