如何提高我的逻辑回归模型的准确性和精确度?
Posted
技术标签:
【中文标题】如何提高我的逻辑回归模型的准确性和精确度?【英文标题】:How to Increase accuracy and precision for my logistic regression model? 【发布时间】:2021-06-02 23:52:53 【问题描述】:我的机器学习模型数据集是具有 300 行和 14 个属性的 cleaveland 数据库——预测一个人是否患有心脏病。 但目的是在逻辑回归上创建一个分类模型...... 我对数据进行了预处理,并使用 x_train、Y_train、X_test、Y_test.. 运行了模型,并获得了 82% 的平均准确率......
因此,为了提高准确性,我确实删除了彼此高度相关的特征 [因为它们会提供相同的信息]
我做了 RFE[递归特征消除]
其次是PCA[主成分分析]进行降维...
我仍然没有发现数据集的准确性更好..
为什么会这样?
另外,为什么我的模型每次都显示不同的准确度?是不是每次都取不同的x_train,Y_train,X_test,Y_test?
我应该改变我的模型以获得更好的准确性吗? 80% 的平均准确率是好是坏?
【问题讨论】:
【参考方案1】:尝试用尽网格搜索或随机参数优化来调整您的超参数。
见:Documentation for hyperparameter tuning with sklearn
【讨论】:
【参考方案2】:我应该改变我的模型以获得更好的准确性吗?
至少你可以尝试。正确模型的选择高度依赖于具体的用例。尝试其他方法绝不是一个坏主意:)
另一个想法是通过 PCA 获得方差最大的两个特征。如果您的数据是线性可分的,那么您可以在 2D 空间中绘制它以获得更好的感觉。
还有为什么我的模型每次显示的准确率都不一样?
我假设您正在使用 scikit-learn 的 train_test_split
方法,所以拆分您的数据?
默认情况下,此方法随机打乱您的数据。您可以将random_state
参数设置为固定值以获得可重现的结果。
【讨论】:
嗨,伙计!有没有办法通过逻辑决策提高准确性?我尝试使用 PCA 进行绘图,但线性分离似乎有点困难...... 好吧,据我所知,逻辑回归是一个线性分类器,所以它最适合线性可分离特征(显然:))为了解决这个问题,你可以尝试坚持这个帖子:***.com/questions/55937244/… 因为我不知道这是否有帮助,如果你能告诉我你是否可以提高你的准确性,我将不胜感激。 谢谢...上面的帖子并不能帮助我解决逻辑回归问题...但它让我对使用非线性回归有了更好的了解...我很感激。谢谢:)【参考方案3】:请参阅 (https://github.com/dnishimoto/python-deep-learning/blob/master/Credit%20Card%20Defaults%20-%20hyperparameter.ipynb) 以提高您进行超调以及降维和缩放的准确性。超调正在寻找最佳参数。而降维是删除对精度降低噪声没有贡献的特征。缩放或归一化可减少分布中的噪声。
查看 GridSearch 以找到最佳参数
【讨论】:
以上是关于如何提高我的逻辑回归模型的准确性和精确度?的主要内容,如果未能解决你的问题,请参考以下文章
R语言编写自定义函数计算分类模型评估指标:准确度特异度敏感度PPVNPV数据数据为模型预测后的混淆矩阵比较多个分类模型分类性能(逻辑回归决策树随机森林支持向量机)