from sklearn.cluster import KMeans
import numpy as np
import matplotlib.pyplot as plt
from pandas import Series
import random
from sklearn.metrics import silhouette_samples, silhouette_score
import time
def pressure_cluster(n_clusters,pressure_array):
'''
n_clusters是要聚类的类数
pressure_array是要进行聚类的压力数据数组
'''
data_set = np.array(pressure_array).reshape(-1,1)
clf1 = KMeans(n_clusters=n_clusters) #调用KMeans算法
y_pred = clf1.fit_predict(data_set) #加载数据集合
silhouette_avg = silhouette_score(data_set,clf1.labels_ )
sample_silhouette_values = silhouette_samples(data_set,clf1.labels_)
# print(silhouette_avg)
cluster_res_label = clf1.labels_
data_set_df=Series(pressure_array,index=cluster_res_label)
pressure_ctr=[]
pressure_out=[]
#算出每一个类别的均值和方差,取mean+2*std,作为该类别的值
for i in range(n_clusters):
pressure_ctr.append(data_set_df[i].mean()&#
基于Sklearn原生Kmeans算法的自动化聚类
最新推荐文章于 2024-06-19 20:16:31 发布