import graphlab

"""
Explanation: Importar GraphLab
End of explanation
"""


sales = graphlab.SFrame('home_data.gl/')

sales

"""
Explanation: Cargar nuestro dataset
End of explanation
"""


graphlab.canvas.set_target('ipynb')
sales.show(view="Scatter Plot", x="sqft_living", y="price")

"""
Explanation: Explorar los datos de las casas
Una correlacion con el sqft de una casa con su precio
End of explanation
"""


train_data,test_data = sales.random_split(.8,seed=0)

"""
Explanation: Crear un simple modelo de regresión basado en sqft_living
Crear nuestro training data y nuestro test data
End of explanation
"""


sqft_model = graphlab.linear_regression.create(train_data, target='price', features=['sqft_living'],validation_set=None)

"""
Explanation: Construir nuestro modelo de regresion
End of explanation
"""


print sqft_model.evaluate(test_data)

"""
Explanation: Evaluar el modelo
El promedio de las ventas
End of explanation
"""


import matplotlib.pyplot as plt
%matplotlib inline

plt.plot(test_data['sqft_living'],test_data['price'],'.',
        test_data['sqft_living'],sqft_model.predict(test_data),'-')

"""
Explanation: RMSE of about \$255,170!
Importar Matplotlib que es una libreria gráfica.
End of explanation
"""


sqft_model.get('coefficients')

"""
Explanation: Los puntos azules son nuestros datos y la linea verde es nuestra regresion lineal que usaremos para predecir los precios de las casas.
Abajo estan los coeficientes de la función.
End of explanation
"""


house1 = sales[sales['id']=='5309101200']

sales

house3 = sales[sales['id'] == '6414100192']
house3

print house3['price']

print sqft_model.predict(house3)

house2 = sales[sales['id']=='3793500160']

house2['price']

house2

print sqft_model.predict(house2)

house3 = sales[sales['id'] == '1321400060']

print house3['price']

print sqft_model.predict(house3)

"""
Explanation: Aplicar el modelo en 3 casas
End of explanation
"""


