Если ваш прогноз:
y = array([False, False, True, False, False, True, False, False, False, False, False, ...])
Тогда данные будут просто:
data[y]
при условии, что прогноз был сделан на data
.
Пример :
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
X, y = datasets.load_breast_cancer(return_X_y=True) # 2 classes - binary classification
knn = KNeighborsClassifier()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
knn.fit(X_train, y_train)
prediction = knn.predict(X_test).astype(bool)
На последнем шаге мы используем два факта:
X
и y
имеют одинаковый порядок последовательности. Выполнение predict
сохраняет порядок - Выбор элементов массива с логическим условием
pred_tested_true = X_test[prediction]
pred_tested_true
теперь содержит все строки, которые были предсказаны как True
.