连续数据的离散化

1.分段类散
同步pandas.cut对值进行分段划分,进行离散化。类散化后是分段的index。

import pandas as pd
data = [1,3,6,20,50,100]
w =[0,10,50,100]
v=5
data_cut1 = pd.cut(data,w,labels=False)
data_cut2=pd.cut(data,v,labels=False)
print(data_cut1)
print(data_cut2)


2.频率离散化
按照频率划分到不同的区间中

import pandas as pd
data = pd.Series([0,1,6,7,2,10,8,22,5,11,10])
data_cut3 = pd.qcut(data,[0,0.5,1],labels=['1','2'])
print(data_cut3)


3.聚类离散
可以通过Kmeans进行离散划分
 

data = np.random.rand(100,1)
print(data)
estimator = KMeans(n_clusters=3) #分为3个簇
estimator.fit(data)
label_pred = estimator.labels_ #每个样本所属的簇
print(label_pred)
centroids = estimator.cluster_centers_ #3个中心点
print(centroids)
inertia = estimator.inertia_    #评估簇是否合适
print(inertia)

 

你可能感兴趣的:(机器学习,离散化,分段,机器学习)