Partilhar: WhatsApp
aulify
UC UC00623 · T. Desenv. Software, T. Multimédia, T. Inform. Gestão, T. Eletrónica, T. Eletrónica e Comunicaçõ

Ficha 01 · IA fundamentos + ML

scikit-learn, classificação, métricas
Versão · Aluno
Tempo · 4 horas
Aluno(a)
Turma
Data

Exercício 1 · Setup scikit-learn

Instala scikit-learn e pandas. Carrega o dataset Iris (incluído no sklearn) e mostra: shape, primeiras 5 linhas, nomes das classes.

Resposta:

Exercício 2 · Train/test split

Divide o Iris em 80/20 train/test. Treina um KNN classifier. Imprime a accuracy no test set.

Resposta:

Exercício 3 · Comparar modelos

Treina 3 modelos diferentes (KNN, Decision Tree, Logistic Regression) no Iris. Imprime a accuracy de cada um numa tabela.

Resposta:

Exercício 4 · Métricas — classification_report

Para o melhor modelo do exercício 3, imprime o classification_report (precision, recall, f1 por classe).

Resposta:

Exercício 5 · Regressão linear

Usa o dataset load_diabetes do sklearn. Treina uma regressão linear para prever a progressão da doença. Imprime R² no test set.

Resposta:

Exercício 6 · Classificador de texto (TF-IDF + Naive Bayes)

Cria um classificador de spam usando estes dados de exemplo:

emails = [
    "Win a free iPhone now!", "Cheap meds, click here", "Earn $5000 weekly from home",
    "Meeting tomorrow at 3pm", "Project deadline next Friday", "Lunch later?",
    "FREE bitcoin opportunity", "Re: invoice attached", "Confirm your subscription",
    "Sale 50% off all items click", "Status update on the report", "Happy birthday!"
]
labels = [1,1,1, 0,0,0, 1,0,0, 1,0,0]  # 1=spam, 0=ham

Treina, prevê uma nova mensagem e imprime previsão.

Resposta:

Exercício 7 · Pipeline + GridSearchCV

Usa GridSearchCV para encontrar o melhor n_neighbors (1 a 20) para KNN no Iris, com 5-fold cross-validation.

Resposta:

Exercício 8 · Visualização

Para o classificador KNN do exercício 2, faz scatter plot 2D usando apenas 2 features (sepal length vs petal length), colorindo por classe. Marca o decision boundary.

Resposta: