我有一组数据,其中包含代表对象的有趣数字数字。
数据也有CDF作为属性。
import UIKit
let image = UIImage(named: "sample.png")
// Process the image!
var myRGBA = RGBAImage(image: image!)
let avgRed = 122
let avgGreen = 113
let avgBlue = 51
if let unwrapped = myRGBA {
for y in 0..<unwrapped.height {
for x in 0..<unwrapped.width {
let index = y * (myRGBA?.width)! + x
var pixel = myRGBA?.pixels[index]
let redDiff = Int((pixel?.red)!) - avgRed
if (redDiff>0)
{
pixel?.red = UInt8( max(0, min(255,avgRed + redDiff * 5)))
myRGBA?.pixels[index] = pixel!
}
}
}
}
let newImage2 = myRGBA?.toUIImage()
现在,我想使用K-means聚类算法对数据进行聚类。 我可以使用欧几里德距离&#34; X&#34;和&#34; Y&#34;,但我不知道如何衡量两个CDF之间的距离。
有人对此有所了解吗? 谢谢,
答案 0 :(得分:5)
您可以使用Kolmogrov-Smirnof测试 https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
对于相同的https://stat.ethz.ch/R-manual/R-devel/library/stats/html/ks.test.html
,R中有一个功能答案 1 :(得分:0)
此处的作者http://eliassi.org/papers/henderson-sac15.pdf(EP-MEANS:高效的非参数聚类
经验概率分布)表明,采用KS检验统计量并不是一个好主意,因为:
“ KS不考虑以下区域的距离 价值观。例如,具有全部质量的任意两个分布 在单个点上的KS统计量为1(如果这些点是 差异),无论分布有多远。考虑 三个分布,每个分布的质量分别为0、1和100 分别。 KS认为聚类((1,2),(3))与 聚类((1),(2,3)),尽管前者在直观上更好”
他们建议将曲线之间的整个区域(也称为“地球移动者的距离”)用作距离度量标准,并展示其方法的优势。
答案 2 :(得分:0)
Ludecan刚刚显示的应用示例如下:http://www.noamlupu.com/EMD.pdf。
有一个非常明确的经验解释(尽管针对特定领域-政治学)。对于不熟悉所涉及数学的人(例如我自己)可能有用。