ComenzarEmpieza gratis

La función de recomendación

En este ejercicio, vamos a construir una función de recomendación get_recommendations(), como se explicó en la lección y en el ejercicio anterior. Como sabemos, recibe un título, una matriz de similitud coseno y un mapeo de títulos e índices de películas como argumentos, y devuelve una lista con los 10 títulos más similares al título original (excluyendo el propio título).

Se te proporciona un conjunto de datos metadata que contiene los títulos y resúmenes de las películas. Se ha mostrado por consola la cabecera de este conjunto de datos.

Este ejercicio forma parte del curso

Ingeniería de características para NLP en Python

Ver curso

Instrucciones del ejercicio

  • Obtén el índice de la película que coincide con el título usando la clave title de indices.
  • Extrae las diez películas más similares de sim_scores y vuelve a guardarlas en sim_scores.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Generate mapping between titles and index
indices = pd.Series(metadata.index, index=metadata['title']).drop_duplicates()

def get_recommendations(title, cosine_sim, indices):
    # Get index of movie that matches title
    idx = ____[____]
    # Sort the movies based on the similarity scores
    sim_scores = list(enumerate(cosine_sim[idx]))
    sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
    # Get the scores for 10 most similar movies
    sim_scores = sim_scores[____]
    # Get the movie indices
    movie_indices = [i[0] for i in sim_scores]
    # Return the top 10 most similar movies
    return metadata['title'].iloc[movie_indices]
Editar y ejecutar código