可能的重复:
如何在 K 均值算法中优化 K
使用 k 均值聚类时如何确定 k?
根据统计指标,我们可以决定 K。如标准差、均值、方差等,或者
有没有简单的方法来选择K-means算法中的K?
预先感谢纳文
我有一个用户及其音乐播放的数据集,每个播放都有位置数据。对于每个用户,我想对他们的播放进行聚类,以查看他们是否在给定位置播放音乐。
我计划使用 sci-kit learn k-means 包,但如何让它处理位置数据,而不是默认的欧几里德距离?
一个它工作的例子真的会对我有帮助!
使用什么系统进行异常检测?
我看到像 Mahout 这样的系统没有列出异常检测,而是列出了分类、聚类、推荐等问题......
任何建议以及教程和代码示例都会很棒,因为我以前没有这样做过。
我在数据帧 df1 上使用了 k-means 聚类算法,结果如下图所示。
library(ade4)
df1 <- data.frame(x=runif(100), y=runif(100))
plot(df1)
km <- kmeans(df1, centers=3)
kmeansRes<-factor(km$cluster)
s.class(df1,fac=kmeansRes, add.plot=TRUE, col=rainbow(nlevels(kmeansRes)))
Run Code Online (Sandbox Code Playgroud)
是否有可能将观察来自哪个集群的信息添加到数据框?
我想从 arules 生成的规则中提取 lhs 项。
例如,
{a,b,c} => {d}
Run Code Online (Sandbox Code Playgroud)
我希望能够提取a,b,c并将其放入字符向量中,以便我可以迭代并根据这些项目进行进一步处理。
目前,我可以考虑解析规则集,将其转换为数据框,然后使用字符操作/正则表达式将这些项目分开。我希望有更好的方法来提取这些项目。
我有数据、时间序列数据,我想估算缺失的数据。我不能使用列的平均值,因为我认为它不适合时间序列数据。所以我想要简单的线性回归来估算它
Day, Price
1 , NaN
2, NaN
3, 1800
4, 1900
5, NaN
6, NaN
7, 2000
8, 2200
Run Code Online (Sandbox Code Playgroud)
这该怎么做 ?
我更喜欢使用 Pandas 来做到这一点,但如果没有其他方法,我可以使用 sklearn 来做到这一点:)
我想计算两个单词列表之间的相似度,例如:
['email','user','this','email','address','customer']
类似于这个列表:
['email','mail','address','netmail']
我希望比另一个列表具有更高的相似度百分比,例如:
['address','ip','network']即使address存在于列表中。
我是数据挖掘领域的博士候选人,我必须使用 ORtools 创建一个全局约束以用于数据挖掘目的。
问题是互联网上缺乏关于使用 CP-Sat 创建自己的全局约束的文档,我不知道如何开始。
我正在尝试使用python和scipy聚类一些数据,但以下代码不能正常工作我不明白:
from scipy.sparse import *
matrix = dok_matrix((en,en), int)
for pub in pubs:
authors = pub.split(";")
for auth1 in authors:
for auth2 in authors:
if auth1 == auth2: continue
id1 = e2id[auth1]
id2 = e2id[auth2]
matrix[id1, id2] += 1
from scipy.cluster.vq import vq, kmeans2, whiten
result = kmeans2(matrix, 30)
print result
Run Code Online (Sandbox Code Playgroud)
它说:
Traceback (most recent call last):
File "cluster.py", line 40, in <module>
result = kmeans2(matrix, 30)
File "/usr/lib/python2.7/dist-packages/scipy/cluster/vq.py", line 683, in kmeans2
clusters = init(data, k)
File "/usr/lib/python2.7/dist-packages/scipy/cluster/vq.py", line …Run Code Online (Sandbox Code Playgroud) 我正在制定一个与确定销售动态相关的项目.这就是我的数据库看起来像http://imagizer.imageshack.us/a/img854/1958/zlco.jpg.有三列:
产品 - 介绍产品组
自产品推出以来的一周时间(周),前26周
Sales_gain - 产品销售如何按周变化
在数据库中有3302个观测值= 127个时间序列
我的目标是将时间序列分组,这些组将向我展示不同的销售动态.在聚类之前,我想使用快速傅立叶变换来改变向量上的时间序列并考虑幅度等,然后使用距离算法和分组产品.
这是我第一次处理FFT和聚类,所以如果有人指出步骤,我将不胜感激,我必须在使用FFT之前/之后对销售动态进行分组.我想在R中执行所有步骤,所以如果有人键入我应该使用哪些程序来执行所有步骤,那将会非常棒.
这就是我的时间序列现在的样子http://imageshack.com/a/img703/6726/sru7.jpg
请注意,我对时间序列分析相对较新(这就是为什么我不能把我的代码放在这里),所以你可以在R中提供的任何清晰度或任何你可以推荐的有效完成这项任务的包都将受到赞赏.
PS而不是FFT我在这里找到了DWT的代码 - > www.rdatamining.com/examples/time-series-clustering-classification但不能在我的数据库和时间序列中使用它(建议R在26周后分析新的时间序列).可以向我解释一下吗?
data-mining ×10
k-means ×4
python ×3
r ×3
scikit-learn ×2
arules ×1
cp-sat ×1
fft ×1
numpy ×1
or-tools ×1
outliers ×1
pandas ×1
scipy ×1
similarity ×1
solver ×1
text-mining ×1
time-series ×1