今天学习了将连续数据离散化的方法,主要有三个:等宽法、等频法、聚类法
等宽法是将数据的值域等分,每个部分拥有相同的宽度,然后为每个部分打上不同的符号或数值进行离散化;
等频法则是要求每个部分的记录数相同;
聚类法则是使用聚类算法比如k-means算法进行聚类获得簇,然后将合并到同一个簇做同一个标记。
三种离散化方法都需要用户指定产生的区间数
书中用K-mean进行数据离散化的代码在python3环境运行时出现了一些错误:
from sklearn.cluster import KMeans #引入KMeans
kmodel = KMeans(n_clusters = k, n_jobs = 4) #建立模型,n_jobs是并行数,一般等于CPU数较好
kmodel.fit(data.reshape((len(data), 1))) #训练模型
c = pd.DataFrame(kmodel.cluster_centers_).sor