Как выбрать количество компонентов PCA scikitliear - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь декомпозировать свои столбцы, используя PCA.

Я нахожу некоторые трудности с тем, как выбрать мои n_компоненты функции PCA, используя scikit learn в python.Я сделал это

sc = StandardScaler()
Z = sc.fit_transform(X)
pca = PCA(n_components = 5')

Можете ли вы объяснить мне, пожалуйста.

1 Ответ

0 голосов
/ 16 декабря 2018

Нет ответа, который скажет вам с вероятностью 1, каково правильное количество компонентов.Это зависит от приложения.

Однако есть следующая эвристика, которую вы можете использовать.Вы строите график объясненного отношения отклонений и выбираете количество компонентов, которые «захватывают» не менее 95% отклонений.В следующем примере число компонентов, которые улавливают около 95% дисперсии, составляет около 30-35.

pca = PCA().fit(digits.data)
plt.plot(np.cumsum(pca.explained_variance_ratio_))
plt.xlabel('number of components')
plt.ylabel('cumulative explained variance')

enter image description here

...