Проблемы визуализации важности переменных на графиках загрузки PCAPython

Программы на Python
Ответить
Anonymous
 Проблемы визуализации важности переменных на графиках загрузки PCA

Сообщение Anonymous »

Я работаю над графиком нагрузки PCA и, основываясь на литературе по моим данным, ожидал, что IAF и B попадут в меньший эллипс (менее важные переменные). Однако это не так; вместо этого там появляется RedEdge.
Я следовал этому руководству: https://scentellegher.github.io/machine ... learn.html< /p>
Что я могу делать не так? Моя цель — правильно разместить менее важные переменные внутри меньшего эллипса. Будем признательны за любые рекомендации!

Код: Выделить всё

variaveis_instrumentais = dados[['B', 'G', 'R', 'RedEdge', 'NIR', 'NDVI', 'NDRE',
'GNDVI', 'MPRI', 'SAVI', 'IAF', 'VARI']]
scaler = StandardScaler()
variaveis_instrumentais_normalizadas = scaler.fit_transform(variaveis_instrumentais)

pca = PCA(n_components=2)
pca.fit(variaveis_instrumentais_normalizadas)

loadings = pca.components_.T * np.sqrt(pca.explained_variance_)

importantes = []
nao_importantes = []

for i, var in enumerate(variaveis_instrumentais.columns):
dist = np.sqrt(loadings[i, 0]**2 + loadings[i, 1]**2)  # Distância da origem
if dist > 0.8:
importantes.append((var, loadings[i, 0], loadings[i, 1]))
else:
nao_importantes.append((var, loadings[i, 0], loadings[i, 1]))

for var, x, y in importantes:
plt.scatter(x, y, color='g')
plt.text(x, y, var, color='g', fontsize=12)

for var, x, y in nao_importantes:
plt.scatter(x, y, color='b')
plt.text(x, y, var, color='b', fontsize=12)

ellipse_outer = Ellipse((0, 0), width=2.0, height=1.5, edgecolor='black', fill=False, linestyle='--')
ellipse_inner = Ellipse((0, 0), width=1.4, height=1.0, edgecolor='black', fill=False, linestyle='-')
plt.gca().add_artist(ellipse_outer)
plt.gca().add_artist(ellipse_inner)
Результат:
Изображение

Ожидаемый результат:
[img]https://i.sstatic.net /YFrFv8Xx.png[/img]


Подробнее здесь: https://stackoverflow.com/questions/792 ... ding-plots
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»