prueba
1. Separe las variables independientes y dependientes
dependientes: edad, salario; independiente: compra
2. Escala de características
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model
df=pd.read_csv('storepurchasedata.csv')
3. Utilizando KNN, crea un modelo de clasificador que predice si una persona con una edad determinada y salario comprará el producto o no.
X = df.iloc[:, :-1].values
y = df.iloc[:,-1].values
import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size =.20,random_state=0)
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
from sklearn.neighbors import KNeighborsClassifier
# minkowski is for ecledian distance
classifier = KNeighborsClassifier(n_neighbors = 5, metric = 'minkowski', p = 2)
4. Alimenta todo el conjunto de datos al modelo y determina la probabilidad de que cada cliente compre el producto.
y_pred = classifier.predict(X_test)
y_prob = classifier.predict_proba(X_test)[:,1]
5. Ordenar el conjunto de datos por probabilidad y seleccionar los 5 clientes principales.
y_pred = classifier.predict(X_test)
y_prob = classifier.predict_proba(X_test)[:,1]
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)
from sklearn.metrics import accuracy_score
print(accuracy_score(y_test,y_pred))
from sklearn.metrics import classification_report
print(classification_report(y_test,y_pred))
new_prediction = classifier.predict(sc.transform(np.array([[40,20000]])))
new_prediction_proba = classifier.predict_proba(sc.transform(np.array([[40,20000]])))[:,1]
new_pred = classifier.predict(sc.transform(np.array([[42,50000]])))
new_pred_proba = classifier.predict_proba(sc.transform(np.array([[42,50000]])))[:,1]
new_pred = classifier.predict(sc.transform(np.array([[43,50000]])))
new_pred_proba = classifier.predict_proba(sc.transform(np.array([[43,36000]])))[:,1]
new_pred = classifier.predict(sc.transform(np.array([[44,49000]])))
new_pred_proba = classifier.predict_proba(sc.transform(np.array([[44,49000]])))[:,1]
new_pred = classifier.predict(sc.transform(np.array([[45,60000]])))
new_pred_proba = classifier.predict_proba(sc.transform(np.array([[44,60000]])))[:,1]
Una vez terminado, por favor comparta el proyecto en la sección de Galería de estudiantes