示例#1
0
def radius(X_train, X_test, y_train, y_test, string, valor):
    if (string == "prob"):
        clf = RadiusNeighborsClassifier(radius=valor,
                                        weights='distance',
                                        n_jobs=-1)
        clf.fit(X_train, y_train.values.ravel())
        return clf.predict_proba(X_test)
    clf = RadiusNeighborsClassifier(radius=valor,
                                    weights='distance',
                                    n_jobs=-1)
    clf.fit(X_train, y_train.values.ravel())
    #pickles.criarModelo(clf,"Rocchio "+string)
    y_predito = clf.predict(X_test)
    micro = f1_score(y_test, y_predito, average='micro')
    macro = f1_score(y_test, y_predito, average='macro')
    #f1_individual = f1_score(y_test,y_predito,average=None)
    #salvar_dados.salvar(y_test,y_predito,micro, macro, f1_individual," Knn "+string)
    print("O f1Score micro do RadiusKnn ", string, " com ", valor,
          " de raio é: ", micro)
    print("O f1Score macro do RadiusKnn ", string, " com ", valor,
          " de raio é: ", macro)
示例#2
0
 def _transductive_classifier(self, X_train, y_train, test_instance):
     clf = RadiusNeighborsClassifier(radius=self.epsilon,
                                     weights='distance').fit(
                                         X_train, y_train)
     predict_set = clf.radius_neighbors(test_instance.reshape(1, -1))[1]
     predict_set = list(predict_set[0])
     if len(predict_set) > 0:
         X_train_local, y_train_local = X_train[predict_set], y_train[
             predict_set]
         if np.min(y_train_local) == np.max(y_train_local):
             prediction = y_train_local[0]
         else:
             clf = self._fit(X_train_local, y_train_local)
             if np.max(clf.predict_proba(test_instance.reshape(
                     1, -1))) < self.threshold_rejection:
                 prediction = self.new_classes
             else:
                 prediction = clf.predict(test_instance.reshape(1, -1))[0]
     else:
         prediction = self.new_classes
     return prediction
示例#3
0
 def signal_proba(model, X):
     return RadiusNeighborsClassifier.predict_proba(model, X)[:, 1]