Кластеризация по параметрам модели
Я пытался выполнить кластеризацию на основе параметров модели 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, прежде чем выбирать лучший на основе одной или нескольких метрик кластеризации.