प्रदर्शन करने से पहले और बाद में डेटा का आयाम मैं पाइथन और विज्ञान-सीखने का उपयोग कर kaggle.com's digit recognizer competition का प्रयास कर रहा हूं।पीसीए
प्रशिक्षण डेटा से लेबल हटाने के बाद, मैं इस प्रकार की सूची में सीएसवी में प्रत्येक पंक्ति जोड़ें:
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)
मैं तो एक KNN वर्गीकारक बना सकते हैं और X_train
डेटा के साथ फिट और का उपयोग कर भविष्यवाणी करने X_test
डेटा।
इस विधि का उपयोग करके मुझे लगभग 97% सटीकता मिल सकती है।
मेरा प्रश्न से पहले डेटा के आयामी स्वरूप के बारे में है और बाद पीसीए
किया जाता है train_data
और X_train
के आयाम क्या हैं?
घटकों की संख्या आउटपुट की आयाम को कैसे प्रभावित करती है? क्या ये एक ही चीज हैं?