Menú

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

https://anaconda.cloud/api/nbserve/launch_notebook?nb_url=https%3A%2F%2Fanaconda.cloud%2Fapi%2Fprojects%2Fe6ede648-35b6-4940-8bca-f54efc54049c%2Fversions%2F4e564193-d49e-4e54-96ba-ab19927ec458%2Ffiles%2Fprueba.ipynb