Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 关于将数组馈送到K-Means.Fit的问题_Python_Python 3.x_Cluster Analysis_K Means_Databricks - Fatal编程技术网

Python 关于将数组馈送到K-Means.Fit的问题

Python 关于将数组馈送到K-Means.Fit的问题,python,python-3.x,cluster-analysis,k-means,databricks,Python,Python 3.x,Cluster Analysis,K Means,Databricks,我在databricks;从SQL Server数据库中拉入数据。数据很好,我从大得多的dataframe中选择了几个数字字段,并将其放入数组中 在这一行: model = kmeans.fit(dataset) 我得到这个错误: raise ValueError("Params must be either a param map or a list/tuple of param maps, 这是我的密码 import tensorflow as tf import numpy as n

我在
databricks
;从SQL Server数据库中拉入数据。数据很好,我从大得多的
dataframe
中选择了几个数字字段,并将其放入数组中

在这一行:

model = kmeans.fit(dataset)
我得到这个错误:

raise ValueError("Params must be either a param map or a list/tuple of param maps, 
这是我的密码

import tensorflow as tf
import numpy as np
from pyspark.ml.clustering import KMeans
from pyspark.ml.evaluation import ClusteringEvaluator
from pyspark.ml.feature import VectorAssembler
from pyspark.ml.clustering import KMeans


df = spark.read \
    .jdbc("jdbc:sqlxx//sqlxx.database.windows.net:1433;databaseName=name_of_database", "dbo.name_of_table",
          properties={"user": "user", "password": "pwd"})


dataset = df.select('Rat', 'Cat', 'Coup', 'Mat', 'Pr', 'Sp', 'Co', 'Weight', 'DV')

dataset = dataset.fillna(0)

data_array =  np.array(dataset.select('Rat', 'Cat', 'Coup', 'Mat', 'Pr', 'Sp', 'Co', 'Weight', 'DV').collect())


# Loads data.
dataset = data_array

# Trains a k-means model.
kmeans = KMeans().setK(2).setSeed(1)
model = kmeans.fit(dataset)

# Make predictions
predictions = model.transform(dataset)

# Evaluate clustering by computing Silhouette score
evaluator = ClusteringEvaluator()

silhouette = evaluator.evaluate(predictions)
print("Silhouette with squared euclidean distance = " + str(silhouette))

# Shows the result.
centers = model.clusterCenters()
print("Cluster Centers: ")
for center in centers:
    print(center)
当我在Spyder/Anaconda中运行类似的东西时(对于那个环境只有轻微的变化),它运行得很好。
databricks
一定需要一些特别的东西,但我不确定具体需要什么

代码示例来自。

我在这里发现了一些东西:它是关于将数据集转换为密集向量的?这就是我在databricks的世界里运行东西所需要的吗?我觉得所有东西都必须在一个数组中。我在这里发现了一些东西:它是关于将数据集转换为密集向量?这就是我在databricks的世界里运行东西所需要的吗?我觉得一切都必须井然有序。