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

How to Increase accuracy and precision for my logistic regression model?

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

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

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

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

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

这是为什么?

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

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

Should i change my model for better accuracy?

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

另一个想法是通过 PCA 获得方差最大的两个特征。如果您的数据是线性可分的,那么您可以在二维 space 中绘制它以获得更好的感觉。

Also why does my model shows different accuracy each time?

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

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

查看 GridSearch 以找到最佳参数

尝试用尽网格搜索或随机参数优化来调整您的超参数。

参见:Documentation for hyperparameter tuning with sklearn