随机森林和逻辑回归替换softmax层的问题

在学习机器学习时,想通过将softmax层修改为随机森林或者逻辑回归来进行分类任务。对比不同方案下的正确率及耗时。
在进行随机森林和逻辑回归分类时,均建立在迁移的VGG16的预训练参数模型上。

在将数据输入到随机森林或逻辑回归中时首先需要将预训练的输出化为二维矩阵。否则将报错。ValueError: setting an array element with a sequence.

对于逻辑回归分类方法,logreg.predict_proba(te_conv)将输出测试集数据在逻辑回归分类后的结果概率,之后我们需要选择概率最大的值的下标位置。
LogisticRegression(multi_class=‘multinomial’,solver=‘sag’) SGD优化,默认迭代100次

Logistic Regression
Accuracy train/valid = 0.9962/0.9074
y_test_pred_class_logreg.shape = [0 0 2 0 0 0 2 0 0 0 1 5 1 0 0 0 0 0 0 5 1 2 5 0 0 2 0 2 5 0 0 1 0 0 0 1 1
0 0 4 0 2 5 1 1 2]

Random Forest
Accuracy train/valid = 0.9966/0.8148
y_test_pred_class_logreg.shape = [0 0 2 1 5 0 2 4 0 5 0 0 4 0 0 0 0 0 0 0 1 2 5 0 0 2 0 2 1 0 0 2 0 5 5 2 2
0 0 0 0 5 5 2 2 5]

你可能感兴趣的:(随机森林和逻辑回归替换softmax层的问题)