Laboratorio: semana dos
- Descargar el dataset de IMDB de Kaggle aquí:
- https://www.kaggle.com/deepmatrix/imdb-5000-movie-dataset
- Leer del archivo los siguientes datos
- actor_1_facebook_likes
- actor_2_facebook_likes
- actor_3_facebook_likes
- director_facebook_likes
- budget
- movie_facebook_likes
- Normalizar los datos dividiendolos por el número máximo de esa variable
- actor_1_facebook_likes
- actor_2_facebook_likes
- actor_3_facebook_likes
- director_facebook_likes
- budget
- movie_facebook_likes
- Para aquellos datos en los que se tenga todos los valores definidos
- Graficar todas las variables contra movie_facebook_likes
- Hacer una regressión lineal usando gradient descent para la variable movie_facebook_likes, pueden basar el código en la siguiente implementación (comentar código):
- def gradientDescent(x, y, theta, alpha, m, numIterations):
- xTrans = x.transpose()
- for i in range(0, numIterations):
- hypothesis = np.dot(x, theta)
- loss = hypothesis - y
- cost = np.sum(loss ** 2) / (2 * m)
- print("Iteration %d | Cost: %f" % (i, cost))
- gradient = np.dot(xTrans, loss)
- theta = theta - alpha * gradient
- return theta
-
- Graficar la evolución de los pesos para las dimensiones, tomar W_0 como intersección con el eje, y el peso de budget para graficar líneas:
- budget
- movie_facebook_likes
- Modificar el código para actualizar los pesos por cada 100 ejemplos (minibatch)
- Graficar la evolución de los pesos para las dimensiones, , tomar W_0 como intersección con el eje, y el peso de budget para graficar líneas:
- budget
- movie_facebook_likes
-