NMF leert onderwerpen van documenten
In de video heb je geleerd dat wanneer NMF wordt toegepast op documenten, de componenten overeenkomen met onderwerpen, en dat de NMF-features de documenten vanuit die onderwerpen reconstrueren. Controleer dit zelf voor het NMF-model dat je eerder met de Wikipedia-artikelen hebt gebouwd. Eerder zag je dat de 3e NMF-featurewaarde hoog was voor de artikelen over de acteurs Anne Hathaway en Denzel Washington. Identificeer in deze oefening het onderwerp van de bijbehorende NMF-component.
Het NMF-model dat je eerder hebt gebouwd is beschikbaar als model, terwijl words een lijst is met de woorden die de kolommen van de woordfrequentie-array labelen.
Als je klaar bent, sta dan even stil bij het onderwerp dat de artikelen over Anne Hathaway en Denzel Washington gemeen hebben!
Deze oefening maakt deel uit van de cursus
Unsupervised Learning in Python
Oefeninstructies
- Importeer
pandasalspd. - Maak een DataFrame
components_dfvanmodel.components_en zetcolumns=wordszodat de kolommen door de woorden gelabeld zijn. - Print
components_df.shapeom de afmetingen van de DataFrame te controleren. - Gebruik de
.iloc[]-toegangsfunctie op de DataFramecomponents_dfom rij3te selecteren. Ken het resultaat toe aancomponent. - Roep de methode
.nlargest()aan opcomponenten print het resultaat. Dit geeft de vijf woorden met de hoogste waarden voor die component.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Import pandas
import pandas as pd
# Create a DataFrame: components_df
components_df = ____
# Print the shape of the DataFrame
print(components_df.shape)
# Select row 3: component
component = ____
# Print result of nlargest
print(component.nlargest())