Graphlab では、レコメンデーションを提供できるレコメンダー関数を使用するために、フィットネス データの小さなセットを使用しています。データセットにはユーザー ID の列がありますが、アイテム ID の列はありません。代わりに、さまざまなアイテムが列に配置され、それぞれの評価が各ユーザー ID に対応する行に表示されます。Graphlab レコメンダー メソッドを使用するには、ユーザー ID とアイテム ID が必要です。これが私がしたことです:
v = graphlab.SFrame.read_csv('Data.csv')
userId = v["user_id"]
itemId = v["x","y","z","x1","y1","z1"] //x,y,z,x1,y1,z1 are activities that are actually the columns in Data and contains corresponding ratings given by user
sf= graphlab.SFrame({'UserId':userId,'ItemId':itemId})
print sf.head(5)
基本的に、データから user_id 列を抽出し、同じデータから抽出された x、y、z などの列を使用して ItemId の列を作成し、これら 2 つの列だけで別の sframe を作成しようとしました。このコードは、予想どおり 2 列の表形式の sframe になりますが、SFrame で引数を渡す順序と同じ順序ではありません。したがって、出力は最初の列として ItemId を示し、次に UserId を示します。これら2つをsframeで渡す順序を変更しようとしましたが、それでも同じ出力が得られます。誰かがその理由を知っていますか? これにより、推奨メソッドを使用すると、次のエラーが発生するため、さらに問題が発生します。列名 user_id が存在しません。