<jupyter_start><jupyter_text><jupyter_code>import pandas as pd

#Importando o DataSet
vinhos = pd.read_csv('/content/drive/My Drive/Machine Learning/Classificação de Vinhos/datasets_16721_22034_wine_dataset.csv')
#Lendo as primeiras linhas do df
vinhos.head()
#Renomeando as informações da coluna style para melhorar a classificação
vinhos['style'] = vinhos['style'].replace('red', 0)   #Vinho tinto = 0
vinhos['style'] = vinhos['style'].replace('white', 1) #Vinho branco = 1
#Verificando 
vinhos.head()
#Definindo as variáveis preditoras e variáveis alvo(que queremos prever)
y = vinhos['style'] #Armazenhando a coluna 'style'
x = vinhos.drop('style', axis = 1) #armazenando o resto do df sem a coluna 'style'
#Importando a função necessaria para separar o df em teste e prova
from sklearn.model_selection import train_test_split
#Separando o conjunto de dados
x_treino, x_teste, y_treino, y_teste = train_test_split(x, y, test_size = 0.4) #Separando em 40% para teste
#Verificando
print(x.shape)
print(x_teste.shape)
print(x_treino.shape)<jupyter_output>(6497, 12)
(2599, 12)
(3898, 12)<jupyter_text>Treinando<jupyter_code>#Importando a função necessaria para trabalhar com a arvore de decisão
from sklearn.ensemble import ExtraTreesClassifier

#Criando uma variável que vai receber a função
modelo = ExtraTreesClassifier()

#Aplicando o modelo nos dados de x_treino e y_treino
modelo.fit(x_treino, y_treino)<jupyter_output><empty_output><jupyter_text>Testando<jupyter_code>#Mostrando os resultados:
resultados = modelo.score(x_teste, y_teste) #Analisando os dados de teste e tentando prever a classificação

#Mostrando a acurácia
print('Acurácia:', resultados)<jupyter_output>Acurácia: 0.996921893035783<jupyter_text>Prevendo<jupyter_code>#Pegando dados de teste aleatorios(Classificações) e analisando o resultado obitido:
y_teste[200:205]<jupyter_output><empty_output><jupyter_text>de acordo com as informações, os vinhos tem essas classificações. Agora iremos pegar outras informações dos mesmos vinhos, tentar prever a classificação, e comparar com essas<jupyter_code>#Pegando os dados de teste:
x_teste[200:205]
#Prevendo a classificação dos vinhos:
previsao = modelo.predict(x_teste[200:205])

#Mostrando as previsões e os dados de classificação para comparar:
print(previsao)
print(y_teste[200:205])<jupyter_output>[1 1 0 1 0]
1726    1
2541    1
1273    0
3032    1
1493    0
Name: style, dtype: int64<jupyter_text>Podemos ver que são iguais, logo a previsão foi ok.<jupyter_code><jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.09036860879904875, 'fraction_numerical': 0.04320253666270313, 'mean_word_length': 6.937106918238993, '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': '640064', 'license': 'MIT', 'n_tokens_mistral': 1043, 'n_tokens_neox': 951, 'n_words': 257, 'path': 'Classificacao_de_vinhos/Classificacao_Vinhos.ipynb', 'repo_name': 'antoniocruzds/Machine-Learning', 'size': '2523'}