저는 kaggle.com's digit recognizer competition을 사용하여 파이썬과 scikit-learn을 시도하고 있습니다. 학습 데이터에서 라벨을 제거한 후PCA 수행 전후의 데이터 크기
, 나는 다음과 같이리스트로 CSV의 각 행을 추가
for row in csv:
train_data.append(np.array(np.int64(row)))
나는 테스트 데이터에 대해 동일한 않습니다. (? 및 피쳐 추출)
def preprocess(train_data, test_data, pca_components=100):
# convert to matrix
train_data = np.mat(train_data)
# reduce both train and test data
pca = decomposition.PCA(n_components=pca_components).fit(train_data)
X_train = pca.transform(train_data)
X_test = pca.transform(test_data)
return (X_train, X_test)
I는 다음 KNN 분류를 생성하고 X_train
데이터로 적합하고을 이용 예측을
I는 측정 환원을 수행하기 위해 PCA이 데이터 처리를 미리 X_test
데이터입니다.
이 방법을 사용하면 약 97 %의 정확도를 얻을 수 있습니다.
내 질문하기 전에 데이터의 차원에 관한 것입니다 및 PCA가
을 수행 한 후 train_data
및 X_train
의 크기는 무엇인가?
구성 요소의 수는 출력의 차원에 어떤 영향을 줍니까? 그들은 똑같은가요?