Visualização do desempenho do modelo de classificação

Neste exercício, você deve resolver um problema de classificação em que a coluna "popularity" do conjunto de dados music_df foi convertida em valores binários, sendo que 1 representa uma popularidade maior ou igual à mediana da coluna "popularity" e 0 indica popularidade abaixo da mediana.

Sua tarefa é criar e visualizar os resultados de três modelos diferentes para classificar se uma música é popular ou não.

Os dados foram divididos, escalonados e pré-carregados para você como X_train_scaled, X_test_scaled, y_train e y_test. Além disso, KNeighborsClassifier, DecisionTreeClassifier e LogisticRegression já foram importados.

Este exercício faz parte do curso

Aprendizado Supervisionado com o scikit-learn

Ver Curso

Instruções de exercício

  • Crie um dicionário de "Logistic Regression", "KNN" e "Decision Tree Classifier", definindo os valores do dicionário como uma chamada de cada modelo.
  • Faça um loop pelos valores de models.
  • Instancie um objeto KFold para fazer 6 divisões, definindo shuffle igual a True e random_state igual a 12.
  • Faça a validação cruzada usando o modelo, as variáveis independentes de treinamento com escalonamento, o conjunto de treinamento da variável dependente e definindo cv igual a kf.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# Create models dictionary
models = {"____": ____(), "____": ____(), "____": ____()}
results = []

# Loop through the models' values
for model in ____.____():
  
  # Instantiate a KFold object
  kf = ____(n_splits=____, random_state=____, shuffle=____)
  
  # Perform cross-validation
  cv_results = ____(____, ____, ____, cv=____)
  results.append(cv_results)
plt.boxplot(results, labels=models.keys())
plt.show()