Questão nº 27

Questão de Tecnologia da Informação · FCC TRT15 2024 (nº 27)

FCC2024Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Dver comentário ↓

Uma Analista está desenvolvendo um modelo de aprendizado de máquina em Python 3, em condições ideais. Após dividir o conjunto de dados em treinamento e teste, deseja criar um pipeline no scikit-learn para pré-processamento e treino do modelo. O pipeline deve lidar com variáveis categóricas utilizando `OneHotEncoder` e treinar um modelo de árvore de decisão com os parâmetros padrão. Isso pode ser feito com base no trecho de código abaixo.

```python
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import OneHotEncoder
from sklearn.tree import DecisionTreeClassifier

pipeline = Pipeline([
I
])

pipeline.fit(X_train, y_train)
```

A lacuna I deve ser corretamente preenchida com:

Resposta comentada

Gabarito Alternativa D

Um pipeline no scikit-learn é como uma linha de montagem para seu modelo de aprendizado de máquina, onde cada etapa (como pré-processar os dados ou treinar o modelo) é executada em sequência, garantindo consistência e organização.

  • (A) Incorreta: O problema pede para treinar um "modelo de árvore de decisão", e embora DecisionTreeRegressor seja uma árvore de decisão, ele é usado para problemas de regressão (prever valores contínuos), enquanto o gabarito e a prática comum para "modelo de árvore de decisão" sem especificação de tarefa apontam para classificação (prever categorias), que é feita com DecisionTreeClassifier. Além disso, o handle_unknown='error' pode causar falha se novas categorias aparecerem no teste.
  • (B) Incorreta: O parâmetro sparse do OneHotEncoder espera um valor booleano (True ou False), não uma string 'False'. Além disso, DecisionTreeRegressor não possui o parâmetro criterion='gini', que é específico para DecisionTreeClassifier.
  • (C) Incorreta: A classe Label_Encoder está incorreta (o nome correto é LabelEncoder). Mesmo que fosse LabelEncoder, o problema especifica o uso de OneHotEncoder para variáveis categóricas, que é mais adequado para features de entrada (X) para evitar a criação de uma ordem artificial.
  • (D) Correta: Esta alternativa preenche a lacuna corretamente. O OneHotEncoder(handle_unknown='ignore') é o pré-processador solicitado e o handle_unknown='ignore' é uma boa prática para lidar com categorias desconhecidas no futuro sem quebrar o pipeline. O DecisionTreeClassifier() é o modelo de árvore de decisão para classificação e, sem parâmetros, utiliza os parâmetros padrão, conforme solicitado.
  • (E) Incorreta: O problema pede explicitamente o uso de OneHotEncoder, não LabelBinarizer. Além disso, DecisionTreeClassifier(max_depth=3) não utiliza os parâmetros padrão do modelo, pois max_depth=3 é uma configuração específica, enquanto o padrão é None.

Fonte: FCC TRT15 2024 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho