test_size=0.20, random_state=42) # Traina um modelo usando regressão logística svc = KNeighborsClassifier(n_neighbors=3) svc.fit(X_train, y_train) # Determina acurácia nos dados de teste print('Acurácia Área: %f' % svc.score(X_test, y_test)) # Obtém predições para os dados de teste y_pred = svc.predict(X_test) # Obtém nomes das áreas ordenado alfabeticamente data_dir = 'D:\\Users\\camposb\\Projetos\\data' dados = carrega_dados(data_dir) labels = sorted(np.unique(dados.Área)) # Determina matriz de confusão cm = confusion_matrix(y_test, y_pred) # Imprime e salva matriz de confusão np.set_printoptions(precision=2, suppress=True) #print(cm / cm.sum(1)) pd.DataFrame(cm, columns=labels).to_csv('cm.csv') # Imprime precisão, revocação e f1 por classe #print(classification_report(y_test, y_pred, target_names=labels)) # Imprime matriz de confusão com porcentagens #np.set_printoptions(precision=2, suppress=True)
from dados import carrega_dados from sklearn.naive_bayes import MultinomialNB x, y = carrega_dados() treina_dados = x[:70] treina_marcacoes = y[:70] testa_dados = x[-29:] testa_marcacoes = y[-29:] modelo = MultinomialNB() modelo.fit(treina_dados, treina_marcacoes) resultado = modelo.predict(testa_dados) diferencas = resultado - testa_marcacoes acertos = [d for d in diferencas if d == 0] total_acertos = len(acertos) erros = [d for d in diferencas if d != 0] total_erros = len(erros) total_elementos = len(testa_dados) taxa_de_acerto = 100.0 * total_acertos / total_elementos taxa_de_erro = 100.0 * total_erros / total_elementos print("taxa de acerto: ", taxa_de_acerto, "%") print("taxa de erro: ", taxa_de_erro, "%")