我想计算在给定时间(t)收集的数据集中的方差,我们知道条件和决策属性的频率。
每个条件属性可以采用3个可能的值,而结果包含两个classe属性,如下图所示。我需要的是计算这个给定数据快照的方差。
我也会对示例代码或算法感兴趣。
!
答案 0 :(得分:1)
我认为你最好在“statsOverflow”页面上问这个:)
上面的问题对我来说有点不清楚,但在离散的情况下,您可以使用以下算法计算方差:
data_type getVariance(data_type[] array){
data_type mean = getMean(array);
data_type var = 0;
for(int i =0; i < array.length; i++){
var += getProbabilityOf(array[i])*(array[i]-mean)*(array[i]-mean);
}
return var;
}
data_type getMean(data_type[] array){
data_type mean = 0;
for(int i =0; i < array.length; i++){
mean += getProbabilityOf(array[i], array)*array[i];
}
return mean;
}
double getProbabilityOf(data_type data, data_type[] array){
return [number of appearances of data in array / size of array];
}