- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在使用 sklearn.neighbors
的 KNeighborsClassifier
时遇到了一些问题
我有一个巨大的电影评分文件,其中每一行代表一个用户,每一列代表一部电影。
我想根据他评价过的电影和其他用户的评价向他推荐一部电影(他还没有看过)。
我试过:
model = KNeighborsClassifier(n_neighbors=3)
model.fit(user_rated, others_rated)
suggestList = model.predict_proba(others_unrated)
user_rated 是( float )评级列表others_rated 是 2d 列表,具有相同的电影评级用户已评级,但由不同的用户others_unrated 是二维列表,其中包含当前用户尚未观看的其他用户对电影的评分
我认为问题在于,因为 others_rated 是二维列表,但如果我只将它与其他用户进行比较(使用 others_rated[user_num]
),我将一事无成。使用 model.predict_proba(others_unrated)
如果仅为一个或多个用户插入,我会得到同样的错误,Incompatible dimension for X and Y matrices
。
有什么建议吗?
最佳答案
我不确定你希望完成什么,但让我推断一些事情。
根据这些陈述,在无法访问您的数据文件/数组的情况下,我猜这是您尝试做的正确事情:
import numpy as np
model = KNeighborsClassifier(n_neighbors=3)
model.fit( np.transpose(others_rated),user_rated)
suggestList = model.predict_proba(np.transpose(others_unrated))
我所做的两个更改如下:首先,我几乎可以肯定您在调用 .fit()
时必须交换 X 和 y。如果你不这样做,你的问题就太糟糕了(在数学上)它几乎肯定会失败:你正在尝试训练一个模型来从一个向量中预测一个矩阵(从不多的信息中预测大量的信息)。
其次,按照您提出问题的方式,n_users 应该是列 维度。这是唯一在数学上有意义的事情。调用KNeighborsClassifier.predict_proba(X)
时X的列数必须与之前调用KNeighborsClassifier.fit(X,y)
时X的列数相同>.
关于Python KNeighbors 分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30739262/
我在使用 sklearn.neighbors 的 KNeighborsClassifier 时遇到了一些问题 我有一个巨大的电影评分文件,其中每一行代表一个用户,每一列代表一部电影。 我想根据他评价过
我无法通过 KNeighbors 分类器使用 GridSearchCV。发出 grid.fit(dataImp,y) 时出现以下错误: TypeError: "init() 有一个意外的关键字参数 '
尝试开始使用 Python 的 SciKitLearn 库,但对 NearestNeighbors 分类器和 KNeighbors 分类器之间的区别感到困惑。看起来论点相似但又不完全相同......
我正在使用 scikit-learn NearestNeighbors 寻找最近的邻居,在 people wiki 数据上使用 tfidf。 在我的 .kneighbors() 方法调用中 res =
我是一名优秀的程序员,十分优秀!