我有一个文件列表,我使用KNN算法对这些文件进行分类。
dataset = pd.read_csv(file)
training_samples = get_sample_number(dataset)
X_train = dataset.iloc[:training_samples, 5:9]
y_train = dataset.iloc[:training_samples, 9]
X_test = dataset.iloc[training_samples:, 5:9]
# Feature Scaling
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.fit_transform(X_test)
# Fitting classifier to the training set
classifier = KNeighborsClassifier(n_neighbors=5, metric='minkowski', p=2)
classifier.fit(X_train, y_train)
y_pred = classifier.predict(X_test)
现在我的y_pred数组中有我的类别。但我想将结果保存在我读取数据集的文件中。如何将预测链接到文件(或数据集)中的右行?
答案 0 :(得分:0)
y_pred
中的预测长度为X_test.shape[0]
,显然小于原始dataset
的长度。如果您想将预测附加到从dataset
读取的原始file
,则需要对整个数据集进行预测,然后执行简单的concat
以获取所有预测一起:
y_pred_all = classifier.predict(dataset.iloc[:, 5:9])
dataset = pd.concat([dataset, y_pred_all], axis=1)