<jupyter_start><jupyter_text>![texto alternativo](https://drive.google.com/uc?export=view&id=14HGkNoRD0Cp4Z0KyPxvrLaj_u3eG97hC)  <img src="https://drive.google.com/uc?export=view&id=1dpWC3HxKCInKLhkhLPOyYYyV4b0E_sms" alt="Simply Easy Learning" width="800"          height="450">  **Recordando**  <img src="https://drive.google.com/uc?export=view&id=17iqwupvy5Nq2PO59Loj0gaU-e6IUYKSS" alt="Simply Easy Learning" width="800"          height="450">  <img src="https://drive.google.com/uc?export=view&id=12OkMjp-HFxBUrp4CxC4i6GjWuAreunKN" alt="Simply Easy Learning" width="800"          height="450">  <img src="https://intellipaat.com/mediaFiles/2018/12/Python-NumPy-Cheat-Sheet-1.png" alt="Simply Easy Learning" width="850"          height="500">  **Ejemplo Práctico 1** * Implementaremos el método de regresion lineal simple utilizando NumpPy. Recordemos:<img src="https://drive.google.com/uc?export=view&id=1YTC-Fz1FYb2Q7dRWdTFXjA_BWPgfJmtR" alt="Simply Easy Learning" width="500"          height="200">* Esta formulación la podiamos expresar de esta forma:<img src="https://drive.google.com/uc?export=view&id=16BQtn-NZA-icSvwSdJSBqp_Qd7n5affs" alt="Simply Easy Learning" width="700"          height="200"> Formula: Minimizar el error cuadratico Medio (MSE): $W = (X^{T}X)^{-1}X^TY$<jupyter_code># Sirve para calculo numerico, proporciona funcionalidades para trabajar con arrays, matrices y operaciones matriciales
import numpy as np     
# lo mismo que hace numpy lo extiende a herramientas cientificas, lo expande. Proporciona otras funcionalidades como tratamiento de imagenes
import scipy as sc      
# Liberia de visualizacion grafica (SIN EMBARGO, existen otras)
import matplotlib.pyplot as plt 


from google.colab import drive
drive.mount('/content/drive')<jupyter_output>Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly&response_type=code

Enter your authorization code:
··········
Mounted at /content/drive<jupyter_text>* Ahora mejoremos la solucion para resolver con todas los atributos de la base de datos<jupyter_code><jupyter_output><empty_output><jupyter_text>* Para medir el error de nuestro Modelo, utilizamos el Error cuadratico médio:  $rmse = \sqrt{(\frac{1}{n})\sum_{i=1}^{n}(y_{i} - p_{i})^{2}}$<img src="https://iartificial.net/wp-content/uploads/2018/12/error-regresion-lineal2.png" alt="Simply Easy Learning" width="300"          height="200"><jupyter_code><jupyter_output><empty_output><jupyter_text>**Ejemplo Práctico 2** **El descenso del Gradiente**El ejemplo de regresion lineal nos dio un resultado factible calculando el valor de los pesos con error mínimo de forma ditecta, pero, en la práctica su uso es inviable debido al alto costo de calcular una matriz inversa cuando tenemos demasiado atributos por muestra.Pero siempre existe una solucion!!Exploremos el descenso del gradiente: Veamos mejor este ejemplo de una forma animada:[An Interactive Tutorial on Numerical Optimization](http://www.benfrederickson.com/numerical-optimization/)    * Ahora vamos a programarlo<jupyter_code>import numpy as np     
import scipy as sc      
import matplotlib.pyplot as plt<jupyter_output><empty_output><jupyter_text>* Ahora generemos un punto aleatorio en nuestro mapa y comencemos a descender<jupyter_code><jupyter_output><empty_output><jupyter_text>* Perfecto, vamos ahora descender hasta una posición minima<jupyter_code><jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11458057687218841, 'fraction_numerical': 0.041016141836464674, 'mean_word_length': 6.56, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 0, '>': 31, 'https://': 9, 'lorem ipsum': 0, 'www.': 5, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '607836', 'license': 'MIT', 'n_tokens_mistral': 1476, 'n_tokens_neox': 1390, 'n_words': 288, 'path': 'PPT11 House Prices Numpy.ipynb', 'repo_name': 'ernestcr/DataSciencePython', 'size': '3779'}