4.2部分已经把分类问题的评估方式说明了,下一步我们就该进入到数据分析的环节。
既然是想通俗易懂的说明这个问题,那我们就还是从之前的例子开始。
例:如何判断一个人是男人还是女人?
这个就是个典型的分类问题(和判断是否作弊其实没有什么不同)
那么我该怎么判断??
1)我肯定需要一些信息,比如这个人的身高、体重、头发长度,是否涂口红,家庭居住城市,居住小区,小区房价,用什么牌子的手机,是否有车等。这些信息就是特征(feature),也就是需要通过这些信息来判断这个人是男人还是女人。很容易的可以看出,我们能拿到的信息越多,越有用,那么我们判断成功的几率就越高(比如只告诉你身高体重,就不容易判断,但是给你100个特征,可能就比较容易,因为里面可能会有有用的,如果告诉你的特征是有没有胡子,有没有喉结,那就非常简单了)。总结来说,我们需要更多更有用的特征来做出判断。
2)所以在一个标准的数据分析流程当中,把这些信息进行整合就成了非常重要的步骤,广义来说是特征工程,具体来说是特征融合(特征工程还包括数据清洗,结构化,归一化等一些列操作),便于理解还是用刚才的例子举例,这一步就是把这个人的所有能拿到的特征和label(需要人工标注)整合到一起,按特征进行划分这样便于想到更多的特征,比如生理特征(包括身高,体重等),兴趣特征(美妆信息,IT信息等),金融特征(比如收入,是否有车等),后面模型在做判断时,也是根据这些特征进行复杂的数学计算从而得到结论的。
3)根据已有的数据(训练集)进行标签(y)与特征(xi:i个特征)之间的计算,求出使损失函数J值最小时的一组特征向量,也就是模型的系数,这时候就确定了大致的模型。损失函数可以理解为取什么样的Xi时,你建立的模型和真实数据的差距(损失)是最小的。还是用刚才的例子,比如是否涂口红这个特征非常重要,那么这个X前面的特征权重就非常大,便于把两类数据分开,有些特征比如收入在识别男女来说,不是特别重要,那么这个特征的权重就不是很大(或者有可能是负的)。最后把训练集的各组数据代入,是的J最小时的Xi就大概是需要的模型。
4)用一组新的数据(验证集),对上一步生成的模型进行验证,经过不断调整模型系数得到最终的模型,上一步使用的数据得到的模型准确率和召回率是不能作数的,因为这个模型已经确切的知道了各个case的真实label,所以需要换另一组数据进行校验。这一步和上一步的关系可以简单的解释为:上一步是在做每天的家庭作业,而这一步是期末考试,那期末考试的成绩来验证你平时学的好不好(也就是你这个模型学习的ok不ok)
5)再用一组新的数据(测试),对最终生成的模型进行测试,效果可以看做是线上真实数据的预测结果。主要关系的结果数据包括precision,accuracy,recall和F1,根据不同场景需要给出特定模型。还用考试的例子,这一步可以理解为高考前的模拟考试,经过每天不断的做作业和期末考试的学习,你掌握了各种题的解题方法,但是最终高考的题肯定不在你之前的考试题里,所以需要在一份全新的数据上做测验(毕竟之前的题你都见过了,拿那些题靠你,你肯定考得很好),而把模型在这个数据上的效果最为最终线上的结果的一个参考。
6)把模型部署到真实的线上环境中(类似于你去参加高考),完成~~
网友评论