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)的数据集,所以我不想将其更改为正范围。
发布于 2018-02-07 16:33:45
我花了两天时间解决同样的问题。我的解决方案是:在执行model.fit(input)
之前,我从input
中删除了只有0的列
remaining_collumns=input.getnnz(1)>0
input=input[remaining_collumns,:]
model.fit(input)
还要注意,在我的例子中,input
是由TfidfVectorizer.fit_transform
返回的,并且是以sparse.csr.csr_matrix
的形式返回的
https://stackoverflow.com/questions/45198876
复制相似问题