Rom*_*ain 7 python kernel-density scikit-learn
我现在使用scikit learn和python几天,特别是KernelDensity.一旦模型拟合,我想评估新点的概率.方法得分()是为此而做的,但显然不起作用,因为当我输入数组时,条目1数字是输出.我使用score_samples()但它很慢.
我认为这个分数不起作用,但我没有技能可以帮助它.如果您有任何想法,请告诉我
小智 9
没有任何代码很难说,但是:
我们假设您要评估的点保存在数组中,X
并且您有一个核密度估计kde
,因此您调用:
logprobX = kde.score_samples(X)
Run Code Online (Sandbox Code Playgroud)
但要小心,这些是对数的!所以你还需要做:
probX = np.exp(logprobX)
Run Code Online (Sandbox Code Playgroud)
这些值适合您的(最终计算的)直方图。
运行这些行的时间取决于 X 的长度。在我的机器上,计算 7500 点非常快。
小智 8
score()使用score_samples(),如下所示:
return np.sum(self.score_samples(X))
Run Code Online (Sandbox Code Playgroud)
所以,这就是为什么你应该在你的情况下使用score_samples().
归档时间: |
|
查看次数: |
2843 次 |
最近记录: |