错误:K均值聚类算法数据图在Python中不可见
嗨,我想实现K-Means聚类算法 为此,我从sample.csv文件中获取数据,并对其应用K-Means聚类。这是我的源代码 ##K-Means.py错误:K均值聚类算法数据图在Python中不可见,python,python-3.x,machine-learning,k-means,Python,Python 3.x,Machine Learning,K Means,嗨,我想实现K-Means聚类算法 为此,我从sample.csv文件中获取数据,并对其应用K-Means聚类。这是我的源代码 ##K-Means.py # clustering dataset import pandas from sklearn.cluster import KMeans from sklearn import metrics import numpy as np import matplotlib.pyplot as plt variables = pandas.rea
# clustering dataset
import pandas
from sklearn.cluster import KMeans
from sklearn import metrics
import numpy as np
import matplotlib.pyplot as plt
variables = pandas.read_csv("/Users/srikanth/Desktop/sample1.csv")
print(variables)
x1 = variables[['X']]
x2 = variables[['Y']]
print(x1)
print(x2)
plt.plot()
plt.xlim([0, 10])
plt.ylim([0, 10])
plt.title('Dataset')
plt.xlabel('X - Values')
plt.ylabel('Y - Values')
plt.scatter(x1, x2)
plt.show()
# create new plot and data
plt.plot()
X = np.array(list(zip(x1, x2))).reshape(len(x1), 2)
colors = ['b', 'g', 'r']
markers = ['o', 'v', 's']
# KMeans algorithm
K = 3
kmeans_model = KMeans(n_clusters=K).fit(X)
plt.plot()
for i, l in enumerate(kmeans_model.labels_):
plt.plot(x1[i], x2[i], color=colors[l], marker=markers[l],ls='None')
plt.xlim([0, 10])
plt.ylim([0, 10])
plt.show()
在终端中运行上述代码后,输出如下:
上图没有显示任何聚集数据图,因此我希望直观地看到我的聚集数据图。我怎样才能解决这个问题。
我对这个地区不熟悉。
多谢各位
它为10个点产生的散射为:
对于使用kmeans集群模型的代码,您正在为模型中的每个标签进行打印,该模型将生成10个打印。只要改变限制就行了。如果你说的是第一次分散,我想你必须改变限制。因为数据位于([150190])和([4090])之间的位置最多只有10个。顺便说一句,你在循环中有一个plot,你是plot.show for every point???。顺便说一句,你不是在实现K-means,你只是想使用一个现有的实现(scikit learn在这里)…@desertnaut抱歉,谢谢你指出这一点。我是这个地区的新手。非常欢迎你-不用担心,继续…非常感谢你的工作。但我改变了极限值,如plt.xlim([100150])plt.ylim([40,60]),再次运行这些值后,它没有显示任何图,即使值46,52,55,59,60在Y中可用。我犯了什么错误???@我们不能为图显示任何值,因为x_轴上没有值(对于所选极限)因此它不能在图上画出任何点。谢谢你,也请建议我学习机器学习的任何参考链接。我是这个领域的新手。非常感谢。
from sklearn.cluster import KMeans
from sklearn import metrics
import numpy as np
import matplotlib.pyplot as plt
variables = pandas.read_csv("/Users/srikanth/Desktop/sample1.csv")
print(variables)
x1 = variables[['X']]
x2 = variables[['Y']]
plt.plot()
plt.xlim([150, 190])
plt.ylim([40, 90])
plt.title('Dataset')
plt.xlabel('X - Values')
plt.ylabel('Y - Values')
plt.scatter(x1, x2)
plt.show()