Я не знаю, как интерпретировать выходные данные Принципиального анализа компонентов (PCA) и графика накопленной суммы.
У меня следующая проблема. У меня есть 4 машины (A, B, C и D), и каждая машина имеет 9 функций, где измерения проводились в течение времени. Цель состоит в том, чтобы классифицировать поведение машины.
Я использую Принципиальный анализ компонентов, чтобы уменьшить размерность из 9 функций. Уменьшая размерность исходного пространства признаков, спроецировав его на меньшее подпространство, а затем нанеся на график кумулятивную сумму по всей дисперсии, вы можете видеть, что первые 4 собственных значения соответствуют примерно 82% всей дисперсии 1 . Это означает, что при уменьшении размерности теряется 18% информации.
Я хочу кластеризовать машины на основе главных компонентов, но примеры, которые я нахожу, всегда отображают данные с использованием 2 основных компонентов (ПК). * +1009 * 2 . 2 - это график, который я строю, используя только 2 ПК.
Если график кумулятивной суммы предполагает, что 4 ПК соответствуют 82% всей дисперсии, а примеры PCA имеют только 2 ПК, что мне делать? Нужно ли применять PCA во второй раз? Или мне нужно сделать что-то еще, чего я не знаю?
В [3] я показываю код, который мне нужен для использования PCA с 2 компонентами, и строю график. A, B, C и D. являются машинами.
[3]
sklearn_pca = sklearnPCA(n_components=2)
Y_sklearn = sklearn_pca.fit_transform(X_std)
data = []
for name, col in zip(machine_list, colors.values()):
trace = dict(
type='scatter',
x=Y_sklearn[y==name,0],
y=Y_sklearn[y==name,1],
mode='markers',
name=name,
marker=dict(
color=col,
size=12,
line=dict(
color='rgba(217, 217, 217, 0.14)',
width=0.5),
opacity=0.8)
)
data.append(trace)
layout = dict(
xaxis=dict(title='PC1', showline=False),
yaxis=dict(title='PC2', showline=False)
)
fig = dict(data=data, layout=layout)
iplot(fig)