...............................................................................................................................
IA COM PYTHON
CAIQUE DE LUCENA ALBUQUERQUE - RA:223132023
IA com Python
Engenharia da Computação
Guarulhos
2025
CAIQUE DE LUCENA ALBUQUERQUE - RA:223132023
PORTFÓLIO DE IA COM PYTHON
Trabalho apresentado ao CURSO do Centro Universitário
ENIAC para a disciplina de AI com Python.
Prof. Me. Lucas Carlos de Souza
Guarulhos
2025
Desenvolvimento da atividade:
link Video: [Link]
link Código:
[Link]
?usp=sharing
#Caique De Lucena Albuquerque Ra: 223132023
# Importação das bibliotecas
import pandas as pd
from sklearn.model_selection import train_test_split
from [Link] import RandomForestClassifier
from [Link] import accuracy_score, precision_score,
confusion_matrix
# 1 - Carregar o dataset
dados = pd.read_csv('/content/Dataset - Portfólio Python com IA -
Pá[Link]')
# 2 - Remover linhas que não tenham a satisfação
dados = [Link](subset=['Satisfação']).copy()
print(dados)
# 3 - Remover a coluna que tenha o nome do cliente
if 'Nome do cliente' in [Link]: # (colums tava errado)
dados = [Link](columns=['Nome do cliente'])
# 4) Mapeamento das colunas
tipos_de_comida = {
'Carne': 1,
'Frango': 2,
'Lasanha': 3
}
atendimento = {
'Sim': 1,
'Não': 0
}
satisfacao = {
'Satisfeito': 1,
'Insatisfeito': 0
}
# 5) Substituição e conversão numérica dentro do dataset
dados['Prato'] =
dados['Prato'].replace(tipos_de_comida).infer_objects(copy=False).astype
('float')
dados['Atendimento'] =
dados['Atendimento'].replace(atendimento).infer_objects(copy=False).asty
pe('float')
dados['Satisfação'] =
dados['Satisfação'].replace(satisfacao).infer_objects(copy=False).astype
('float')
# 6) Dividir entre X (Input) e y (Target)
X = dados[['Prato', 'Gasto', 'Atendimento']]
y = dados['Satisfação']
#7) Separar entre treuno e teste (80/20)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
random_state=43)
#8) Criar e treinar o modelo
modelo = RandomForestClassifier(random_state=43)
[Link](X_train, y_train)
#9) Aaliar o modelo
y_pred = [Link](X_test)
acuracia = accuracy_score(y_test, y_pred)
precisao = precision_score(y_test, y_pred)
matriz = confusion_matrix(y_test, y_pred)
print("Acurácia do modelo:", acuracia)
print("Precisão do modelo:", precisao)
print("\nMatriz de confusão [ [TN FP] [FN TP] ]:")
print(matriz)
# 10) Fazer uma nova previsão
novo = {'Prato': 'Frango', 'Gasto': 50, 'Atendimento': 'Não'}
novo_enc = [Link]([[
tipos_de_comida[novo['Prato']],
novo['Gasto'],
atendimento[novo['Atendimento']]
]], columns=[Link])
pred = [Link](novo_enc)[0]
resultado = "Satisfeito" if pred == 1 else "Insatisfeito"
print(f"O modelo prevê que o cliente ficará {resultado}")