Кластеризация по параметрам модели

Я пытался выполнить кластеризацию на основе параметров модели SGD (Coefficient и Intercept). coef_ содержит веса w, а intercept_ содержит b. Как можно использовать эти параметры с кластеризацией (KMedoids) для группы изученной модели?

import numpy as np
from sklearn import linear_model
X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
Y = np.array([1, 1, 2, 2])
clf = linear_model.SGDClassifier()
clf.fit(X, Y)

Итак, я хочу сделать кластеризацию на основе clf.coef_ (array([[19.47419669, 9.73709834]])) а также clf.intercept_ (array([-10.])) для каждой изученной модели.

1 ответ

Создайте свой набор данных X для кластеризации, добавляя коэффициенты и массивы перехвата каждый раз после обучения модели, то есть:

X = np.vstack((X, np.hstack((clf.coeff_, clf.intercept_))))

После того, как у вас есть все данные в X, скормите ему модель KMedoids, то есть:

from sklearn_extra.cluster import KMedoids

kmed = KMedoids(n_clusters=N).fit(X)

Обратите внимание, что вы указали N, и вам, вероятно, следует протестировать результаты кластеризации для ряда значений N, прежде чем выбирать лучший на основе одной или нескольких метрик кластеризации.

Другие вопросы по тегам