ValueError: array must not contain infs or NaNs in SpectralCoclustering in Python3.X
ValueError: array must not contain infs or NaNs in SpectralCoclustering in Python3.X
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) 的数据集,所以我不想在正范围内更改它。
我花了两天时间弄清楚同样的问题。我的解决方案:在执行 model.fit(input)
之前,我从 input
:
中删除了只有零的列
remaining_collumns=input.getnnz(1)>0
input=input[remaining_collumns,:]
model.fit(input)
另请注意,在我的例子中,input
由 TfidfVectorizer.fit_transform
返回,形式为 sparse.csr.csr_matrix
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) 的数据集,所以我不想在正范围内更改它。
我花了两天时间弄清楚同样的问题。我的解决方案:在执行 model.fit(input)
之前,我从 input
:
remaining_collumns=input.getnnz(1)>0
input=input[remaining_collumns,:]
model.fit(input)
另请注意,在我的例子中,input
由 TfidfVectorizer.fit_transform
返回,形式为 sparse.csr.csr_matrix