#scikit-learn #multi-dimensional-scaling
#scikit-учись #многомерное масштабирование
Вопрос:
У меня есть предварительно вычисленная матрица расстояний, которую я прогнал с помощью алгоритма MDS Sklearn. Необходимы все данные. Матрица была масштабирована (0-1). Я хочу преобразовать анализ в график, чтобы максимальное число n_компонентов = 3.
Я попытался изменить несколько параметров (n_компонентов, random_state, n_init), однако я не могу уменьшить значение стресса — 1 (нормализованное) ниже 0,25, что считается «плохим» соответствием.
Когда я увеличиваю n_компонентов действительно высоко (n_компонентов = 100), оценка стресса падает до 0,01. Смогу ли я взять эти 100 измерений и уменьшить их, возможно, с помощью PCA?
Есть какие-нибудь предложения о том, как улучшить посадку? Должен ли я вместо этого попробовать другой инструмент?
Вот код:
#Предварительно вычисленная матрица расстояний
df = pd.read_excel(‘./FTM_fingerprint_FULL_dissimilarity_matrix_MORGAN_1024_2.xlsx’, index_col = 0, заголовок = 0)
#Многомерное масштабирование
mds1 = MDS(случайное состояние = 1, несходство = «предварительно вычислено», n_init=16, n_компонентов=3, eps=1e-9)
X_transform = mds1.fit_transform(df)
печать(X_transform)
#нормализованный показатель стресса
стресс = mds1.стресс_
печать(стресс)
Спасибо
Комментарии:
1. можете ли вы поделиться тем, как выглядят данные и какой у вас код? Я бы предположил, что вам нужно масштабировать данные (если вы этого не сделали) или удалить некоторые неинформативные столбцы
2. Привет @StupidWolf. Спасибо за ответ. Вот код:
3. Привет @prfsullivan, спасибо за информацию. Пожалуйста, отредактируйте свой вопрос, чтобы включить эту информацию. Не используйте вариант ответа
4. Ок изменил исходную запись вопроса. Спасибо, что дали мне знать @StupidWolf