KMeans聚类 – 在SVM中使用创建的聚类

我使用KMeans聚类将数据分成两个聚类,如下所示。

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn import cluster################################################### 加载数据clm = np.genfromtxt('data.csv',delimiter=',', skiprows=1)X = clm[:,(1,12)].astype(float)# 定义KMeans学习器,然后用数据拟合kmeans = cluster.KMeans(n_clusters=2)kmeans.fit(X)# 定义中心点centroids = kmeans.cluster_centers_labels = kmeans.labels_#print(centroids)#print(labels)#设置颜色colors = ["g.", "r."]for i in range(len(X)):    print("坐标:",X[i], "标签:", labels[i])    plt.plot(X[i][0], X[i][1], colors[labels[i]], markersize= 10)# 绘图plt.scatter(centroids[:,0], centroids[:,1], marker = "x", s=150, linewidth = 5, zorder=10)plt.xlabel('读取比例')plt.ylabel('内存使用_读取')plt.xlim(0,100)plt.ylim(ymin=0)plt.show()

enter image description here

在KMeans聚类中,集合S=(x,y)没有标记数据,而在SVM中,集合S的输入是x和目标数据y。我想要做的是在SVM中分别使用创建的聚类。我不确定如何为每个聚类获取X,y。如果您有任何建议,请告诉我。

谢谢。


回答:

不太清楚您想要做什么。如果您想使用聚类分配作为类标签,您可以从y = kmeans.predict(X)中获取y。特征X保持不变。像这样在SVM中使用它们:

y = kmeans.predict(X)svm = SVM()svm.fit(X, y)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注