Я пытаюсь запустить данные через PCA (n_components=2)
от sklearn и обнаружил, что значение y в последней строке отличается от других значений тех же входных значений.Примечательно, что входные данные состоят только из двух отдельных записей, и при изменении количества вхождений для записи ошибка исчезает.
Пожалуйста, найдите код ниже, чтобы повторить ошибку.
import pandas as pd
from sklearn.decomposition import PCA
lst1 = [[-0.485886999,0,-0.485886999,-0.485886999,-0.485886999,0,-0.485886999,-0.485886999,-0.485886999,-0.485886999,-0.485886999,0.485886999,-0.485886999,-0.485886999,-0.485886999,-0.485886999]]*7798
lst2 = [[2.0580917,0,2.0580917,2.0580917,2.0580917,0,2.0580917,2.0580917,2.0580917,2.0580917,2.0580917,-2.0580917,2.0580917,2.0580917,2.0580917,2.0580917]]*1841
df_lst1 = pd.DataFrame(lst1)
df_lst2 = pd.DataFrame(lst2)
test = pd.concat([df_lst2, df_lst1], axis=0).reset_index(drop=True)
pca = PCA(n_components=2)
pca.fit(test)
result = pd.DataFrame(pca.transform(test), index=test.index)
print(result)
Ввод трех последних строк (три строки идентичны):
0 1 2 3 4 5 6 ... 9 10 11 12 13 14 15
9636 -0.485887 0 -0.485887 -0.485887 -0.485887 0 -0.485887 ... -0.485887 -0.485887 0.485887 -0.485887 -0.485887 -0.485887 -0.485887
9637 -0.485887 0 -0.485887 -0.485887 -0.485887 0 -0.485887 ... -0.485887 -0.485887 0.485887 -0.485887 -0.485887 -0.485887 -0.485887
9638 -0.485887 0 -0.485887 -0.485887 -0.485887 0 -0.485887 ... -0.485887 -0.485887 0.485887 -0.485887 -0.485887 -0.485887 -0.485887
Ввод трех последних строк:
0 1
9636 -1.818023 1.679370e-17
9637 -1.818023 1.679370e-17
9638 -1.818023 0.000000e+00