1.统计相关,平均值,方差
平均值公式如下:
平均值即是对所有的数据进行求和,然后除以总的数据个数,算法以JS实现如下:
function Mean([...data]){
let total =0;
for(let i=0;i<data.length;i++){
total+=data[i];
}
return total/data.length;
}
函数实现代码如上
除了对于均值进行求值,我们还会对含有权重的值进行求解均值,这又被称为加权平均
其公式如下:
,这个公式中含有两个数据集,一个是数据集,一个是权重集,由公式我们可以写出如下的代码:
function WeightMean([...data],[...weight]){
if(data.length==weight.length){
let STotal;
for(let i=0;i<data.length;i++){
STotal+=((weight[i]*data[i])/weight[i])
}
}else{
throw Error();
}
return STotal;
}
方差(又称为标准差)是描述数据散布的程度的,低标准差意味着所有的数据很靠近均值,而高标准差意味着数据散布在一个很大的值域之中
由以上的公式,我们可以得到如下的代码
function variance([...data]){
let mean = Mean(data),Total=0;
for(let i=0;i<data.length;i++){
total+=(data[i]-mean)**2;
}
return total/data.length;
}
以上代码为计算方差的,而方差在经过开方计算后,就可得到标准差。
数据的相异性可以用向量当中的求模运算进行计算,也可用欧几里得距离或是曼哈顿距离公式进行计算,矩阵的求模公式在此就不表了,我要介绍的是另外一个用来形容数据之前的差异性的算法。
我们如果要确定两篇文章是不是同一篇文章,相似度有多高,我们就可以将两篇文章进行取词计算词语出现的次数,由此,我们可以引出词频向量。词频向量的余弦相似性,这和我们学习向量的求模公式如出一辙。
公式如下
x就当作来自文章A的词频向量,而y就可当作来自文章B的词频向量
我们可以根据如上的公式对两个文章进行相似性的比对,其代码如下
function sim([...x],[...y]){
let total=[]
if(x.length==y.length){
for(let i=0;i<x.length;i++){
total[0]+=Math.sqrt(x[i]**2);
total[1]+=Math.sqrt(y[i]**2);
total[3]+=x[i]*y[i];
}
return total[3]/total[0]*total[1];
}else{
throw Error();
}
}
要点:
1.数据集由数据对象组成。数据对象代表实体
二元属性表示仅有两种状态,非此即彼。如果两种状态同等重要,那么就说这两个属性是对称的,否则为不对称的。