Una vez seleccionado e implementado un algoritmo, es importante buscar la combinación de parámetros del modelo que permita maximizar el accuraccy el mismo, para que la efectividad del modelo sea lo más elevada posible. Esta etapa es fundamental si se pretender obtener un modelo completamente optimizado y combinaría con la fase de Cross-Validation que comentaremos en entradas futuras.
#import libraries for pre-processing
>>>import warnings
>>>warnings.simplefilter(action=’ignore’, category=FutureWarning)
>>>import pandas as pd
>>>from pandas.plotting import scatter_matrix
>>>import seaborn as sns
>>>import matplotlib.pyplot as plt
>>>%matplotlib inline
>>>import numpy as np
>>>from dateutil.parser import parse
>>>from datetime import datetime
>>>from scipy.stats import norm
# import all what you need for machine learning
>>>import sklearn
>>>from sklearn.model_selection import cross_val_predict
>>>from sklearn.model_selection import cross_val_score
>>>from sklearn.model_selection import cross_validate
>>>from sklearn.model_selection import train_test_split
>>>from sklearn.linear_model import LinearRegression
>>>from sklearn.ensemble import RandomForestRegressor
>>>from sklearn.tree import DecisionTreeRegressor
>>>from sklearn.model_selection import RandomizedSearchCV
>>>from sklearn.model_selection import GridSearchCV
>>>from sklearn.linear_model import LinearRegression
>>>from sklearn.preprocessing import RobustScaler
>>>from sklearn.model_selection import GridSearchCV
>>>param_grid = [
>>>{'n_estimators': [10, 25], 'max_features': [5, 10],
>>> 'max_depth': [10, 50, None], 'bootstrap': [True, False]}
>>>]
>>>grid_search_forest = GridSearchCV(forest, param_grid, cv=10, >>>scoring='neg_mean_squared_error')
>>>grid_search_forest.fit(x_train, y_train)
Esta función permite obtener la combinación de parámetros óptima para el modelo de Machine learning que estamos aplicando (Fuente Kaggle)

