ValueError: установка элемента массива с последовательностью напрямую вызывает ложную ошибку TypeError: только массивы размера 1 могут быть преобразованы в Python скаляры - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть матрица, которая содержит n массивов. Каждый массив представляет некоторые значения, связанные с простой картинкой. Я хочу кластеризовать с помощью KMeans массивы в матрице, но когда я подгоняю модель, я получаю сообщение об ошибке:

TypeError: only size-1 arrays can be converted to Python scalars
ValueError: setting an array element with a sequence.

Это мой код. Что я должен изменить?

import matplotlib.pyplot as plt  
from matplotlib import style 
from sklearn.cluster import KMeans 
from sklearn.datasets.samples_generator import make_blobs
from pymongo import MongoClient
import numpy

model = KMeans(n_clusters=4, random_state=0)

client = MongoClient()
db = client['competitors']
coll = db['competitors_posts_score']

points = []

for u in coll.find():
    for p in u['posts_score']:
        if len(p)==0:
            continue
        points.append(numpy.asarray(p))

X = numpy.asarray([points])

model.fit(X)
...