我有一个数据集,其最后一列中有NaN值,需要仅使用Vector Cosine&amp ;;皮尔逊相关;之后,数据将进一步用于聚类。
我的案例必须使用 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
方法,但根据我的情景不会有效。
答案 0 :(得分:1)
Cosine silirality和Pearson相关只是插补法中的参数,而不是插补法。存在各种插补方法,例如KNN,MICE,SVD和矩阵分解。例如,可以使用余弦silirality作为插补方法的一个KNN的参数,但是其实现本身无法找到。 fancyimpute
包作为具有近实现的包可能会有所帮助。以下是链接。 GitHub - hammerlab / fancyimpute:Python中实现的多变量插补和矩阵完成算法https://github.com/hammerlab/fancyimpute/