【发布时间】:2016-02-01 20:50:17
【问题描述】:
我想训练一个性别分类器,但遇到了一些问题..
大约有 100,000 个标记数据集(25,000 男性。75,000 女性)。 我会将这个数据集分为 local-train(60%) 和 local-test(40%)
List<LabeledPoint> males = getMales(); // <-- 25,000
List<LabeledPoint> females = getFemales(); // <-- 75,000
List<LabeledPoint> local = males.addAll(females); // <-- union
List[] splits = randomSplit(local, new double[] {0.6, 0.4});
List trainingData = splits[0];
List testData = splits[1];
LogisticRegressionModel model = new LogisticRegressionWithLBFGS()
.setNumClasses(10)
.run(trainingData);
List<LabeledPoint> predictedList = model.predict(testData);
for(LabeledPoint predict : predictedList){
if(predict.label() =="f" && predict.predictLabel()!="f"){
fErrorCount ++;
}
if(predict.label() =="m" && predict.predictLabel()!="m"){
mErrorCount ++;
}
}
本地测试数据的预测结果是
#1 (all number is based on item count)
Total prediction :36152 , error : 6619, error ratio 0.18%
F :27747.0 , error : 2916.0, error ratio 0.10%
M :8405.0 , error : 3703.0, error ratio 0.44%
如您所见,对女性的预测非常好,但对男性的预测太差了。 我预计女性和男性的错误率相同。 此分类器似乎适合女性定位,但对于男性定位无用。
所以我做了一个预采样来平衡女性和男性是平等的。 现在我得到了 50,000 个标记数据集(25,000 个男性,25,000 个女性)
List<LabeledPoint> males = getMales(); // <-- 25,000
List<LabeledPoint> females = getfemales().sublist(0,25000); // <-- hard resized.
// from here is same.
预测结果是
#2
Total prediciton :16814 , error : 4369 - 0.259842987986202%
F :8407.0 , error : 2225.0 - 0.2646604020459141%
M :8407.0 , error : 2144.0 - 0.25502557392648983%
在线未标记数据什么模型应该在生产中预测这一点,可能倾向于女性比例大于男性(如 #1, 75:25),但这个比例可以更改为 (f:m=30:70) , (f:m=80:20) 未来。
这样的话
- 如何构建最适合的模型?
- 没有办法建立一个模型来保证女性和男性的稳定错误率。
- 没有办法建立一个即使女性男性比例发生变化也能保证稳定误差率的模型?
- 尝试 #2 是不是毫无意义?
谢谢。
【问题讨论】:
-
欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 MCVE 适用于此。在您发布代码并准确描述问题之前,我们无法有效地帮助您。
-
(1) 您衡量模型可采用性的指标是什么?谁在采用该模型,出于什么目的? (2a) 你对稳定性的定义是什么? (2b) 为什么稳定性很重要? (3) 这在很大程度上取决于您选择的模型类型。
-
我对糟糕的内容感到抱歉。编辑了一些。
-
(1) 您衡量模型可采用性的指标是什么? ==> [我没有具体的模型选择指标,只是看到错误率。 ] 谁在采用该模型,出于什么目的? ==> [我会手动选择模型,对新注册用户进行性别分类] (2a) 你对稳定性的定义是什么? ==> [如果本地数据性别比例和在线用户性别比例之间的差异可能会产生问题。] (2b) 为什么稳定性很重要? ==> [因为我不知道真实世界的性别,新注册用户的真实世界性别比例]
-
恐怕在您遇到明确的问题之前,我们真的无法帮助您。如果我们不知道什么定义了这项工作的成功,我们就不能轻易地朝着它前进。
标签: machine-learning statistics computer-vision mahout logistic-regression