ValueError:数组不能在 Python3.X 的 SpectralCoclustering 中包含 infs 或 NaNs
Posted
技术标签:
【中文标题】ValueError:数组不能在 Python3.X 的 SpectralCoclustering 中包含 infs 或 NaNs【英文标题】:ValueError: array must not contain infs or NaNs in SpectralCoclustering in Python3.X 【发布时间】:2017-12-25 05:11:15 【问题描述】: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) 中的数据集,所以我不想在正范围内更改它。
【问题讨论】:
我尝试了 [0,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
【讨论】:
嗨!只是想让您知道,您今天帮助了一名数据科学学生(又名我)完成了他的课程!非常感谢!!以上是关于ValueError:数组不能在 Python3.X 的 SpectralCoclustering 中包含 infs 或 NaNs的主要内容,如果未能解决你的问题,请参考以下文章
Python 3 - ValueError: 找到包含 0 个样本的数组 (shape=(0, 11)),而 MinMaxScaler 至少需要 1
python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object
ValueError:检查目标时出错:预期 main_prediction 有 3 个维度,但得到了形状为 (1128, 1) 的数组
windows7,python3使用time.strftime()函数报ValueError: embedded null byte
ValueError: Cannot feed value of shape (2,) for Tensor u'Placeholder_2:0', which has shape &
Python | Keras:ValueError:检查目标时出错:预期conv2d_3有4个维度,但得到了有形状的数组(1006,5)