O desafio da classificação

Aprendizado Supervisionado com o scikit-learn

George Boorman

Core Curriculum Manager, DataCamp

Classificação de rótulos de dados não vistos

  1. Crie um modelo
  2. O modelo aprende com os dados rotulados que passamos a ele
  3. Passe dados não rotulados para o modelo como entrada
  4. O modelo prevê os rótulos dos dados não vistos

 

  • Dados rotulados = dados de treinamento
Aprendizado Supervisionado com o scikit-learn

k vizinhos mais próximos

  • Previsão do rótulo de um ponto de dados

    • Analisando os k pontos de dados rotulados mais próximos

    • Com votação por maioria

Aprendizado Supervisionado com o scikit-learn

k vizinhos mais próximos

gráfico de dispersão com observações em azul e vermelho e uma nova observação em preto

Aprendizado Supervisionado com o scikit-learn

k vizinhos mais próximos

raio em torno das três observações mais próximas do ponto preto

Aprendizado Supervisionado com o scikit-learn

k vizinhos mais próximos

raio ao redor das cinco observações mais próximas do ponto preto

Aprendizado Supervisionado com o scikit-learn

Compreensão intuitiva do KNN

gráfico de dispersão da cobrança total noturna x cobrança total diurna, em que as observações são mostradas em azul quando houve cancelamento da assinatura e em vermelho quando não houve

Aprendizado Supervisionado com o scikit-learn

Compreensão intuitiva do KNN

gráfico de dispersão da rotatividade de clientes com um limite de decisão que divide as observações de acordo com a previsão do KNN de que o cliente cancelará a assinatura ou não

Aprendizado Supervisionado com o scikit-learn

Como usar o scikit-learn para ajustar um classificador

from sklearn.neighbors import KNeighborsClassifier

X = churn_df[["total_day_charge", "total_eve_charge"]].values y = churn_df["churn"].values
print(X.shape, y.shape)
(3333, 2), (3333,)
knn = KNeighborsClassifier(n_neighbors=15)

knn.fit(X, y)
Aprendizado Supervisionado com o scikit-learn

Previsão com dados não rotulados

X_new = np.array([[56.8, 17.5],
                  [24.4, 24.1],
                  [50.1, 10.9]])

print(X_new.shape)
(3, 2)
predictions = knn.predict(X_new)

print('Predictions: {}'.format(predictions))
Predictions: [1 0 0]
Aprendizado Supervisionado com o scikit-learn

Vamos praticar!

Aprendizado Supervisionado com o scikit-learn

Preparing Video For Download...