方差分析

简介: 方差分析

机器学习策略


1.误差分析


当我们在训练一个模型的时候,如一个猫和狗分类模型,最终得到了90 % 90%90%的精确度,即有10 % 10%10%的错误率。所以我们需要对模型的一些部分做相应调整,才能更好地提升分类的精度。

方法:

1.修改哪些被分类成猫的狗狗图片的标签

2.修改哪些错误分类的大型猫科动物

3.提升图片质量(模糊度)


2.显著性检验


示例:ming开了一家王者荣耀公司。公司分别在成都,北京开设分公司,现在知道2020年二个分公司对应每个月的销售额数据,现在ming想知道那个分公司销售额更大

在这里用平均值去比较,不妥,因为这样的销售额出现实质上是偶然造成的,并不是一种必然。

方法:

假设:两个样本集之间不存在任何区别

结果:在显著性水平a=0.05情况下,p>0.05接受原假设,p值<0.05拒绝原假设。

方法:F值=组间方差与组内方差的比值,查表:F实际值>F查表值,则p<=0.05;F实际值<F查表值 则p>0.05


显著性检验:是用于检测科学实验中实验组与对照组之间是否有差异以及差异是否显著的办法。

一般而言,要把检验的假设称之为原假设,记为H0,把H0对应的假设记为H1。


原理


如果原假设为真,而检验的结论却劝你放弃原假设,此时,我们把这种错误称为第一类错误,出现概率记为a

如果原假设不真,而检验的结论却劝你不要放弃原假设,此时第二类错误,出现概率记为b

通常只限定犯第一类错误的最大概率α, 不考虑犯第二类错误的概率β。我们把这样的假设检验称为显著性检验,概率α称为显著性水平。


案例解释


根据ming开设的王者荣耀公司销售额分析

显著性检验分为参数检验和非参数检验,参数检验要求样本来源于正态总体(服从正态分布)


3.方差分析


方差分析又称“变异数分析或者F检验”,用于两个及两个以上的样本均数差别的显著性检验

(1)实验条件:即不同处理造成的差异,称为组间差异,用变量在各组的均值与总均值之间的偏差平方和的总和表示,记为ssb,组间自由度dfb(自由度为样本量-变量个数)

(2)随机误差,如测量误差造成的差异或个体差异,称为组内差异,用变量在各组的均值与该组内变量值之偏差平方总和表示,ssw组内自由度dfw

总偏差平方和sst=ssb+ssw

(3)用ssw和ssw分别除以各自的自由度,得到均方msw,msb,msb/msw构成F分布。

若F值接近1,则说明各组均值间的差异没有统计学意义,若F值远大于1,则说明各组均值间的差异有统计学意义


对于错误标记的样本处理


1.情况一

由于随机误差导致错误标记分类,由于深度学习算法具有好的鲁棒性,这里对这类错误,不需要进行操作

2.情况二

由于系统误差导致错误标记,系统误差即系统一直把同样白色的狗标记为猫。


4.数据集划分问题


留出法(hold-out)


LOO留一发 or LPO 留P法


K-Fold


是否重复试验与分层


交叉验证


#加载数据
from sklearn.model_selection import train_test_split,LeaveOneOut,LeavePOut
from sklearn import datasets
from sklearn import svm
from sklearn.metrics import accuracy_score
import numpy as np
iris=dataset.load_iris()
clf_svc=svm.SVC(kernel='linear')
iris.data.shape,iris.targe.shape
#hold out 
x_train,x_test,y_train,y_test=train.test_split(irsi.data,iris.target,test_size=0.4,random_state=0)
clf_svc.fit(x_trian,y_train)
accuracy_score(clf_svc.predict(x_test),y_test)
#leave one out
loo=LeaveOneOut()
loo.get_n_splits(iris.data)
mean_accuracy_score_list=[]
for train_index,test_index in loo.split(iris.data):
   clf_svc.fit(iris.data[train_index],iris.target[train_index])
   prediction=clf_svc.predict(iris.data[test_index])
 mean_accuracy_score_list.append(accuracy_score(iris.target[test_index],prediction))
 print(np.average(mean_accuracy_score_list))




相关文章
|
4月前
|
数据挖掘
R语言方差分析(ANOVA):理解与应用
【8月更文挑战第31天】ANOVA是一种强大的统计方法,用于比较三个或更多组之间的均值差异。在R语言中,我们可以轻松地使用`aov()`函数进行ANOVA分析,并通过后置检验(如TukeyHSD检验)来进一步分析哪些组之间存在显著差异。ANOVA在多个领域都有广泛的应用,是数据分析中不可或缺的工具之一。
|
7月前
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析(下)
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
|
7月前
|
存储
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析(上)
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
|
7月前
|
前端开发
R语言中小样本违反异方差性的线性回归
R语言中小样本违反异方差性的线性回归
R语言中小样本违反异方差性的线性回归
|
7月前
|
存储 数据可视化 数据库
R语言泊松Poisson回归模型预测人口死亡率和期望寿命
R语言泊松Poisson回归模型预测人口死亡率和期望寿命
|
7月前
|
数据采集
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
|
7月前
多元线性回归模型预测销售额
多元线性回归模型预测销售额
80 0
|
机器学习/深度学习 算法
24 正态分布和最大熵
24 正态分布和最大熵
94 0
|
机器学习/深度学习
先验分布、后验分布、似然估计、贝叶斯估计、最大似然估计
先验分布、后验分布、似然估计、贝叶斯估计、最大似然估计
222 0
先验分布、后验分布、似然估计、贝叶斯估计、最大似然估计
下一篇
DataWorks