论文:《PDSKNN:一种针对不完整数据集的测井岩性识别方法》
该算法基于一种能够计算含有缺失值的特征向量间距离的方法( PDS)改进传统的K⁃⁃近邻算法( KNN)
PDS
部分距离策略是一种针对含有缺失值的特征向量间距离的计算方法。其核心策略在于,仅利用可用的特征值计算一个初步的距离,并随后通过引入所使用特征数目比例的倒数作为权重,来放大该特征值,以此作为两个特征向量之间真实距离的估计
结合理由
KNN算法无法直接应用于含有缺失数据的数据集,笔者基于PDS改进KNN的距离计算方法,在存在数据缺失情况下基于PDS计算距离D^∗^~ij~。虽然距离D^∗^~ij~与不存在数据缺失情况下的真实距离D~ij~存在一定的差距,但是在KNN的框架下,同一类别的样本在特征空间中的距离较小,来自不同类别的样本在特征空间中的距离则相对较大。因此, D^∗^~ij~与D~ij~的差距对近邻子集的构成与选择的影响较小。
数据预处理
样本过采样
通过增加少数类样本的数量来平衡数据集,避免识别结果偏向多数类; K⁃⁃近邻算法会受到数据集样本量不平衡的影响,因此有必要对数据集在不同岩性之间进行平衡处理。 针对不完整数据集进行特殊的平衡处理,使用少数类过采样技术( SMOTE)方法。该方法为目前广泛应用的数据过采样方法,通过在特征空间中对某少数类A样本进行插值来合成样本。SMOTE过采样方法的过程为:计算A类随机一个样本与其他A类样本之间的距离,利用KNN找到其K个最近邻样本。从这K个近邻样本中随机选择一个并在这两个样本的连线随机位置上生成一个人工样本。
由于数据集存在缺失值,无法直接使用SMOTE方法。在岩性识别中,一般认为同一类岩性在特征空间中成簇状分布,因此简化SMOTE方法,舍弃寻找近邻点的步骤,直接在少数类样本中随机选择两个样本进行合成。(生成新的数据)
特征归一化
通过将不同量纲的特征值转换到同一尺度上,以确保模型训练过程中的稳定性和准确性。
数据维度
根据不同岩性测井曲线特征,筛选出与岩性相关性较强的8条测井曲线:中子(CNL)、声波(AC)、密度(DEN)、自然伽马(GR)、铀(U)、钍(TH)、钾(K40)、无铀伽马(KTH)。
工作
对比了三种距离计算方法:欧氏距离、曼哈顿距离和切比雪夫距离的数据缺失率和最优K值、算法准确率的关系。