如何提高逻辑回归模型的准确度和精确度?

时间:2021-03-04 10:32:48

标签: python machine-learning logistic-regression

我的机器学习模型数据集是 cleaveland 数据库,有 300 行和 14 个属性——预测一个人是否患有心脏病。 但目标是在逻辑回归上创建一个分类模型...... 我对数据进行了预处理,并使用 x_train,Y_train,X_test,Y_test.. 运行模型并获得了 82% 的平均准确率...

所以为了提高准确性,我确实删除了彼此高度相关的特征[因为它们会提供相同的信息]

我做了 RFE[递归特征消除]

接着是PCA[主成分分析]进行降维...

我仍然没有发现数据集的准确性更好..

这是为什么?

另外,为什么我的模型每次都显示不同的准确度?是不是因为每次采取不同的x_train,Y_train,X_test,Y_test?

我应该改变我的模型以获得更好的准确性吗? 80% 的平均准确率是好还是坏?

2 个答案:

答案 0 :(得分:1)

<块引用>

我应该改变我的模型以获得更好的准确性吗?

至少你可以尝试。正确模型的选择在很大程度上取决于具体的用例。尝试其他方法绝不是一个坏主意:)

另一个想法是通过 PCA 获得方差最大的两个特征。然后,如果您的数据是线性可分的,您可以在 2D 空间中绘制它以获得更好的感觉。

<块引用>

另外,为什么我的模型每次都显示不同的准确率?

我假设您正在使用 scikit-learn 的 train_test_split 方法,因此拆分您的数据? 默认情况下,此方法会随机打乱您的数据。您可以将 random_state 参数设置为固定值以获得可重现的结果。

答案 1 :(得分:1)

请参阅 (https://github.com/dnishimoto/python-deep-learning/blob/master/Credit%20Card%20Defaults%20-%20hyperparameter.ipynb) 以提高准确性,您可以进行超调、降维和缩放。超调是寻找最佳参数。而降维是去除对精度降低噪声没有贡献的特征。缩放或归一化可减少分布中的噪声。

查看 GridSearch 以找到最佳参数