我是机器学习的初学者,正面临一种情况。我正在处理IPinYou数据集的实时出价问题,并且正在尝试进行点击预测。
事实是,您可能知道,数据集非常不平衡:大约1300个否定示例(非点击)中有1个肯定示例(点击)。
这是我的工作:
- 加载数据
- 将数据集分为3个数据集:A =训练(60%)B =验证(20%)C =测试(20%)
- 对于每个数据集(A,B,C),对每个负分类进行欠采样,以使比率为5(1个正样本的5个负样本)。这给了我3个更加平衡的新数据集:A'B'C'
然后,我用数据集A'和逻辑回归训练模型。
我的问题是:
我必须使用哪个数据集进行验证?B还是B'?
我必须使用哪个数据集进行测试?C或C'
哪些指标与评估我的模型最相关?F1Score似乎是一个很好使用的指标。但是这里由于类的不平衡(如果我使用数据集B和C),精度较低(低于0.20),F1Score受较低的召回率/精度的影响很大。使用aucPR或aucROC会更准确吗?
如果要绘制学习曲线,应该使用哪些指标?(知道如果我使用B'数据集进行验证,则%error与错误无关)
在此先感谢您的时间 !
问候。