Кросс-валидационная взвешенная сумма

Я работаю над "моделями взвешенной суммы" вида w1*a + w2*b + w3*c. У меня есть несколько объектов с параметрами a,b,c, и я знаю, например, что объект 1 с a = 50, b = 100 и c = 150 принадлежит классу 1, а объект 2 с a = 100, b = 0 и c = 50 принадлежит классу 2. Теперь я пытаюсь определить оптимальные веса (w1,w2, w3) для моей модели взвешенной суммы. Поэтому мне было интересно, смогу ли я создать свой собственный классификатор в scikit-learn и использовать gridSearchCV и перекрестную проверку. У меня есть реализованный код, и я попытался изменить его, чтобы он реализовывал модель взвешенной суммы. Вот что я сделал до сих пор.

Код моего классификатора:

class MyClassifier(BaseEstimator, ClassifierMixin):
    def __init__(self, weight1=0, weight2 = 0, weight3 = 0):

        self.intValue = weight1
        self.intValue = weight2
        self.intValue = weight3

    def fit(self, X, y):
        X, y = check_X_y(X, y)
        self.classes_ = unique_labels(y)
        self.X_ = X
       self.y_ = y
       return self

    def predict(self, X):
        check_is_fitted(self, ["X_", "y_"])
        X = check_array(X)

        #I think here, I should change the code
        closest = np.argmin(euclidean_distances(X, self.X_), axis=1)
        self.X_)+ self.intValue, axis=1)

        return self.y_[closest]

И теперь я могу нормально использовать Gridsearch:

dtc = MyClassifier()
dtc.fit(x,y)
cross_validation = StratifiedKFold(n_splits=10)
parameter_grid = {"weight1" : [-10,-1,0,1,10], "weight2" : [-10,-1,0,1,10], "weight3" : [-10,-1,0,1,10]}
grid_search = GridSearchCV(dtc, param_grid=parameter_grid,cv = cross_validation)
grid_search.fit(x, y)

Я знаю, что мне нужно как-то представить мою модель взвешенной суммы вместо линий

closest = np.argmin(euclidean_distances(X, self.X_), axis=1)
    return self.y_[closest]

но я не знаю как это сделать. Я также не совсем уверен, имеет ли смысл определять веса таким образом.

Любая помощь или мысли будут высоко оценены.

Спасибо!

0 ответов

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