python如何绘制预测模型校准图

Python022

python如何绘制预测模型校准图,第1张

python绘制预测模型校准图可以使用校准曲线,因为预测一个模型校准的最简单的方法是通过一个称为“校准曲线”的图(也称为“可靠性图”,reliability diagram)。

这个方法主要是将观察到的结果通过概率划分为几类(bin)。因此,属于同一类的观测值具有相近的概率。

对于每个类,校准曲线将预测这个类的平均值,然后将预测概率的平均值与理论平均值(即观察到的目标变量的平均值)进行比较。

你只需要确定类的数量和以下两者之间的分类策略即可:

1、“uniform”,一个0-1的间隔被分为n_bins个类,它们都具有相同的宽度。

2、“quantile”,类的边缘被定义,从而使得每个类都具有相同数量的观测值。

假设你的模型具有良好的精度,则校准曲线将单调增加。但这并不意味着模型已被正确校准。实际上,只有在校准曲线非常接近等分线时(即下图中的灰色虚线),您的模型才能得到很好的校准,因为这将意味着预测概率基本上接近理论概率。

python绘制预测模型中如何解决校准错误:

假设你已经训练了一个分类器,该分类器会产生准确但未经校准的概率。概率校准的思想是建立第二个模型(称为校准器),校准器模型能够将你训练的分类器“校准”为实际概率。

因此,校准包括了将一个一维矢量(未校准概率)转换为另一个一维矢量(已校准概率)的功能。

两种常被用作校准器的方法:

1、保序回归:一种非参数算法,这种非参数算法将非递减的自由格式行拟合到数据中。行不会减少这一事实是很重要的,因为它遵从原始排序。

2、逻辑回归:现在有三种选择来预测概率:普通随机森林、随机森林 + 保序回归、随机森林 + 逻辑回归。

以前做过一个。不过后来有了fastcopy后,就基本上不用那个工具了。fastcopy可以做文件差异比较复制,而且速度很快。

制作这个程序的思路要用两个函数

os.listdir,做一个[]作为目录的队列(堆栈会速度慢,用队列好些)用来访问子目录

第二个就是os.path里,有一个info获取文件属性的,里面有mdate,cdate等。也可以直接使用函数os.path.getfilesize获得文件属性

os.path.isfile()用来检查文件是否存在 os.path.fileexists好象也成。

多元散射校正方法是现阶段多波长定标建模常用的一种数据处理方法,经过散射校正后得到的光谱数据可以有效地消除散射影响,增强了与成分含量相关的光谱吸收信息。该方法的使用首先要求建立一个待测样品的“理想光谱”,即光谱的变化与样品中成分的含量满足直接的线性关系,以该光谱为标准要求对所有其他样品的近红外光谱进行修正,其中包括基线平移和偏移校正。在实际应用中,“理想光谱”是很难得到的,由于该方法只是用来修正各样品近红外光谱间的相对基线平移和偏移现象,所以取所有光谱的平均光谱作为一个理想的标准光谱是完全可以的。下面将详细给出多元散射校正法的算法解析过程以及该方法在人参样品近红外光谱散射校正中的应用。

首先计算所有样品近红外光谱的平均光谱,然后将平均光谱作为标准光谱,每个样品的近红外光谱与标准光谱进行一元线性回归运算,求得各光谱相对于标准光谱的线性平移量(回归常数)和倾斜偏移量(回归系数),在每个样品原始光谱中减去线性平移量同时除以回归系数修正光谱的基线相对倾斜,这样每个光谱的基线平移和偏移都在标准光谱的参考下予以修正,而和样品成分含量所对应的光谱吸收信息在数据处理的全过程中没有任何影响,所以提高了光谱的信噪比。