图像处理:
for i in ...
img = Image.open(img_path).convert('L') #get gray img
shape_img = shape_index(img, sigma = 0.1)
images[i] = shape_img
feature_shape = images.reshape(len(images), -1) # (24, 10000)
然后使用PCA拟合feature_shape数据
pca=PCA(n_components=n,svd_solver='randomized', whiten=True)
X_fit_pca=pca.fit(X).transform(X)
但是错误出现了
适合的文件“ /usr/local/lib/python3.7/site-packages/sklearn/decomposition/pca.py”,第340行 self._fit(X) _fit中的文件“ /usr/local/lib/python3.7/site-packages/sklearn/decomposition/pca.py”,第381行 复制= self.copy) 文件“ /usr/local/lib/python3.7/site-packages/sklearn/utils/validation.py”,行573,在check_array中 allow_nan = force_all_finite =='allow-nan') 文件“ /usr/local/lib/python3.7/site-packages/sklearn/utils/validation.py”,第56行,_assert_all_finite 引发ValueError(msg_err.format(type_err,X.dtype)) ValueError:输入包含NaN,无穷大或对于dtype('float32')而言太大的值。
较早的颜色功能(可以减少shape_index的进度)可以正常工作,没有NaN
异常。
是因为PCA拒绝了NaN值,如何处理NaN值和形状特征?
感谢提示,可以帮助我解决问题!