Процесс обработки изображения:
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)
Затем сопоставьте данные feature_shape с PCA
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 / декомпозиция / pca.py ", строка 340, в файле fit self._fit (X)" "/usr/local/lib/python3.7/site-packages/sklearn/decomposition/pca.py ", строка 381, в _fit copy = self.copy) Файл" /usr/local/lib/python3.7/site-packages/sklearn/utils/validation.py ", строка 573, в check_arrayallow_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?
Спасибоза подсказку, которая помогает мне это исправить!