<jupyter_start><jupyter_text>Previsores e classes<jupyter_code>previsores = base.iloc[:,0:14].values

classe = base.iloc[:,14].values<jupyter_output><empty_output><jupyter_text>Transformação de categóricos para numéricos<jupyter_code>from sklearn.preprocessing import LabelEncoder, OneHotEncoder
from sklearn.compose import ColumnTransformer
labelencoder_previsores = LabelEncoder()
previsores[:, 1] = labelencoder_previsores.fit_transform(previsores[:, 1])
previsores[:, 3] = labelencoder_previsores.fit_transform(previsores[:, 3])
previsores[:, 5] = labelencoder_previsores.fit_transform(previsores[:, 5])
previsores[:, 6] = labelencoder_previsores.fit_transform(previsores[:, 6])
previsores[:, 7] = labelencoder_previsores.fit_transform(previsores[:, 7])
previsores[:, 8] = labelencoder_previsores.fit_transform(previsores[:, 8])
previsores[:, 9] = labelencoder_previsores.fit_transform(previsores[:, 9])
previsores[:, 13] = labelencoder_previsores.fit_transform(previsores[:, 13])
onehotencorder = ColumnTransformer(transformers=[("OneHot", OneHotEncoder(), [1,3,5,6,7,8,9,13])],remainder='passthrough')
previsores = onehotencorder.fit_transform(previsores).toarray()
previsores.shape<jupyter_output><empty_output><jupyter_text>type(previsores)  Deixar as variáveis na mesma escalaImportante em algoritimos que usam distancia Euclidiana como o Kmeans<jupyter_code>labelencorder_classe = LabelEncoder()
classe = labelencorder_classe.fit_transform(classe)

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
previsores = scaler.fit_transform(previsores)<jupyter_output><empty_output><jupyter_text>Divisão em base de treinos e testes<jupyter_code>from sklearn.model_selection import train_test_split
previsores_treinamento, previsores_teste, classe_treinamento, classe_teste = train_test_split(previsores, classe, test_size=0.15, random_state=0)
print(previsores_treinamento.shape)
print(classe_treinamento.shape)
print(previsores_teste.shape)
print(classe_teste.shape)<jupyter_output>(4885, 108)
(4885,)<jupyter_text>Naive Bayles<jupyter_code>from sklearn.naive_bayes import GaussianNB
classificador = GaussianNB()
classificador.fit(previsores_treinamento, classe_treinamento)
previsoes = classificador.predict(previsores_teste)
print(previsoes[0:10])
print(previsoes.shape)
print(classe_teste[0:10])
print(classe_teste.shape)
from sklearn.metrics import confusion_matrix, accuracy_score
precisao = accuracy_score(classe_teste,previsoes)
print(precisao)
matriz = confusion_matrix(classe_teste,previsoes)
print(matriz)<jupyter_output>[[1172 2521]
 [  35 1157]]<jupyter_text>Tentando MelhorarNesta base o escalonamento das variaveis dummy está fazendo piorar o resultado<jupyter_code>base = pd.read_csv("C:\\Users\\vlmbl\\Documents\\MyPython\\DataScience\\data\\census.csv")
previsores = base.iloc[:,0:14].values
classe = base.iloc[:,14].values
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_previsores = LabelEncoder()

previsores[:, 1] = labelencoder_previsores.fit_transform(previsores[:, 1])
previsores[:, 3] = labelencoder_previsores.fit_transform(previsores[:, 3])
previsores[:, 5] = labelencoder_previsores.fit_transform(previsores[:, 5])
previsores[:, 6] = labelencoder_previsores.fit_transform(previsores[:, 6])
previsores[:, 7] = labelencoder_previsores.fit_transform(previsores[:, 7])
previsores[:, 8] = labelencoder_previsores.fit_transform(previsores[:, 8])
previsores[:, 9] = labelencoder_previsores.fit_transform(previsores[:, 9])
previsores[:, 13] = labelencoder_previsores.fit_transform(previsores[:, 13])
from sklearn.model_selection import train_test_split
previsores_treinamento, previsores_teste, classe_treinamento, classe_teste = train_test_split(previsores, classe, test_size=0.15, random_state=0)
print(previsores_treinamento.shape)
print(classe_treinamento.shape)
print(previsores_teste.shape)
print(classe_teste.shape)
from sklearn.naive_bayes import GaussianNB
classificador = GaussianNB()
classificador.fit(previsores_treinamento, classe_treinamento)
previsoes = classificador.predict(previsores_teste)
print(previsoes[0:10])
print(previsoes.shape)
print(classe_teste[0:10])
print(classe_teste.shape)
precisao = accuracy_score(classe_teste,previsoes)
print(precisao)
matriz = confusion_matrix(classe_teste,previsoes)
print(matriz)<jupyter_output>[[3516  177]
 [ 823  369]]
{'fraction_non_alphanumeric': 0.11509303928325293, 'fraction_numerical': 0.025959108660693776, 'mean_word_length': 11.3342776203966, 'pattern_counts': {'":': 0, '<': 22, '<?xml version=': 0, '>': 22, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '326782', 'license': 'MIT', 'n_tokens_mistral': 1614, 'n_tokens_neox': 1569, 'n_words': 231, 'path': 'notebook/_NaiveBayes/NaiveBayes_Censo.ipynb', 'repo_name': 'victorblois/py_datascience', 'size': '4353'}