def predict_training(self, folds=5):
"""Do cross-validation and return probabilities for each data-point.
Args:
folds (int): Number of folds used for prediction on training data.
"""
prediction = np.zeros((len(self.strings), self.num_classes))
skf = StratifiedKFold(n_splits=folds)
for train_index, test_index in skf.split(self.strings, self.labels):
# prepare the training and test data
training_strings = self.strings[train_index]
test_strings = self.strings[test_index]
training_labels = self.labels[train_index]
# predicting the results
part_prediction = self.find_knn(training_strings, training_labels,
test_strings)
prediction[test_index] = part_prediction
return prediction
评论列表
文章目录