Preparación (Lección 3) - Construcción y Entrenamiento de Modelos

1. Selección de Algoritmos de Machine Learning

Objetivo: Entender cómo seleccionar el algoritmo de machine learning adecuado para un problema específico.

Criterios de Selección

Comparación de Algoritmos

2. Construcción y Entrenamiento de Modelos

Objetivo: Aprender a construir y entrenar modelos de machine learning utilizando diferentes algoritmos.

Regresión Lineal

Construcción y entrenamiento del modelo.


              from sklearn.linear_model import LinearRegression
              model = LinearRegression()
              model.fit(X_train, y_train)
              predictions = model.predict(X_test)
                

Árboles de Decisión

Construcción y entrenamiento del modelo.


              from sklearn.tree import DecisionTreeClassifier
              model = DecisionTreeClassifier()
              model.fit(X_train, y_train)
              predictions = model.predict(X_test)
                

Máquinas de Soporte Vectorial (SVM)

Construcción y entrenamiento del modelo.


              from sklearn.svm import SVC
              model = SVC()
              model.fit(X_train, y_train)
              predictions = model.predict(X_test)
                

Redes Neuronales

Construcción y entrenamiento del modelo.


              from tensorflow.keras.models import Sequential
              from tensorflow.keras.layers import Dense
              model = Sequential()
              model.add(Dense(12, input_dim=8, activation='relu'))
              model.add(Dense(8, activation='relu'))
              model.add(Dense(1, activation='sigmoid'))
              model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
              model.fit(X_train, y_train, epochs=150, batch_size=10)
              predictions = model.predict(X_test)
                

3. Evaluación del Rendimiento del Modelo

Objetivo: Aprender a evaluar el rendimiento de los modelos utilizando métricas apropiadas y técnicas de validación.

Métricas de Evaluación

Precisión, recall, F1-score, AUC-ROC.


              from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
              accuracy = accuracy_score(y_test, predictions)
              precision = precision_score(y_test, predictions)
              recall = recall_score(y_test, predictions)
              f1 = f1_score(y_test, predictions)
              auc = roc_auc_score(y_test, predictions)
              print(f'Accuracy: {accuracy}')
              print(f'Precision: {precision}')
              print(f'Recall: {recall}')
              print(f'F1 Score: {f1}')
              print(f'AUC-ROC: {auc}')
                

Validación Cruzada

Aplicación de técnicas de validación cruzada para evaluar el rendimiento del modelo.


              from sklearn.model_selection import cross_val_score
              scores = cross_val_score(model, X, y, cv=5)
              print(f'Cross-Validation Scores: {scores}')
              print(f'Mean Score: {scores.mean()}')
                

Ajuste de Hiperparámetros

Técnicas para ajustar los hiperparámetros del modelo para mejorar su rendimiento.


              from sklearn.model_selection import GridSearchCV
              param_grid = {'C': [0.1, 1, 10], 'gamma': [1, 0.1, 0.01]}
              grid_search = GridSearchCV(SVC(), param_grid, cv=5)
              grid_search.fit(X_train, y_train)
              print(f'Best Parameters: {grid_search.best_params_}')
              best_model = grid_search.best_estimator_
              best_predictions = best_model.predict(X_test)