Python 循环辅助的K-均值
在我下面的代码中,当试图重新运行代码时,我是否会像这样使用for循环 范围(2,11)内x的Python 循环辅助的K-均值,python,k-means,Python,K Means,在我下面的代码中,当试图重新运行代码时,我是否会像这样使用for循环 范围(2,11)内x的: kmeans=kmeans().setK(x).setSeed(1) model=kmeans.fit(数据集) 下面是我的代码的其余部分,我确实觉得我在这里把自己弄糊涂了 来自pyspark.ml.KMeans 从pyspark.ml.evaluation导入ClusteringEvaluator dataset=spark.read.format(“libsvm”).load(“/FileSto
:
kmeans=kmeans().setK(x).setSeed(1)
model=kmeans.fit(数据集)
下面是我的代码的其余部分,我确实觉得我在这里把自己弄糊涂了
来自pyspark.ml.KMeans
从pyspark.ml.evaluation导入ClusteringEvaluator
dataset=spark.read.format(“libsvm”).load(“/FileStore/tables/colon\u-ecfbf.txt”)
对于范围(2,11)内的x:
kmeans=kmeans().setK(x).setSeed(1)
model=kmeans.fit(数据集)
预测=model.transform(数据集)
evaluator=ClusteringEvaluator()
轮廓=评估器。评估(预测)
打印(“具有平方欧几里德距离的轮廓=“+str(轮廓))
centers=model.clusterCenters()
打印(“群集中心:”)
对于中心中的中心:
打印(中间)
下面是我做的一个缩进修复,可以修复代码并使其能够运行,模拟x值2,3,4,5,6,7,8,9,10
from pyspark.ml.clustering import KMeans
from pyspark.ml.evaluation import ClusteringEvaluator
dataset = spark.read.format("libsvm").load("/FileStore/tables/colon_cancer-ecfbf.txt")
for x in range(2, 11):
kmeans = KMeans().setK(x).setSeed(1)
model = kmeans.fit(dataset)
predictions = model.transform(dataset)
evaluator = ClusteringEvaluator()
silhouette = evaluator.evaluate(predictions)
print("Silhouette with squared euclidean distance = " + str(silhouette))
centers = model.clusterCenters()
print("Cluster Centers: ")
for center in centers:
print(center)
此缩进方案启用以下行:
kmeans = KMeans().setK(x).setSeed(1)
model = kmeans.fit(dataset)
predictions = model.transform(dataset)
evaluator = ClusteringEvaluator()
silhouette = evaluator.evaluate(predictions)
print("Silhouette with squared euclidean distance = " + str(silhouette))
centers = model.clusterCenters()
print("Cluster Centers: ")
for center in centers:
print(center)
为上面列表中的每个x值运行。现在,此代码甚至不会按原样运行。你想做什么,你得到了什么错误,你期望什么?嗨,杰瑞,我得到了一个“缩进错误:期望一个缩进块”。编辑:我忘了缩进,我觉得这里很愚蠢。谢谢你的帮助,杰瑞!你好,罗伯特巴图洛维奇。如果我下面的解决方案解决了您的问题,请务必接受,以便其他人可以使用它。