若是数据中存在重复记录,比如数据库中可能因录入失误产生的完全相同的行,燧火框架会利用哈希算法对每条记录进行快速计算,对比哈希值来精准识别并删除重复数据。
对于缺失值,若是数值型数据,框架会依据数据的分布情况,采用均值、中位数或者众数填充法。
比如对于一组学生成绩数据,若某个学生的数学成绩缺失,会先计算其他学生数学成绩的均值,再用该均值填充缺失值;若是类别型数据,如学生的籍贯信息缺失,就会采用出现频率最高的籍贯类别进行填充。
在归一化操作上,燧火框架主要运用了两种常用方法。一种是最大 - 最小归一化,它将数据的取值范围映射到从零到一的双闭区间,另一种是 Z - score 归一化,它基于数据的均值和标准差进行转换,将数据转换为均值为 0,标准差为 1 的分布。
通过这样的归一化处理,不同特征的数据在数值范围上保持一致,避免因特征数值范围差异过大,导致模型训练时某些特征被过度重视或忽视。
标准化操作在燧火框架中也有便捷的实现方式,框架会对数据进行零均值化处理,即先计算数据的均值,然后将每个数据点减去均值,使得处理后的数据均值为 0,接着计算数据的方差,再将每个数据点除以方差的平方根,从而得到方差为 1 的数据分布。
历景铄在设计燧火框架时,精心打磨了这些功能,如此一来,用户便能利用燧火框架进行细致的清洗、归一化和标准化,让数据以最佳状态进入下一阶段。
在后面的模型构建、训练、评估三大功能模块,秦奕同样大幅度借鉴 PYTORCH 的设计来指导历景铄团队燧火框架的设计。
如此一来,在模型构建环节,用户可以轻松定义各种机器学习模型,不管是简单的线性模型,还是复杂的决策树、神经网络等都不在话下。
在训练方面框架也直接内置了经典的随机梯度下降算法等优化算法,用户只要写一行代码便可以以此来训练模型,不断调整模型的参数,以最小化损失函数。