Как я могу уменьшить оценку стресса с помощью анализа многомерного масштабирования (MDS)?

#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