Exame 2023_2024

Grupo 1 - Espaços em branco

Questão 1

Numa metodologia de análise de dados como o CRISP-DM, a preparação de dados é uma tarefa anterior à modelagem e é preponderante visto que os dados recolhidos do mundo real podem apresentar-se incompletos, ruidosos.

Questão 2

Algoritmos de Clustering, tais como K-Means e Hierarchical Clustering, implementam uma técnica de aprendizagem não supervisionada com o objetivo de agrupar um conjunto de casos de estudo, de tal forma que os objetos no mesmo grupo apresentam mais similiaridades entre si do que com outros grupos.

Questão 3

Feature Engineering permite a criação de features a partir da informação
disponível, como forma de auxiliar o Machine Learning a realizar previsões mais performantes .

Grupo 2 - Perguntas Extensas

Questão 1: Em alguns algoritmos de Machine Learning é usada a técnica de descida por gradiente (gradient descent) no processo de otimização dos parâmetros do algoritmo.

a) Quais poderão ser os motivos para esta convergir lentamente ou não convergir?

b) Indique 2 exemplos de algoritmos de Machine Learning que façam uso desta técnica.

Grupo 3 - V/F

Questão 1: O algoritmo de aprendizagem Decision Tree apresenta normalmente um melhor desempenho quando comparado com o algoritmo Random Forest, apresentando características que possibilitem mitigar o problema de overfit de dados.

Questão 2: O algoritmo de aprendizagem Decision Tree apresenta normalmente um melhor desempenho quando comparado com o algoritmo Random Forest, apresentando características que possibilitem mitigar o problema de overfit de dados.

Questão 3: Uma matriz de confusão é uma métrica de avaliação de desempenho de modelos de Reinforcement Learning.

Questão 4: Em todos os algoritmos de clustering é necessário justificar a quantidade de clusters a procurar nos dados.

Grupo 4 - Code Analysis

df = pandas.read_csv('breast_cancer_dataset.csv') #load data into dataframe
df['diagnosis'] = df['diagnosis'].substitute(['B', 'M'], [0, 1])  #in column 'diagnosis' substitute data equivalent to B with 0 and M with 1
X = df.drop(['diagnosis', 'id'], axis=1) #drop columns 'diagnosis' and 'id' and that dataframe is now X
y = df['diagnosis'] #column 'diagnosis' is now dataframe y
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1, random_state=2023) #separation of data sets for training and test; test percentage of total data = 10%, with a random state
model = RandomForestClassifier(random_state=2023)  #instanciation of a random forest classifier
model.predict(X_train, y_train) #train the random forest classifier with the train set data
inferences = model.fit(X_test) #fit the model
accuracy = accuracy_score(y_train, inferences) #get the accuracy score of the y predictions given by the fitted model
mse = MSE(y_test, inferences) #get the MSE associated with the fitted model with the test data set
print(classification_report(y_test, inferences)) #summary of various metrics used to evaluate the performance of a classification model. It includes metrics such as precision, recall, F1-score, and support for each class
print(confusion_matrix(y_test, inferences)) #prints the confusion matrix, a table that shows the counts of true positive, true negative, false positive, and false negative predictions.

Grupo 5 - Escolha Múltipla

Questão 1: Qual o significado de ‘boosting’ no contexto de modelos de previsão?

Questão 2: Qual o significado de ‘categórico’ quando nos referimos a uma variável num conjunto de dados?