1
data = np.genfromtxt("breastCancer.txt", delimiter=',').astype(np.float32)
data = data[~np.isnan(data).any(axis=1)]

ROW, COLUMN = data.shape

label = data[:, -1]
input = data[:, 1:COLUMN - 1]

scaler = preprocessing.MinMaxScaler(feature_range=(-1.0, 1.0))
scaler.fit(input)
input = scaler.transform(input)

model = SpectralCoClustering(n_clusters=3, random_state=0)
model.fit(input)

我试图对 (-1.0, 1.0) 范围内的数据集进行双聚类。在我的数据中,我没有任何 inf 或 nan。但它会抛出一个错误ValueError: array must not contain infs or NaNs in SpectralCoclustering。你能帮我么?我需要一个范围 (-1, 1) 中的数据集,所以我不想在正范围内更改它。

4

1 回答 1

1

我花了两天时间解决同样的问题。我的解决方案:在此之前,model.fit(input)我从以下位置删除了只有零的列input

remaining_collumns=input.getnnz(1)>0
input=input[remaining_collumns,:]
model.fit(input)

另请注意,在我的情况下,它是由以下形式input返回的TfidfVectorizer.fit_transformsparse.csr.csr_matrix

于 2018-02-07T16:33:44.987 回答