PCA с количеством выходов 2 компонента 1 функция - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть список из 10 элементов, и я выбрал 5 функций для создания ввода и преобразовал список ввода в массив; Затем я применил PCA с количеством компонентов = 2:

        idx = {0, 2, 3, 7, 8}
        Input = array([Input[x] for x in idx]).reshape((1, -1)) 
        print (Input.shape) # prints (1, 5)

        pca = PCA(n_components=2).fit(Input) 
        Input = pca.transform(Input) 
        print (Input.shape) #prints (1, 1)

Почему после pca с n_components = 2 моя форма ввода равна (1,1), а не (1,2)?

1 Ответ

0 голосов
/ 25 апреля 2018

Да, это ожидаемое поведение.

Согласно документации для PCA :

actual n_components = min(n_samples, specified n_components)

Здесь у вас есть n_samples = 1 (как показано в Input.shape), поэтому фактический n_components, возвращаемый PCA, равен 1.

...