您现在的位置 > 首页>知识问答 >

码农问题,求助kMeans相关

点击图片查看下一页
查看原图
更新:07-12     编辑:     来源:    
  • 不是算法问题。。
    kMeans算法聚类函数kMeans(dataSet, k, distMeas=distEclud, createCent=randCent),其中dataSet要求是二维列表,我读取的CSV文件,结果里边每行有5个数据,怎么处理?
    代码如下:
    datMat =pd.read_csv("D:/mypython/xxx.csv")
    datMat=np.mat(datMat)
    datMat[:3,:]


    myCentroids,clustAssing=kMeans.kMeans(datMat,3)

    报错如下
    TypeError                                 Traceback (most recent call last) in ()     12      13 ---> 14 myCentroids,clustAssing=kMeans.kMeans(datMat,3)     15      16 D:\mypython\kMeans.pyc in kMeans(dataSet, k, distMeas, createCent)     31     clusterAssment = mat(zeros((m,2)))#create mat to assign data points     32                                       #to a centroid, also holds SE of each point---> 33     centroids = createCent(dataSet, k)     34     clusterChanged = True     35     while clusterChanged:D:\mypython\kMeans.pyc in randCent(dataSet, k)     23     for j in range(n):#create random cluster centers, within bounds of each dimension     24         minJ = min(dataSet[:,j])---> 25         rangeJ = float(max(dataSet[:,j]) - minJ)     26         centroids[:,j] = mat(minJ + rangeJ * random.rand(k,1))     27     return centroidsTypeError: unsupported operand type(s) for -: "str" and "str"
    -----------------打印datMat结果如下:

    [[5.1 3.5 1.4 0.2 "setosa"] [4.9 3.0 1.4 0.2 "setosa"] [4.7 3.2 1.3 0.2 "setosa"] [4.6 3.1 1.5 0.2 "setosa"] [5.0 3.6 1.4 0.2 "setosa"] [5.4 3.9 1.7 0.4 "setosa"] [4.6 3.4 1.4 0.3 "setosa"] [5.0 3.4 1.5 0.2 "setosa"] [4.4 2.9 1.4 0.2 "setosa"] [4.9 3.1 1.5 0.1 "setosa"] [5.4 3.7 1.5 0.2 "setosa"] [4.8 3.4 1.6 0.2 "setosa"] [4.8 3.0 1.4 0.1 "setosa"] [4.3 3.0 1.1 0.1 "setosa"] [5.8 4.0 1.2 0.2 "setosa"] [5.7 4.4 1.5 0.4 "setosa"] [5.4 3.9 1.3 0.4 "setosa"] [5.1 3.5 1.4 0.3 "setosa"] [5.7 3.8 1.7 0.3 "setosa"] [5.1 3.8 1.5 0.3 "setosa"] [5.4 3.4 1.7 0.2 "setosa"] [5.1 3.7 1.5 0.4 "setosa"] [4.6 3.6 1.0 0.2 "setosa"] [5.1 3.3 1.7 0.5 "setosa"] [4.8 3.4 1.9 0.2 "setosa"] [5.0 3.0 1.6 0.2 "setosa"] [5.0 3.4 1.6 0.4 "setosa"] [5.2 3.5 1.5 0.2 "setosa"] [5.2 3.4 1.4 0.2 "setosa"] [4.7 3.2 1.6 0.2 "setosa"] [4.8 3.1 1.6 0.2 "setosa"] [5.4 3.4 1.5 0.4 "setosa"] [5.2 4.1 1.5 0.1 "setosa"] [5.5 4.2 1.4 0.2 "setosa"] [4.9 3.1 1.5 0.1 "setosa"] [5.0 3.2 1.2 0.2 "setosa"] [5.5 3.5 1.3 0.2 "setosa"] [4.9 3.1 1.5 0.1 "setosa"] [4.4 3.0 1.3 0.2 "setosa"] [5.1 3.4 1.5 0.2 "setosa"] [5.0 3.5 1.3 0.3 "setosa"] [4.5 2.3 1.3 0.3 "setosa"] [4.4 3.2 1.3 0.2 "setosa"] [5.0 3.5 1.6 0.6 "setosa"] [5.1 3.8 1.9 0.4 "setosa"] [4.8 3.0 1.4 0.3 "setosa"] [5.1 3.8 1.6 0.2 "setosa"] [4.6 3.2 1.4 0.2 "setosa"] [5.3 3.7 1.5 0.2 "setosa"] [5.0 3.3 1.4 0.2 "setosa"] [7.0 3.2 4.7 1.4 "versicolor"] [6.4 3.2 4.5 1.5 "versicolor"] [6.9 3.1 4.9 1.5 "versicolor"] [5.5 2.3 4.0 1.3 "versicolor"] [6.5 2.8 4.6 1.5 "versicolor"] [5.7 2.8 4.5 1.3 "versicolor"] [6.3 3.3 4.7 1.6 "versicolor"] [4.9 2.4 3.3 1.0 "versicolor"] [6.6 2.9 4.6 1.3 "versicolor"] [5.2 2.7 3.9 1.4 "versicolor"] [5.0 2.0 3.5 1.0 "versicolor"] [5.9 3.0 4.2 1.5 "versicolor"] [6.0 2.2 4.0 1.0 "versicolor"] [6.1 2.9 4.7 1.4 "versicolor"] [5.6 2.9 3.6 1.3 "versicolor"] [6.7 3.1 4.4 1.4 "versicolor"] [5.6 3.0 4.5 1.5 "versicolor"] [5.8 2.7 4.1 1.0 "versicolor"] [6.2 2.2 4.5 1.5 "versicolor"] [5.6 2.5 3.9 1.1 "versicolor"] [5.9 3.2 4.8 1.8 "versicolor"] [6.1 2.8 4.0 1.3 "versicolor"] [6.3 2.5 4.9 1.5 "versicolor"] [6.1 2.8 4.7 1.2 "versicolor"] [6.4 2.9 4.3 1.3 "versicolor"] [6.6 3.0 4.4 1.4 "versicolor"] [6.8 2.8 4.8 1.4 "versicolor"] [6.7 3.0 5.0 1.7 "versicolor"] [6.0 2.9 4.5 1.5 "versicolor"] [5.7 2.6 3.5 1.0 "versicolor"] [5.5 2.4 3.8 1.1 "versicolor"] [5.5 2.4 3.7 1.0 "versicolor"] [5.8 2.7 3.9 1.2 "versicolor"] [6.0 2.7 5.1 1.6 "versicolor"] [5.4 3.0 4.5 1.5 "versicolor"] [6.0 3.4 4.5 1.6 "versicolor"] [6.7 3.1 4.7 1.5 "versicolor"] [6.3 2.3 4.4 1.3 "versicolor"] [5.6 3.0 4.1 1.3 "versicolor"] [5.5 2.5 4.0 1.3 "versicolor"] [5.5 2.6 4.4 1.2 "versicolor"] [6.1 3.0 4.6 1.4 "versicolor"] [5.8 2.6 4.0 1.2 "versicolor"] [5.0 2.3 3.3 1.0 "versicolor"] [5.6 2.7 4.2 1.3 "versicolor"] [5.7 3.0 4.2 1.2 "versicolor"] [5.7 2.9 4.2 1.3 "versicolor"] [6.2 2.9 4.3 1.3 "versicolor"] [5.1 2.5 3.0 1.1 "versicolor"] [5.7 2.8 4.1 1.3 "versicolor"] [6.3 3.3 6.0 2.5 "virginica"] [5.8 2.7 5.1 1.9 "virginica"] [7.1 3.0 5.9 2.1 "virginica"] [6.3 2.9 5.6 1.8 "virginica"] [6.5 3.0 5.8 2.2 "virginica"] [7.6 3.0 6.6 2.1 "virginica"] [4.9 2.5 4.5 1.7 "virginica"] [7.3 2.9 6.3 1.8 "virginica"] [6.7 2.5 5.8 1.8 "virginica"] [7.2 3.6 6.1 2.5 "virginica"] [6.5 3.2 5.1 2.0 "virginica"] [6.4 2.7 5.3 1.9 "virginica"] [6.8 3.0 5.5 2.1 "virginica"] [5.7 2.5 5.0 2.0 "virginica"] [5.8 2.8 5.1 2.4 "virginica"] [6.4 3.2 5.3 2.3 "virginica"] [6.5 3.0 5.5 1.8 "virginica"] [7.7 3.8 6.7 2.2 "virginica"] [7.7 2.6 6.9 2.3 "virginica"] [6.0 2.2 5.0 1.5 "virginica"] [6.9 3.2 5.7 2.3 "virginica"] [5.6 2.8 4.9 2.0 "virginica"] [7.7 2.8 6.7 2.0 "virginica"] [6.3 2.7 4.9 1.8 "virginica"] [6.7 3.3 5.7 2.1 "virginica"] [7.2 3.2 6.0 1.8 "virginica"] [6.2 2.8 4.8 1.8 "virginica"] [6.1 3.0 4.9 1.8 "virginica"] [6.4 2.8 5.6 2.1 "virginica"] [7.2 3.0 5.8 1.6 "virginica"] [7.4 2.8 6.1 1.9 "virginica"] [7.9 3.8 6.4 2.0 "virginica"] [6.4 2.8 5.6 2.2 "virginica"] [6.3 2.8 5.1 1.5 "virginica"] [6.1 2.6 5.6 1.4 "virginica"] [7.7 3.0 6.1 2.3 "virginica"] [6.3 3.4 5.6 2.4 "virginica"] [6.4 3.1 5.5 1.8 "virginica"] [6.0 3.0 4.8 1.8 "virginica"] [6.9 3.1 5.4 2.1 "virginica"] [6.7 3.1 5.6 2.4 "virginica"] [6.9 3.1 5.1 2.3 "virginica"] [5.8 2.7 5.1 1.9 "virginica"] [6.8 3.2 5.9 2.3 "virginica"] [6.7 3.3 5.7 2.5 "virginica"] [6.7 3.0 5.2 2.3 "virginica"] [6.3 2.5 5.0 1.9 "virginica"] [6.5 3.0 5.2 2.0 "virginica"] [6.2 3.4 5.4 2.3 "virginica"] [5.9 3.0 5.1 1.8 "virginica"]]




    网友评论:

    这是数据格式。是不是要用矩阵分割处理为花萼长、宽和花瓣的长、宽。再进行聚类处理?

    1.jpg(45.05 KB, 下载次数: 0)

    下载附件

    2017-6-21 19:09 上传

    1.jpg(45.05 KB, 下载次数: 0)

    下载附件

    2017-6-21 19:09 上传

    最后一栏string映射成数值吧
    逐行调试
    助教答复了,是列两两组合后聚类,类名应该不用管
    这是《机器学习系统设计》吧?
    这书我看的时候里面代码有很多错误的地方……楼主自己改一下
    Iris 这个dataset 真是怎么用都用不腻啊233333

    — from LGE Nexus 5X, Android 7.1.2 of Next Goose v1.2.1
    农你大爷
    你知道吗,在业界「程序员」已经是趋向贬义的词了。希望国已经下定论了,「程序员」与「软件工程师」是两个不同的职业,前者是办不了 H1B 的。

    提个微小的建议,如果今后你遇到这种寻求专业指导的问题:

    1. 不要在 发,去专业性更强的论坛发,比如 v2ex。
    2. 贴代码请用 Gist。
    3. 你直接把报错信息贴出来是什么意思?是看不懂报错还是不知道怎么分析错误信息?你说的不懂怎么做是哪里不懂?提问要确切精准,而且得让人知道你的确是做过努力尝试解决但是 block 住了,这样他人才会愿意帮助你。
    4. 标题不要带「码农」字样,我之前是抱着看你钓鱼的心态进来的。

    我觉得作为一个写代码的,最重要的专业技能是沟通技能。

    这就是个破实验,要毕业了,搞不定会死。懒得去其他地方啦,万能
    先搞定目前的东西,以后再说,俺们拖延症都是这样子的啦
    哎哟拖延了2天,结果这破玩意最多花1小时搞定。完成矩阵的分割形成两两特征组合的二维矩阵作为kmeans函数的第一个参数就解决了。无压力
    特么又卡住了,兰德指数怎么求求助

    http://img.blog.csdn.net/2017042 ... 0/gravity/SouthEast、
    里边a和b是对数?a和b怎么算的?
    @UncleCat  @vega13
    图里写的很清楚了吧,聚类结果跟实际标签取个交集取个xor



    — from motorola XT1095, Android 6.0 of Next Goose v1.2.1

    问了人后懂了。。刷的多精神涣散,注意力不集中脑子容易短路
    早上折腾2小时总算搞定,吐槽一下python的for循环真jb蛋疼。。。为了和C等语言一样弄个i,j 。还得写成for i in range(xxxx)。二重循环就更蛋疼了,for j in range(xxxx),在i的基础上生成j 。可读性真差,想了半天

    然而c++11引入了python这样的for循环。。。

    —— 来自 OnePlus ONEPLUS A3000, Android 7.1.1上的
    python的for类似于别的语言里的foreach了

    这个没啥,很多语言都有foreach,不是这个问题啊,关键python只支持这种foreach。。没有普通的for才蛋疼

相关推荐

精彩图集

一品图片网部分图片资源收集于互联网,如果侵犯了您的版权请来信告知,我们会及时处理和回复,邮件地址:
© 2021 一品图片网 版权所有 苏ICP备150288886号 | sitemap | 图片大全