繁体   English   中英

在 Python 中使用余弦相似度估算向量的值

[英]Impute values of a vector using Cosine similarity in Python

情景

我有一个数据集,其最后一列包含 NaN 值,需要仅使用向量余弦和皮尔逊相关性进行估算; 之后,数据将被进一步用于聚类。

问题

我的情况必须使用VECTOR COSINEPEARSON CORELATION

这是我的数据集post_df1的一大块,它是使用Pandas从 csv 中获取的

       uid     iid       rat
1    303.0   785.0  3.000000
2    291.0  1042.0  4.000000
3    234.0  1184.0  2.000000
4    102.0   768.0  2.000000
254  944.0   170.0  5.000000
255  944.0   171.0  5.000000
256  944.0   172.0       NaN
257  944.0   173.0       NaN
258  944.0   174.0       NaN

现在使用此命令将其带入 Vector(只是为了方便起见,需要建议)

vect_1 = post_df1.iloc[:, 2].values

然而,使用sklearn.preprocessing的名为Imputer的类有Mean, Median & Most frequent方法可用,但根据我的场景不会工作。

问题

  1. 对于 Vector Cosine & Pearson mehtod ,除了SurPRISE (由 Nicholas Hug编写)还有其他包
  2. 是否可以在 sklearn 中为余弦和皮尔逊传递函数/方法?
  3. 还有其他方法/出路吗?

Cosine silirality 和 Pearson 相关性只是插补方法中的参数,而不是插补方法。 有多种插补方法,例如 KNN、MICE、SVD 和矩阵分解。 例如,可以使用cosine silirality作为插补方法的一个KNN的参数,但找不到它的实现本身。 fancyimpute包作为具有接近实现的包可能会有所帮助。 以下是链接。 GitHub -hammerlab/fancyimpute: 在 Python 中实现的多元插补和矩阵补全算法https://github.com/hammerlab/fancyimpute/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM