1、数据获取
1.1 来源
数据获取是机器学习建模的第一步,常见的数据来源包括数据库、API、网络爬虫等。
- 数据库是企业内部常见的数据存储方式,例如:MySQL、Oracle等关系型数据库,以及MongoDB等非关系型数据库,它们能够存储大量的结构化和非结构化数据
- API(应用程序编程接口)提供了从外部获取数据的便捷方式,例如:社交媒体平台的API可以获取用户发布的内容和互动信息
- 网络爬虫则适用于从网页中提取数据,通过模拟浏览器行为获取网页内容并解析提取有用信息
1.2 解释
在实际应用中,
- 通过电商平台的数据库查询用户的基本信息、购买历史、浏览记录等数据
- 利用API可以获取平台开放的某些数据,如商品评价、推荐商品等
- 对于未开放的数据,可能需要使用网络爬虫在遵守法律法规和网站规则的前提下,爬取商品详情页、用户评论等信息,从而丰富用户行为数据集
2、数据预处理
2.1 缺失值处理
在实际数据收集过程中,数据缺失是常见问题。缺失值处理的方法包括删除缺失样本或用均值/中位数填充。
- 当缺失值占比较小且数据量足够大时,删除缺失样本可以避免数据不完整对模型训练的影响
- 如果缺失值较多,删除可能导致数据量不足,此时可以使用均值或中位数填充
例如,对于数值型数据如收入、年龄等,可以用该特征的均值或中位数来填充缺失值,以保持数据的完整性
2.2 异常值检测
异常值可能对模型训练产生负面影响,因此需要进行检测和处理。箱线图是一种常用的异常值检测工具,它通过计算数据的四分位数=和异常范围来识别异常值。在箱线图中,正常数据分布在箱体和须之间,超出须范围的数据点则被视为异常值。
例如,在分析房屋价格数据时,若某个样本的价格远高于其他类似房屋的价格,可能被判定为异常值。对于这些异常值,可以采取删除、修正或分组处理等方式,以确保数据的质量。
3、特征工程
3.1 特征提取
特征提取是从原始数据中提取有用信息并转化为适合模型输入的过程。对于文本数据,常用的方法是将其转为词频矩阵,如TF-IDF(词频-逆文档频率)。TF-IDF能够反映一个词在文档中的重要程度,通过计算每个词在文档中的出现频率与在整个语料库中的逆文档频率的乘积,得到一个权重矩阵。
例如,在文本分类任务中,将新闻文章转换为TF-IDF矩阵,作为模型的输入特征。
3.2 特征组合
特征组合是通过将多个特征进行数学运算生成新的特征,以更好地描述数据的内在关系。特征组合可以增加模型的表达能力,提高预测准确性。
例如,在房地产数据中,将房屋的面积和单价相乘生成总价这一新特征,这可能比单独使用面积或单价更能反映房屋的价值。
3.2 特征降维
当数据的维度较高时,特征降维可以降低数据的复杂度并提高模型的效率。PCA(主成分分析)是一种常用的线性降维方法,它通过找到数据中方差最大的几个方向(主成分),将数据投影到这些方向上,从而实现降维。
例如,对于高维的图像数据,使用PCA可以将其降至二维,便于可视化和分析,同时保留数据的主要特征。
4、模型训练
4.1 算法选择
根据问题的类型选择合适的算法:
- 对于回归问题,如预测明日气温,可以选择线性回归算法。线性回归假设因变量与自变量之间存在线性关系,通过拟合一条直线来预测目标值
- 对于分类问题,如判断肿瘤是良性或恶性,可以选择逻辑回归算法。逻辑回归虽然名字中有“回归”,但实际上是一种分类算法,它通过 sigmoid 函数将线性组合的输出映射到 0 和 1 之间,从而实现分类
4.2 超参数调优
超参数是模型在训练之前需要设定的参数,它们对模型的性能有重要影响。网格搜索是一种常用的超参数调优方法,它通过在预设的超参数范围内进行穷举搜索,找到使模型性能最优的超参数组合。
例如,在训练神经网络时,学习率和迭代次数是重要的超参数,通过网格搜索可以找到最佳的学习率和迭代次数,以提高模型的收敛速度和准确性。
5、模型评估
5.1 指标
根据问题类型选择合适的评估指标:
- 对于回归问题,常用的指标是均方误差(MSE),它计算预测值与真实值之间的平方误差的平均值,反映了模型预测的准确性
- 对于分类问题,常用的指标包括准确率、F1 分数等。
- 准确率是正确预测的样本数占总样本数的比例
- F1 分数则是精确率和召回率的调和平均数,能够综合衡量模型的精确性和完整性
5.2 验证方法
交叉验证是一种常用的模型评估方法,它将数据分为多份,轮流作为训练集和验证集。
例如,将数据分为 5 份,每次用其中的 4 份作为训练集,1 份作为验证集,进行 5 次训练和验证。通过计算多次验证的平均性能指标,可以更准确地评估模型的泛化能力,避免因数据划分的偶然性导致的评估偏差。
微语录:自己选择了方向与路途时,就不要抱怨,一个人只有承担起狂风暴雨,才能最终守得住彩虹满天。