ImportError: cannot import name 'evaluate' ( from surprise import evaluate )
ImportError: cannot import name 'evaluate' ( from surprise import evaluate )
from surprise import Reader, Dataset, SVD
from surprise import evaluate
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-12-6d771df269b8> in <module>()
----> 1 from surprise import evaluate
ImportError: cannot import name 'evaluate'
第一行,from surprise import Reader, Dataset, SVD 工作正常。
就是这样,它无法从 surprise 包中导入评估。
我已经使用 conda 安装了 scikit-surprise。
我认为它已安装成功。
根据文档,evaluate()
方法是 deprecated in version 1.0.5 (functionally replaced by model_selection.cross_validate()
) and was removed in version 1.1.0,这很可能是您安装的方法。
自 2020 年 1 月起,改为执行以下操作...
from surprise import SVD
from surprise import Dataset
from surprise.model_selection import cross_validate
# Load the dataset (download it if needed)
data = Dataset.load_builtin('ml-100k')
# Use the famous SVD algorithm
algo = SVD()
# Run 5-fold cross-validation and then print results
cross_validate(algo, data, measures=['RMSE', 'MAE'], cv=5, verbose=True)
如@merv 所述,evaluate()
方法在 1.0.5 版中已弃用。这是一个使用 scikit-surprise==1.1.1
:
测试的工作示例
import pandas as pd
from surprise import SVD, Reader
from surprise import Dataset
from surprise.model_selection import cross_validate
reader = Reader()
csv = pd.read_csv('yourdata.csv')
# Loading local dataset
data = Dataset.load_from_df(csv, reader)
# Use SVD algorithm or other models
model = SVD()
# cross-validation with no. of kfold=5 (can be changed per your need)
cross_validate(model, data, measures=['rmse', 'mae'], cv=5)
训练模型
data_train = data.build_full_trainset()
model.fit(data_train)
预测
model.predict(uid=<e.g. 1>, iid=<e.g. 2>)
您可以阅读 documentation 了解更多详情。
from surprise import Reader, Dataset, SVD
from surprise import evaluate
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-12-6d771df269b8> in <module>()
----> 1 from surprise import evaluate
ImportError: cannot import name 'evaluate'
第一行,from surprise import Reader, Dataset, SVD 工作正常。 就是这样,它无法从 surprise 包中导入评估。
我已经使用 conda 安装了 scikit-surprise。 我认为它已安装成功。
根据文档,evaluate()
方法是 deprecated in version 1.0.5 (functionally replaced by model_selection.cross_validate()
) and was removed in version 1.1.0,这很可能是您安装的方法。
自 2020 年 1 月起,改为执行以下操作...
from surprise import SVD
from surprise import Dataset
from surprise.model_selection import cross_validate
# Load the dataset (download it if needed)
data = Dataset.load_builtin('ml-100k')
# Use the famous SVD algorithm
algo = SVD()
# Run 5-fold cross-validation and then print results
cross_validate(algo, data, measures=['RMSE', 'MAE'], cv=5, verbose=True)
如@merv 所述,evaluate()
方法在 1.0.5 版中已弃用。这是一个使用 scikit-surprise==1.1.1
:
import pandas as pd
from surprise import SVD, Reader
from surprise import Dataset
from surprise.model_selection import cross_validate
reader = Reader()
csv = pd.read_csv('yourdata.csv')
# Loading local dataset
data = Dataset.load_from_df(csv, reader)
# Use SVD algorithm or other models
model = SVD()
# cross-validation with no. of kfold=5 (can be changed per your need)
cross_validate(model, data, measures=['rmse', 'mae'], cv=5)
训练模型
data_train = data.build_full_trainset()
model.fit(data_train)
预测
model.predict(uid=<e.g. 1>, iid=<e.g. 2>)
您可以阅读 documentation 了解更多详情。