楼主: phoesun
3018 8

[问答] 求大神解释kmeans源码的c语言调用 [推广有奖]

  • 1关注
  • 0粉丝

大专生

86%

还不是VIP/贵宾

-

威望
0
论坛币
51 个
通用积分
0
学术水平
0 点
热心指数
5 点
信用等级
0 点
经验
1160 点
帖子
37
精华
0
在线时间
79 小时
注册时间
2013-4-12
最后登录
2016-6-30

楼主
phoesun 发表于 2015-5-10 16:30:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  各位大神好,小弟最近在研究kmeans源码,但是发现各个包里面的kmeans算法都会调用c语言算法包(既在r中他们会直接调用一些dll文件),但是这些dll文件我只能查看到里面的函数名,没法查看他们c语言的源码,及其这些函数的使用方法,

1)比如kmeans函数中kmeans (x, centers, iter.max = 10L, nstart = 1L, algorithm = c("Hartiga-Wong", "Lloyd", "Forgy", "MacQueen"
), trace = FALSE) 后面的这参数algorithm的4个值,所代表的方法,分别是那种方法?
2)源码中使用了这个函数 Z <- .C(C_kmeans_Lloyd, x, m, p, centers = centers, k, c1 = integer(m), iter = iter.max, nc = integer(k), wss = double(k))这个.C(C_kmeans_Lloyd,。。。)函数如何使用的?C_kmeans_Lloyd它代表的c子程序是什么呢?如何使用呢,谢谢各位大神指导
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:kmeans means mean C语言 ans c语言

沙发
phoesun 发表于 2015-5-11 11:03:40
顶起来。。。。。。。。。。。

藤椅
-Batistuta- 发表于 2015-5-11 13:22:31
如果你不是专门学编程的,建议你还是别花时间在这上面,这些问题这么复杂,估计要同时精通R和C语言编程和k-means原理的人才懂回答,如果你实在感兴趣,你可以自己去查一下:R中所有的C源代码都在该函数所在的包里面一个叫str的文件夹里,至于.C()这个函数你可以看看R本身的帮助文档,或者是《R语言编程艺术》,另外,这本书里有提到k-means,但应该不是你要的答案,祝你能成功解决

板凳
phoesun 发表于 2015-5-11 14:48:39
-Batistuta- 发表于 2015-5-11 13:22
如果你不是专门学编程的,建议你还是别花时间在这上面,这些问题这么复杂,估计要同时精通R和C语言编程和k- ...
谢谢,只是对这个好奇,因为知道r是开源的原件我想这个还是应该比较好查,只是自己没找到方法,但是我找的很多函数底层都是调用c,所以我就没法再继续深入这些算法,想自己修改和重写都没法做了,所以还是想看看源码,看看自己能否用r自己的语言写出来

报纸
katymeala 发表于 2015-5-11 23:10:38
R的底层是C C++ FORTRAN 想象下一个数据框调用某行几乎是秒速 不是这种底层语言 R也没法这么普及

地板
phoesun 发表于 2015-5-12 09:28:01
katymeala 发表于 2015-5-11 23:10
R的底层是C C++ FORTRAN 想象下一个数据框调用某行几乎是秒速 不是这种底层语言 R也没法这么普及
你说的很正确,我们研究算法时,还是需要对算法的原理需要有一个清楚的认识,所以我才在这里刨根问底的研究

7
soccy 发表于 2015-5-12 09:43:50
需要下载源码包

8
phoesun 发表于 2015-5-12 09:55:20
soccy 发表于 2015-5-12 09:43
需要下载源码包
谢谢你,请问下具体是怎么操作的呢?或者哪里有相关的资料和你曾经查询过的相关经验过程吗?

9
wzh724823 发表于 2015-7-16 21:49:24
你好,请问你的问题解决了吗?我也正在看kmeans和c50的源码,能否加个qq探讨一下呢?
qq:1002937942

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-17 16:13