<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Importar GraphLab
Step1:  Cargar el dataset
Step2:  Los datos contienen articulos de wikipedia sobre diferentes personas.
Step3:  Buscaremos al expresidente Barack Obama
Step4:  Contar las palabras del articulo de Obama
Step5:  Convertir el diccionario en una tabla
Step6:  Ordenar las palabras más repetidas.
Step7:  Las palabras más comunes no nos aportan información.
Desarrollar un algoritmo TF-IDF para resolver este problema. Aplicaremos el contador de palabra como una columna y aplicaremos a todos los articulos.
Step8:  Examinar el TF-IDF del articulo de OBAMA
Step9:  El algoritmo TF-IDF nos aporta más información.
Construir un modelo de nearest neighbor.
Step10:  Qué persona esta más relacionada con Obama?
Step11:  Otros ejemplos
<ASSISTANT_TASK:>
Python Code:
import graphlab
Explanation: Importar GraphLab
End of explanation
people = graphlab.SFrame('people_wiki.gl/')
Explanation: Cargar el dataset
End of explanation
people.head()
len(people)
Explanation: Los datos contienen articulos de wikipedia sobre diferentes personas.
End of explanation
obama = people[people['name'] == 'Barack Obama']
obama
obama['text']
Explanation: Buscaremos al expresidente Barack Obama
End of explanation
obama['word_count'] = graphlab.text_analytics.count_words(obama['text'])
print obama['word_count']
Explanation: Contar las palabras del articulo de Obama
End of explanation
obama_word_count_table = obama[['word_count']].stack('word_count', new_column_name = ['word','count'])
Explanation: Convertir el diccionario en una tabla
End of explanation
obama_word_count_table.head()
obama_word_count_table.sort('count',ascending=False)
Explanation: Ordenar las palabras más repetidas.
End of explanation
people['word_count'] = graphlab.text_analytics.count_words(people['text'])
people.head()
people['tfidf'] = graphlab.text_analytics.tf_idf(people['word_count'])
Explanation: Las palabras más comunes no nos aportan información.
Desarrollar un algoritmo TF-IDF para resolver este problema. Aplicaremos el contador de palabra como una columna y aplicaremos a todos los articulos.
End of explanation
obama = people[people['name'] == 'Barack Obama']
obama[['tfidf']].stack('tfidf',new_column_name=['word','tfidf']).sort('tfidf',ascending=False)
Explanation: Examinar el TF-IDF del articulo de OBAMA
End of explanation
knn_model = graphlab.nearest_neighbors.create(people,features=['tfidf'],label='name')
Explanation: El algoritmo TF-IDF nos aporta más información.
Construir un modelo de nearest neighbor.
End of explanation
knn_model.query(obama)
Explanation: Qué persona esta más relacionada con Obama?
End of explanation
swift = people[people['name'] == 'Taylor Swift']
knn_model.query(swift)
jolie = people[people['name'] == 'Angelina Jolie']
knn_model.query(jolie)
arnold = people[people['name'] == 'Arnold Schwarzenegger']
knn_model.query(arnold)
Explanation: Otros ejemplos
End of explanation
<END_TASK>