[英]Impute values of a vector using Cosine similarity in Python
我有一个数据集,其最后一列包含 NaN 值,需要仅使用向量余弦和皮尔逊相关性进行估算; 之后,数据将被进一步用于聚类。
我的情况必须使用VECTOR COSINE和PEARSON 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
方法可用,但根据我的场景不会工作。
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.