Python - /MACHINE LEARNING/ problema al adaptar el código de la predicción del Churn Modelling.

 
Vista:

/MACHINE LEARNING/ problema al adaptar el código de la predicción del Churn Modelling.

Publicado por davma (1 intervención) el 09/06/2022 09:31:40
Hola.

Me surge un problema al adaptar el código de la predicción del Churn Modelling.

He cambiado el esquema del OneHotEncoder quitando los parámetros, pero me da error en la línea de ajuste del modelo:
classifier.fit(X_train, y_train, batch_size = 10, epochs = 50)

Te dejo Google Colab para que puedas ver el error: https://colab.research.google.com/drive/1J8idZnNotIna4mkug5JQu04FYHvTy0MR?usp=sharing

Muchisimas gracias


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
 
# Importar la base de datos
dataset = pd.read_csv('https://raw.githubusercontent.com/AaronWard/Churn-Modelling-Artificial-Neural-Network/master/Churn_Modelling.csv');
X = dataset.iloc[:, 3:13].values
Y = dataset.iloc[:, 13].values
 
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X_1 = LabelEncoder()
X[:,1] = labelencoder_X_1.fit_transform(X[:,1])
labelencoder_X_2 = LabelEncoder()
X[:, 2] = labelencoder_X_2.fit_transform(X[:, 2])
 
onehotencoder = OneHotEncoder()
X = onehotencoder.fit_transform(X).toarray()
X = X[:, 1:]
 
 
#Dividir el dataset en Training set y Test Set
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.2)
 
# Feature Scaling
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
 
# Importar la libreria de Keras y sus paquetes
import keras
from keras.models import Sequential
from keras.layers import Dense
 
#Inicializar la red neuronal
classifier = Sequential()
classifier.add(Dense(units = 6, kernel_initializer = 'uniform',
activation = 'relu', input_dim = 11))
classifier.add(Dense(units = 6, kernel_initializer = 'uniform',
activation = 'relu'))
classifier.add(Dense(units = 1, kernel_initializer = 'uniform',
activation = 'sigmoid'))
 
# Compilar red neuronal
classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
classifier.fit(X_train, y_train, batch_size = 10, epochs = 50)
 
# Predecir los resultados del Test set
y_pred = classifier.predict(X_test)
y_pred = (y_pred > 0.5)
new_prediction = classifier.predict(sc.transform
(np.array([[0.0, 0, 500, 1, 40, 3, 50000, 2, 1, 1, 40000]])))
new_prediction = (new_prediction > 0.5)
 
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)
 
print('cm: ', cm)
print('New prediction: ', new_prediction)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder