栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

多列整数排序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

多列整数排序

您似乎遇到的问题是每一列的比例都不同,因此您很难轻松地将它们组合在一起。可以使用称为增白的技术解决此问题。这涉及到计算每列的平均和标准偏差(您可以在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/
],它将使您能够玩这些技术。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517384.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号