Ajuste do KNN num modelo de classificação - nivel introdutório
O KNN(K Nearest Neighbour - K vizinhos mais próximos). O objetivo é encontrar os k pontos mais próximos(vizinhos).
A ideia do KNN, é prever o rótulo de qualquer ponto de dados observando os k mais próximos, por exemplo, três pontos de dados rotulados mais próximos e fazendo com que eles votem em qual rótulo a observação não rotulada deve ter. O KNN usa a votação por maioria, que faz previsões com base no rótulo que a maioria dos vizinhos mais próximos possui.
Para realizar a tarefa é necessário transformar as colunas em matrizes numpy, pois é assim que o aklearn reconhece tanto as variaveus preditoras quanto a variavel alvo
# Imporrtando os pacotes
import numpy as np
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier #importando knnn para modelos de classificação
importe os dados:
churn_df = pd.read_csv("telecom_churn_clean.csv", index_col=0)
churn_df.head()
Crie arrays para as variaveis preditoras e a variável alvo
X = churn_df[['account_length', 'customer_service_calls']].values
y = churn_df['churn'].values
Instancie um KNeighborsClassifier com o nome knn com 6 vizinhos.
knn = KNeighborsClassifier(n_neighbors= 6)
Ajuste o classificador aos dados usando o método .fit()
knn.fit(X,y)
Agora que seu classificador KNN foi ajustado aos dados, ele pode ser usado para prever os rótulos de novos pontos de dados. Todos os dados disponíveis foram usados para treinamento, porém, felizmente, há novas observações disponíveis. Estes foram pré-carregados para você como X_new.
X_new = np.array([[30.0, 17.5],
[107.0, 24.1],
[213.0, 10.9]])