我想在Django使用KMeans。。。我的代码是:
from django.db import models
from django.utils import timezone
import sys
from sklearn.cluster import KMeans
from sklearn.metrics import pairwise_distances_argmin_min
# Create your models here.
class tabla (models.Model):
nombre = models.CharField(max_length=35)
comida = models.PositiveSmallIntegerField()
cantidad = models.PositiveSmallIntegerField()
edad = models.PositiveSmallIntegerField()
fecha_publicacion = models.DateTimeField(auto_now_add = True)
def datos(self):
cadena="hola, {0}, {1}, {2}, {3}, {4}"
cadena2="{0} {1} {2}"
cadena2.format(self.cantidad,self.comida,self.edad)
#return cadena.format(self.nombre, self.comida,self.cantidad,self.edad,self.fecha_publicacion)
kmeans = KMeans(n_clusters=3).fit(cadena2)
centroids = kmeans.cluster_centers_
return centroids
def __str__(self):
return self.datos()
还有。。我的结果是:哦,我的问题是。。。 怎么了??在
^{pr2}$我明白…主要问题是:
ValueError: could not convert string to float: '{0} {1} {2}'
[17/Dec/2018 04:51:09] "GET /admin/Gestion/tabla/ HTTP/1.1" 500 316804
嗯。。。 但是如何将字符串转换成十进制数。。。比如:[[1],[2],[3]。。。或者类似的东西(这个部分不知道怎么做)
KMeans
要求您传递一个类似数组的对象,而它看起来像是在传递字符串。你可以试着换与
^{pr2}$假设列表(
self.cantidad,self.comida,self.edad
)中的项是数字而不是字符串,这将起作用。在相关问题 更多 >
编程相关推荐