我正面临二进制分类问题。我正在使用某些机器学习模型和Python3。我注意到,在给定的类上,某些模型的性能要优于其他模型。我想将它们结合起来以提高我的准确性和精确度。我知道在回归问题中可以做到这一点的方法,例如预测的加权平均值。但是我不确定分类问题是否有意义。而且,您必须知道一种更好的方法。
这是我的算法,可帮助我识别难以预测的标签:
"""
each value is in {0, 1}
ytrue : real values
ypred : predicted values
"""
def errorIdentifier(ytrue, ypred):
n = len(ytrue)
ytrue = list(ytrue)
ypred = list(ypred)
error = [0,0]
for i in range(n):
if ytrue[i] != ypred[i] :
error[ytrue[i]] += 1
return error
您可能会猜到,我需要为正在使用的每个模型调用它。
答案 0 :(得分:0)
不同模型更好地预测不同类别的问题是经典的机器学习问题。出现这种情况的原因是,各种算法更擅长对不同的特征进行建模,因此倾向于在特定类别上实现更高的准确性。
为克服此问题,我们可以使用许多模型并集成结果来提高准确性。这种方法称为ensemble learning。
有许多方法,例如bagging
,boosting
等,以及一些众所周知的集成学习算法,例如RandomForest
。您必须研究各种技术才能找到最适合您需求的技术。