Предлагаемый вопрос звучит следующим образом: используйте scikit-learn, чтобы разбить данные на обучающие и тестовые наборы. Классифицируйте данные как кошку или собаку, используя DBSCAN.
Я пытаюсь выяснить, как использовать DBSCAN для подбора модели с использованием обучающих данных, а затем предсказать метки тестового набора. Мне хорошо известно, что DBSCAN предназначен для кластеризации, а не прогнозирования. Я также рассмотрел Использование модели склеарна DBSCAN для классификации новых записей , а также многочисленных других потоков. DBSCAN поставляется только с функциями fit и fit_predict, которые не кажутся относительно полезными при попытке подгонки модели с использованием данных обучения и последующего тестирования модели с использованием данных тестирования.
Вопрос сформулирован плохо или я что-то упустил? Я просмотрел документацию по scikit-learn, а также искал примеры, но мне не повезло.
# Split the samples into two subsets, use one for training and the other for testing
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
# Instantiate the learning model
dbscan = DBSCAN()
# Fit the model
dbscan.fit(X_train, y_train)
# Predict the response
# Confusion matrix and quantitative metrics
print("The confusion matrix is: " + np.str(confusion_matrix(y_test, dbscan_pred)))
print("The accuracy score is: " + np.str(accuracy_score(y_test, dbscan_pred)))