1. 程式人生 > >連續資料的離散化

連續資料的離散化

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)