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)