Applied Mathematics">
Tarea 2
Tarea 2
Tarea 2
Metropolitana de Hidalgo
Ingenieria en Tecnologías de la
Información
Arturo Aldair Juárez Hernández.
Yair Ortega García 8°A ITI.
21/05/2024.
Contenido
Problema a resolver...........................................................................................................................3
Método a utilizar................................................................................................................................3
Dataset a utilizar y recopilación de datos...........................................................................................3
Pre-procesamiento del dataset..........................................................................................................3
Script en PYTHON para aplicar la técnica descrita en el inciso b) al dataset indicado en el inciso c). 5
EXPLICACIÓN DEL CÓDIGO.............................................................................................................6
Importar las bibliotecas necesarias............................................................................................6
Cargar y preprocesar el dataset de Iris.......................................................................................7
Definir la clase ADALINE.............................................................................................................7
Entrenar y evaluar el modelo ADALINE......................................................................................8
Modelo aplicado al dataset................................................................................................................9
Evaluación del modelo aplicado.........................................................................................................9
Resultados obtenidos al aplicar el script en PYTHON.......................................................................10
Validación de los resultados del modelo obtenido..........................................................................10
Monitorear y dar mantenimiento al modelo obtenido....................................................................10
Comunicar los resultados obtenidos................................................................................................11
Referencias bibliográficas.................................................................................................................12
Tarea 3
Aplicar la red neuronal ADALINE a alguna colección de datos usando
PYTHON. Generar un reporte que contenga lo siguiente:
Problema a resolver
El objetivo de este proyecto es aplicar la red neuronal ADALINE (Adaptive Linear
Neuron) para resolver un problema de clasificación binaria. En particular,
utilizaremos el dataset de iris, donde el objetivo será clasificar las flores Iris Setosa
y Iris Versicolor basándonos en sus características.
Método a utilizar
ADALINE es una red neuronal de una sola capa que utiliza la regla de aprendizaje
de mínimos cuadrados. La principal diferencia entre ADALINE y el Perceptron es
que ADALINE utiliza una función de activación lineal en lugar de una función
escalón, lo que permite ajustar los pesos de manera que se minimice el error
cuadrático.
c) Convertir etiquetas
El modelo ADALINE necesita que las etiquetas de clase sean -1 y 1 en lugar de 0
y 1. Por lo tanto, convertimos las etiquetas usando numpy.where.
d) Normalizar características
La normalización de las características es un paso importante para que el
entrenamiento del modelo sea más eficiente y estable. Utilizamos StandardScaler
de sklearn para normalizar las características. La normalización ajusta los datos
para que tengan una media de 0 y una desviación estándar de 1.
e) Dividir el dataset
Para evaluar el desempeño del modelo, dividimos el dataset en dos partes: un
conjunto de entrenamiento y un conjunto de prueba. Usamos train_test_split de
sklearn para realizar esta división. Aquí, el 70% de los datos se utilizan para
entrenar el modelo y el 30% para probarlo.
Este pre-procesamiento asegura que los datos están en un formato adecuado
para entrenar el modelo ADALINE, mejorando la eficiencia y precisión del
entrenamiento.
# Convertir etiquetas a -1 y 1
y = np.where(y == 0, -1, 1)
# Normalizar características
scaler = StandardScaler()
X = scaler.fit_transform(X)
# Evaluar el modelo
y_pred = adaline.predict(X_test)
accuracy = np.mean(y_pred == y_test)
# Convertir etiquetas a -1 y 1
y = np.where(y == 0, -1, 1)
# Normalizar características
scaler = StandardScaler()
X = scaler.fit_transform(X)
for i in range(self.n_iter):
output = self.net_input(X)
errors = (y - output)
self.w_[1:] += self.learning_rate * X.T.dot(errors)
self.w_[0] += self.learning_rate * errors.sum()
cost = (errors**2).sum() / 2.0
self.cost_.append(cost)
return self
# Evaluar el modelo
y_pred = adaline.predict(X_test)
accuracy = np.mean(y_pred == y_test)
Referencias bibliográficas.
Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
Duda, R. O., Hart, P. E., & Stork, D. G. (2001). Pattern Classification. John
Wiley & Sons.
McCulloch, W. S., & Pitts, W. (1943). A logical calculus of the ideas
immanent in nervous activity. The bulletin of mathematical biophysics, 5(4),
115-133.
Rosenblatt, F. (1958). The Perceptron: A Probabilistic Model for Information
Storage and Organization in The Brain. Psychological Review, 65(6), 386-
408.