我现在对一个数据作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)。
请问大家还有什么思路。
3个回答
可以试试k POD
k POD类似于k Means,但是可以处理missing
方法大概是这个思路
1. 先只用完整的数据进行聚类
2. 然后根据聚类的结果,用一个聚类中的均值来代替这个聚类中的缺失值
3. 用填充好的数据,再聚类,然后根据新的聚类,重新再填充缺失值
4. 然后再聚类,反复进行
一般不就是上来二话不说,删了。
要么对于离散的,可以用朗格朗日插值,就是插值法,或者中值众数中位数填充。还可以用模型对缺失值进行预测。
对于缺失值达到一半左右的,直接把缺失和不缺失做二分类。
相关主题
数据预处理中,都有哪些方法能够处理缺失值(missing value)
2回答
如何判断缺失值是否是随机的缺失?
2回答
dataframe每行或者每列中缺失值(na, nan, null)的个数
1回答
pandas DataFrame中去掉缺失值多于50%的列
1回答
怎样处理具有大标签的数据?以及标签数据缺失怎么处理?
3回答
python里把数据中某一列中的na,nan,缺失值都替换成0?
1回答
进行K-Means聚类前,需要对数据做怎样的预处理?
1回答
K-MEANS初始点选择的问题
2回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!