Source code for alpenglow.utils.FactorModelReader

import alpenglow.Getter as ag
import pandas as pd


[docs]def readFactorModel(file, dimensions): """Utility for reading binary models --saved by online experiments-- into pandas DataFrames. """ r = ag.FactorModelReader() uif = r.read(file, dimensions) users = [] user_factors = [] for f in uif.user_factors: users.append(f.entity) user_factors.append(f.factors) items = [] item_factors = [] for f in uif.item_factors: items.append(f.entity) item_factors.append(f.factors) user_df = pd.DataFrame.from_records(user_factors, columns=range(1, dimensions + 1)) user_df['user'] = users user_df.set_index('user', inplace=True) item_df = pd.DataFrame.from_records(item_factors, columns=range(1, dimensions + 1)) item_df['item'] = items item_df.set_index('item', inplace=True) return (user_df, item_df)