Загрузочный участок PLS-DA в Python - PullRequest
2 голосов
/ 06 июня 2019

Как создать график загрузки с помощью Matplotlib из графика PLS-DA, например график загрузки, подобный графику PCA?

Этот ответ объясняет, как это можно сделать с помощью PCA: Plot PCAзагрузка и загрузка в биплот в sklearn (как автоплот R)

Однако между этими двумя методами есть некоторые существенные различия, которые также делают реализацию разной.(Некоторые важные различия описаны здесь https://learnche.org/pid/latent-variable-modelling/projection-to-latent-structures/interpreting-pls-scores-and-loadings)

Для построения графика PLS-DA я использую следующий код:

from sklearn.preprocessing import StandardScaler
from sklearn.cross_decomposition import PLSRegression
import numpy as np
import pandas as pd

targets = [0, 1]

x_vals = StandardScaler().fit_transform(df.values)

y = [g == targets[0] for g in sample_description]
y = np.array(y, dtype=int)

plsr = PLSRegression(n_components=2, scale=False)
plsr.fit(x_vals, y)

colormap = {
    targets[0]: '#ff0000',  # Red
    targets[1]: '#0000ff',  # Blue
}

colorlist = [colormap[c] for c in sample_description]

scores = pd.DataFrame(plsr.x_scores_)
scores.index = x.index

x_loadings = plsr.x_loadings_
y_loadings = plsr.y_loadings_

fig1, ax = get_default_fig_ax('Scores on LV 1', 'Scores on LV 2', title)
ax = scores.plot(x=0, y=1, kind='scatter', s=50, alpha=0.7,
                 c=colorlist, ax=ax)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...