def test_lca(): pool_classifiers, X_dsel, y_dsel, X_test, y_test = setup_classifiers() lca = LCA(pool_classifiers, DFP=True) lca.fit(X_dsel, y_dsel) assert np.isclose(lca.score(X_test, y_test), 0.88787878787878793)
def test_lca(knn_methods): pool_classifiers, X_dsel, y_dsel, X_test, y_test = setup_classifiers() lca = LCA(pool_classifiers, knn_classifier=knn_methods) lca.fit(X_dsel, y_dsel) assert np.isclose(lca.score(X_test, y_test), 0.96808510638297873)
model_svc = SVC(probability=True).fit(X_train, y_train) model_bayes = GaussianNB().fit(X_train, y_train) model_tree = DecisionTreeClassifier().fit(X_train, y_train) model_knn = KNeighborsClassifier(n_neighbors=5).fit(X_train, y_train) pool_classifiers = [ model_perceptron, model_linear_svm, model_svc, model_bayes, model_tree, model_knn ] # Initializing the DS techniques knop = KNOP(pool_classifiers) rrc = RRC(pool_classifiers) lca = LCA(pool_classifiers) mcb = MCB(pool_classifiers) aposteriori = APosteriori(pool_classifiers) # Fitting the techniques knop.fit(X_dsel, y_dsel) rrc.fit(X_dsel, y_dsel) lca.fit(X_dsel, y_dsel) mcb.fit(X_dsel, y_dsel) aposteriori.fit(X_dsel, y_dsel) # Calculate classification accuracy of each technique print('Evaluating DS techniques:') print('Classification accuracy KNOP: ', knop.score(X_test, y_test)) print('Classification accuracy RRC: ', rrc.score(X_test, y_test)) print('Classification accuracy LCA: ', lca.score(X_test, y_test)) print('Classification accuracy A posteriori: ', aposteriori.score(X_test, y_test))
def test_lca(knn_methods): pool_classifiers, X_dsel, y_dsel, X_test, y_test = setup_classifiers() lca = LCA(pool_classifiers, knn_classifier=knn_methods) lca.fit(X_dsel, y_dsel) assert np.isclose(lca.score(X_test, y_test), 0.973404255319149)
def test_lca(knne, expected): pool_classifiers, X_dsel, y_dsel, X_test, y_test = setup_classifiers() lca = LCA(pool_classifiers, DFP=True, knne=knne) lca.fit(X_dsel, y_dsel) assert np.isclose(lca.score(X_test, y_test), expected)
aposteriori = APosteriori(pool_classifiers) ola = OLA(pool_classifiers) lca = LCA(pool_classifiers) desp = DESP(pool_classifiers) meta = METADES(pool_classifiers) apriori.fit(X_dsel, y_dsel) aposteriori.fit(X_dsel, y_dsel) ola.fit(X_dsel, y_dsel) lca.fit(X_dsel, y_dsel) desp.fit(X_dsel, y_dsel) meta.fit(X_dsel, y_dsel) print('Evaluating DS techniques:') print('Classification accuracy of OLA: ', ola.score(X_test, y_test)) print('Classification accuracy of LCA: ', lca.score(X_test, y_test)) print('Classification accuracy of A priori: ', apriori.score(X_test, y_test)) print('Classification accuracy of A posteriori: ', aposteriori.score(X_test, y_test)) print('Classification accuracy of DES-P: ', desp.score(X_test, y_test)) print('Classification accuracy of META-DES: ', meta.score(X_test, y_test)) # Testing fire: fire_apriori = APriori(pool_classifiers, DFP=True) fire_aposteriori = APosteriori(pool_classifiers, DFP=True) fire_ola = OLA(pool_classifiers, DFP=True) fire_lca = LCA(pool_classifiers, DFP=True) fire_desp = DESP(pool_classifiers, DFP=True) fire_meta = METADES(pool_classifiers, DFP=True) fire_apriori.fit(X_dsel, y_dsel)