Python 3.x Sklearn逻辑回归预测概率返回0或1
我没有任何示例数据可以共享以复制问题,但也许有人可以提供一个高层次的答案。我在过去创建了很多逻辑回归模型,这是我的预测概率分数第一次显示为1或0 我正在创建一个二进制分类器来预测两个标签中的一个。我还使用了其他两种算法,XGBClassifier和RandomForestCalssifier,用于相同的数据集。对于这些,predict_proba产生预期的概率结果(即,介于0和1之间的浮点值) 此外,对于Logistic回归模型,我尝试了各种参数,包括所有默认参数,但问题仍然存在。奇怪的是,使用带有loss='log'或'modified_huber'的sgdclassizer也会产生相同的二进制predict_proba结果,所以我认为这可能是数据集固有的东西,但不确定。此外,只有在标准化培训集数据时,才会出现此问题。到目前为止,我已经尝试了StandardScaler和MinMaxScaler,结果相同 有没有人遇到过这样的问题 编辑: LR参数为:Python 3.x Sklearn逻辑回归预测概率返回0或1,python-3.x,machine-learning,scikit-learn,classification,logistic-regression,Python 3.x,Machine Learning,Scikit Learn,Classification,Logistic Regression,我没有任何示例数据可以共享以复制问题,但也许有人可以提供一个高层次的答案。我在过去创建了很多逻辑回归模型,这是我的预测概率分数第一次显示为1或0 我正在创建一个二进制分类器来预测两个标签中的一个。我还使用了其他两种算法,XGBClassifier和RandomForestCalssifier,用于相同的数据集。对于这些,predict_proba产生预期的概率结果(即,介于0和1之间的浮点值) 此外,对于Logistic回归模型,我尝试了各种参数,包括所有默认参数,但问题仍然存在。奇怪的是,使用
LogisticRegression(C=1.7993269963183343, class_weight='balanced', dual=False,
fit_intercept=True, intercept_scaling=1, l1_ratio=.5,
max_iter=100, multi_class='warn', n_jobs=-1, penalty='elasticnet',
random_state=58, solver='saga', tol=0.0001, verbose=0,
warm_start=False)
同样,只有使用
StandardScaler()
或MinMaxScaler()
标准化数据时,才会出现此问题。这是很奇怪的,因为数据在所有特征中不是一个统一的比例。例如,一些特征表示为百分比,其他特征表示为美元值,其他特征表示为虚拟编码表示。有可用的代码吗?某处有np.argmax
吗?请提供您的代码示例,谢谢!你能告诉我们你尝试过的解算器、惩罚、tol、C和max_iter的信息吗?我认为这对理解你的问题至关重要。@pythonic833完成。@NegativeCorrelation还有一件事。你能把model.coef
贴在这里吗?通过这种方式,我们可以检查哪种功能可能导致这种效果