多列整数排序

多列整数排序,第1张

多列整数排序

您似乎遇到的问题是每一列的比例都不同,因此您很难轻松地将它们组合在一起。可以使用称为增白的技术解决此问题。这涉及到计算每列的平均和标准偏差(您可以在1条SQL语句中执行此 *** 作),然后在选择时将每列缩放为该值:

colSortPos = (colValue-colMean) / colStdev

这样做会使每一列的范围在0左右,标准偏差在+/- 1范围内,+
/-1。这里的问题是,这不是二维问题,因此您需要进行多维思考。因此,我的建议是将欧几里德距离作为您的排序顺序。

SELECt    date,    i,    j,    k,    SQRT( POW((i-@iMean)/@iStdDEv, 2) + POW((j-@jMean)/@jStdDEv, 2) + POW((k-@kMean)/@kStdDEv, 2) )AS    sort_orderFROM    tableORDER BY    sort_order

唯一的问题是,它将问题投影到一维空间上可能会使您错过一些相关性。要解决此问题,我建议使用像K-
means这样的聚类技术,该技术实施起来非常简单,而且速度非常快。这将允许您将日期分组为k个群集,这些群集显示最相似的[
http://en.wikipedia.org/wiki/K-means_clustering
]。如果您有原始数据并想使用这些(和其他)技术,那么我建议您尝试使用weka工具包[
http://www.cs.waikato.ac.nz/ml/weka/
],它将使您能够玩这些技术。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5508699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存