用python对数据进行聚类

2024-09-30 05:30:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用python和scikit对数据集进行集群。这是我大学的一个练习。数据集如下所示:

StationNr        A1        A2        A3        A4        A5        A6        A7        A8        A9        A10        A11        A12

  
    0        2.45        4.32        3.5      1.89      2.87      4.34      2.67      3.90      3.97       2.61       3.01       2.95
  
  1200       3.01        2.95        3.53     1.8       2.8       4.3       2.67      2.87      2.45       4.32       3.53       2.95            

列“StationNr”具有以下不同的值:
[ 0, 1200, 900, 100, 400, 300, 600, 200, 1100, 500, 1000、800、700]
如果“StationNr”为零,则表示产品质量良好。其他数字的含义是,产品在哪个站被宣布为不良
“A%”列具有以下不同的值,这些列代表一个处理站:
[2.017、1.767、0.987、…、24.083、18.977、4.904]
“A1”大约有4000个不同的值。该值是工作站上处理的持续时间

现在,我想知道,在工作站(A1,A2,A3…,A11,A12)上处理的持续时间是否存在集群,例如单个值或值的组合,其结果是坏的还是好的产品。好的产品有“StationNr”==0,坏的产品有“StationNr”!=0.

我选择k-Means算法来探索数据,我不知道如何将我的练习与python代码中的k-Means结合起来

也许k-Means不是这种情况下最好的算法,如果你能推荐一个更好的算法,我会很高兴的

我对这个话题很陌生,如果你能帮助我对数据进行聚类,我会很高兴的

致意

基督教徒


Tags: 数据算法a2产品a1集群scikita3
1条回答
网友
1楼 · 发布于 2024-09-30 05:30:24

为了聚类,在sklearn中给出的算法几乎超过10种。例如桦树、DBSCAN、K-均值、光谱等。您可以创建一个完整的列表here in the documentation

您只需将数据放入模型并应用fit方法。您还需要设置必要的参数,例如k-means中的集群数

我假设这是一个数据帧,我将它命名为df,因此一个工作示例可以是这样的:

X = df.values

from sklearn.cluster import Birch, KMeans, SpectralClustering, AgglomerativeClustering, DBSCAN

brc = Birch(n_clusters=None) # with int value, it'll perform Agglomerative Clustering
brc.fit(X)
brc.predict(X) # array of points belonging to unique clusters

kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
kmeans.labels_ # array of clusters according to indices

clustering = SpectralClustering(n_clusters=2, assign_labels="discretize",random_state=0).fit(X)
clustering.labels_  # label of each data point belonging to the cluster

clustering = AgglomerativeClustering().fit(X)
clustering.labels_

clustering = DBSCAN(eps=3, min_samples=2).fit(X)
clustering.labels_

一定要让我知道。如果有帮助,请投票并接受答案

相关问题 更多 >

    热门问题