⚖️ Naive Bayes Cheat Sheet

📉 Documentação Oficial (Scikit-Learn)

ID Comando / Classe / Parâmetro O que faz Exemplo
1GaussianNB()NB para dados com distribuição normal (contínuos)model = GaussianNB()
2MultinomialNB()NB para dados de contagem (ex: frequências de texto)model = MultinomialNB()
3BernoulliNB()NB para dados binários/booleanosmodel = BernoulliNB()
4ComplementNB()Otimizado para datasets desbalanceadosmodel = ComplementNB()
5CategoricalNB()Para variáveis categóricas com categorias discretasmodel = CategoricalNB()
6alpha=Suavização de Laplace (evita probabilidade zero)MultinomialNB(alpha=1.0)
7fit_prior=Se deve aprender probabilidades a priori das classesGaussianNB(fit_prior=True)
8class_prior=Probabilidades prévias das classes (lista)class_prior=[0.3, 0.7]
9var_smoothing=Estabilidade de cálculo para GaussianNBGaussianNB(var_smoothing=1e-9)
10model.fit(X, y)Treina o modelo com dados e labelsmodel.fit(X_train, y_train)
11model.predict(X)Realiza a classificação de novos dadosy_pred = model.predict(X_test)
12model.predict_proba(X)Retorna a probabilidade de cada classeprobs = model.predict_proba(X_test)
13model.predict_log_proba(X)Logaritmo das probabilidades (estabilidade numérica)model.predict_log_proba(X)
14model.partial_fit()Treino incremental (online learning)model.partial_fit(X, y, classes)
15model.score(X, y)Retorna a acurácia média do modelomodel.score(X_test, y_test)
16model.class_count_Número de amostras encontradas em cada classeprint(model.class_count_)
17model.class_prior_Probabilidade a priori de cada classeprint(model.class_prior_)
18model.classes_Lista de labels de classes conhecidasprint(model.classes_)
19model.feature_count_Número de amostras para cada feature (Multinomial)model.feature_count_
20model.theta_Média de cada feature por classe (Gaussian)model.theta_
21model.var_Variância de cada feature por classe (Gaussian)model.var_
22CountVectorizer()Converte texto em matriz de contagem de tokensvect = CountVectorizer()
23TfidfVectorizer()Converte texto em pesos TF-IDFtfidf = TfidfVectorizer()
24LabelEncoder()Codifica targets categóricos em númerosle.fit_transform(y)
25StandardScaler()Padronização (Cuidado: NB assume distribuições)scaler.fit_transform(X)
26train_test_split()Divide dados em treino e testeX_train, X_test, y_train, y_test = ...
27accuracy_score()Calcula acurácia totalaccuracy_score(y_true, y_pred)
28confusion_matrix()Gera matriz de confusãoconfusion_matrix(y_true, y_pred)
29classification_report()Exibe Precision, Recall e F1-Scoreprint(classification_report(y_t, y_p))
30precision_score()Proporção de positivos corretosprecision_score(y_t, y_p)
31recall_score()Capacidade de encontrar todos os positivosrecall_score(y_t, y_p)
32f1_score()Média harmônica entre precision e recallf1_score(y_t, y_p)
33roc_auc_score()Área sob a curva ROCroc_auc_score(y_t, probs)
34P(A|B)Probabilidade PosterioriCálculo final do modelo
35P(B|A)Likelihood (Verossimilhança)Probabilidade da evidência dada a classe
36P(A)Prior (A priori)Conhecimento prévio da classe
37P(B)Evidence (Evidência)Normalizador da probabilidade
38IndependenceSuposição "Ingênua"Features são independentes entre si
39make_pipeline()Encadeia vetorização e modelopipe = make_pipeline(Tfidf(), MultinomialNB())
40GridSearchCV()Busca exaustiva de hiperparâmetros (alpha)GridSearchCV(nb, params)
41cross_val_score()Validação cruzada do modelocross_val_score(nb, X, y, cv=5)