数据挖掘中如何预处理名义数据属性?

数据集图片我已经对名义数据属性进行了独热编码,但之后我想对数据进行聚类分析,请建议可行的解决方案。我是数据挖掘的新手


回答:

考虑到您没有提供关于您问题的适当信息,而且似乎您对这些概念还不熟悉,我提供了一个基于虚构数据的完整解决方案。您可以从中学习,并获取解决您问题的要点。

我用Python实现,并假设您熟悉skit-learn:

from numpy import arrayfrom sklearn.preprocessing import LabelEncoderfrom sklearn.preprocessing import OneHotEncoderfrom sklearn import cluster# define exampledata = ['cold', 'cold', 'warm', 'cold', 'hot', 'hot', 'warm', 'cold', 'warm', 'hot']values = array(data)print(values)# integer encodelabel_encoder = LabelEncoder()integer_encoded = label_encoder.fit_transform(values)print(integer_encoded)# binary encodeonehot_encoder = OneHotEncoder(sparse=False)integer_encoded = integer_encoded.reshape(len(integer_encoded), 1)onehot_encoded = onehot_encoder.fit_transform(integer_encoded)print(onehot_encoded)# Clustering step:kmeans = cluster.KMeans(n_clusters=3)kmeans.fit(onehot_encoded)print(kmeans.labels_)

以下是结果:

[‘cold’ ‘cold’ ‘warm’ ‘cold’ ‘hot’ ‘hot’ ‘warm’ ‘cold’ ‘warm’ ‘hot’]

[[1. 0. 0.] [1. 0. 0.] [0. 0. 1.] [1. 0. 0.] [0. 1. 0.] [0. 1. 0.] [0. 0. 1.] [1. 0. 0.] [0. 0. 1.] [0. 1. 0.]]

上述数据的聚类标签为:

[1 1 2 1 0 0 2 1 2 0]

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注