如何处理聚类中的missing data

  统计/机器学习 无监督学习 数据预处理    浏览次数:6602        分享
1

我现在对一个数据作clustering,missing data特别多,missing data有分类,也有实数。

我现在处理的方法是:

1.填一个固定值,比如100,表示它是missing data

2.填所在变量的均值

3.用SVDmiss填值。

4.在两点算距离时,忽略出现nan的变量。比如x1=(1,2,3),x2=(2,nan,4),dist(x1,x2)=sqrt((1-2)^2+(3-4)^2)。

请问大家还有什么思路。


 

Zealing   2018-03-19 20:18



   3个回答 
5

可以试试k POD

k POD类似于k Means,但是可以处理missing

方法大概是这个思路

1. 先只用完整的数据进行聚类

2. 然后根据聚类的结果,用一个聚类中的均值来代替这个聚类中的缺失值

3. 用填充好的数据,再聚类,然后根据新的聚类,重新再填充缺失值

4. 然后再聚类,反复进行

SofaSofa数据科学社区DS面试题库 DS面经

宽宽   2018-03-26 09:11

这个感觉挺有意思 - WinJ   2019-06-11 10:55
1

参考一下这个训练集中含有缺失值,一般怎么处理

SofaSofa数据科学社区DS面试题库 DS面经

木子周   2018-03-19 22:12

1

一般不就是上来二话不说,删了。

要么对于离散的,可以用朗格朗日插值,就是插值法,或者中值众数中位数填充。还可以用模型对缺失值进行预测。

对于缺失值达到一半左右的,直接把缺失和不缺失做二分类。

SofaSofa数据科学社区DS面试题库 DS面经

陈十一   2018-03-20 10:46



  相关讨论

数据预处理中,都有哪些方法能够处理缺失值(missing value)

怎么对dataframe中的某一列groupby求缺失值的个数?

训练集中有的特征含有缺失值,一般怎么处理

如何判断缺失值是否是随机的缺失?

dataframe每行或者每列中缺失值(na, nan, null)的个数

怎样处理具有大标签的数据?以及标签数据缺失怎么处理?

决策树或者随机森林能够直接处理missing data吗?

pandas DataFrame中去掉缺失值多于50%的列

pandas里有没有类似于sql里coalesce的函数来处理缺失值?

怎么利用python对时间序列中缺失值进行线性插值?

  随便看看

pandas.DataFrame里的loc和iloc什么区别?

plt.scatter plot怎么让不同的类别有不同的颜色

R里线性回归结果中最后的F-statistic什么意思?有什么用?

如果数据不是正态分布,能用3sigma原则剔除异常值吗?

神经网络中的dense和sparse是什么意思?