我正在构建一个系统,根据最适合用户的内容从数据集中推荐一本书。问题是,不仅退还给我一本书,而且还出了很多书。我该如何解决?
代码是这样的:
from sklearn.neighbors._classification import KNeighborsClassifier
import pandas as pd
class SuggestAudiobook:
def __init__(self, book):
model = KNeighborsClassifier()
book = pd.read_csv("dataset.csv", delimiter = ";")
var2 = book.Title
var1 = book[["audioRuntime_converted", "category_converted"]]
var2 = var2.astype('string')
var1 = var1.astype('int')
model.fit(var1, var2)
dataframe = pd.DataFrame(data = {"audioRuntime_converted": book.audioRuntime_converted, "category_converted": book.category_converted})
predictionDataframe = model.predict(dataframe)
print("L'audiobook recommended for you is --> ", predictionDataframe)
结果是这样的:
audiobook recommended for you is' --> ['Catching Fire' 'In Charge of Moonlight' 'Catching Fire' ... 'Born a Crime' 'Born a Crime' 'Born a Crime']
I attach the images of the result obtained:
我将根据数据输入在数据集中包含的书籍中推荐一本书。在这种情况下,数据输入是:audioRuntime_converted
and category_converted
(它们可以在调用该函数的另一个文件中找到)。然后在数据集中我根据这两个字段进行搜索。我确信该过程在另一个项目中应用时是正确的,唯一的问题是输出给了我更多的值而不是一个。
您的数据框中有多行,.predict()函数将为数据集的每一行运行。
So len(predictionDataframe) == len(dataframe)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)