首页 > 解决方案 > Pandas DataFrame 构造函数未正确调用

问题描述

作为初学者,我正在尝试本教程...

我看不到,为什么我收到错误

DataFrame constructor not properly called!

我正在使用的代码是:

from surprise import KNNBasic
import pandas as pd
from surprise import Dataset
from surprise import Reader


# Kim rated Star Wars with 1 stars
# Tim rated Star Wars with 5 stars; Tim did no further ratings
movies = ['Star Wars', 'Star Wars', 'GOT', 'GOT', 'South Park', 'South Park',
          'Harry Potter', 'Harry Potter']
rating = [1, 5, 1, 1, 5, 3, 2, 5]
users = ['Kim', 'Tim', 'John', 'Timmy', 'Julian', 'Kim', 'Jimmy', 'Kim'] 


rating_dict = {'user': users,
               'item': movies,
               'rating': rating}

def FriendRecommender(user):
    df = pd.DataFrame(data=rating_dict)
    reader = Reader(rating_scale = (1,5))
    data = Dataset.load_from_df(df[['user', 'item', 'rating']], reader)

    trainset = data.build_full_trainset()
    sim_options = {
            'name': 'cosine',
            'user_based': True
            }

    algo = KNNBasic(sim_options)
    algo.fit(trainset)

    uid = trainset.to_inner_uid(user)
    pred = algo.get_neighbors(uid, 3)

    for i in pred: 
        print(trainset.to_raw_uid(i))

FriendRecommender('Tim')

我认为这一行出了点问题:

df = pd.DataFrame(data=rating_dict)

我查看了这个https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html并尝试了代码的不同变体,但我找不到错误的原因。

大家有什么想法吗?

会很好 :-/

谢谢

标签: pythonpandasscikit-learn

解决方案


推荐阅读