Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 逻辑回归-值错误:分类指标可以';t处理连续多输出和二进制目标的混合_Python_Machine Learning_Scikit Learn_Classification_Logistic Regression - Fatal编程技术网

Python 逻辑回归-值错误:分类指标可以';t处理连续多输出和二进制目标的混合

Python 逻辑回归-值错误:分类指标可以';t处理连续多输出和二进制目标的混合,python,machine-learning,scikit-learn,classification,logistic-regression,Python,Machine Learning,Scikit Learn,Classification,Logistic Regression,我是一个数据科学的noob,我正在研究数据科学。我正在对其进行逻辑回归,以预测测试数据集中的乘客是否存活或死亡 我清理训练和测试数据,并对训练数据进行逻辑回归拟合。一切都好 train=pd.read\u csv('train.csv')) X_列车=列车坠落(“幸存”,轴=1) y_列车=列车[‘幸存’] 从sklearn.linear_模型导入逻辑回归 logmodel=LogisticRegression() logmodel.fit(X_系列、y_系列) 然后,我对测试数据运行预测模型

我是一个数据科学的noob,我正在研究数据科学。我正在对其进行逻辑回归,以预测测试数据集中的乘客是否存活或死亡

我清理训练和测试数据,并对训练数据进行逻辑回归拟合。一切都好

train=pd.read\u csv('train.csv'))
X_列车=列车坠落(“幸存”,轴=1)
y_列车=列车[‘幸存’]
从sklearn.linear_模型导入逻辑回归
logmodel=LogisticRegression()
logmodel.fit(X_系列、y_系列)
然后,我对测试数据运行预测模型,如下所示:

test=pd.read\u csv('test.csv'))
预测=对数模型。预测(测试)
然后我尝试打印混淆矩阵:

来自sklearn.metrics导入分类报告、混淆矩阵
打印(矩阵(测试、预测))
我得到一个错误,上面写着:

ValueError:分类指标无法处理以下组合 连续多输出和二进制目标

这意味着什么?我如何修复它

我看到的一些潜在问题是:

  • 我对测试数据的预测模型做了一些非常愚蠢和错误的事情
  • 特征“年龄”和“票价”的价值(乘客出行成本) 票证)为浮点数,其余为整数

  • 我哪里做错了?谢谢你的帮助

    假设你的
    测试
    包含布尔值(活的或死的),而你的
    预测
    包含浮点数(预测存活概率)。您应该选择一些阈值,然后根据预测概率是否大于阈值生成布尔值

    假设你的
    测试
    包含布尔值(活的或死的),而你的
    预测
    包含浮点数(预测存活概率)。您应该选择一些阈值,然后根据预测概率是否大于阈值生成布尔值

    正如m-dz所评论的,
    混乱矩阵
    ,而在您的代码中,您通过了整个
    测试
    数据帧

    此外,另一个问题是不尊重论点的顺序,这很重要

    总而言之,你应该要求

    混淆矩阵(测试['surved'],预测)
    
    正如m-dz所评论的那样,
    混乱矩阵
    ,而在您的代码中,您通过了整个
    测试
    数据帧

    此外,另一个问题是不尊重论点的顺序,这很重要

    总而言之,你应该要求

    混淆矩阵(测试['surved'],预测)
    
    检查
    混淆矩阵
    参数:,您应该通过两个数组,而不是整个测试数据集。检查
    混淆矩阵
    参数:,您应该通过两个数组,而不是整个测试数据集。仅当相关信息确实存在差距时,请使用“推测”。这里的情况根本不是这样,因为返回标签,而不是概率(后者由desertnaut返回)@desertnaut在相关信息中确实存在差距。
    test.csv
    包含一个数据帧,而不是一个序列,虽然与约定一致,但如果不去kaggle网站,就无法确定该数据帧,而
    predict
    返回标签只能通过查看文档来确定。就问题中给出的信息而言,
    test
    predictions
    的内容都是未知的。让我试着提供一条友好的建议,因为SO的经验稍微丰富一点:1)文档中的信息总是相关且可用的2)在开始推测之前,在评论3)中要求澄清,根据错误的假设,继续争论一个明显错误(可以说是推测)的答案,而不考虑任何已经开始吸引反对票的具体代码建议是徒劳的。我们都会犯错误——补救可以补救的,抛弃不能补救的,继续下去……我并不认为我的回答是错误的,只是你的反对意见并不完全有效。坦率地说,如果有人在这样的网站上发布问题,而不费心说明他们的投入是什么,那么他们应该认为很有可能会出现问题。“没有任何具体的代码建议”我就如何解决我认为的问题给出了明确的指示。否决投票仍在继续,而你仍然没有抓住要点…:(仅当相关信息中确实存在空白时,请使用“推测”。这里根本不是这种情况,因为返回标签,而不是概率(后者由@desertnaut在相关信息中确实存在差距。
    test.csv
    包含一个数据帧,而不是一个系列,虽然符合约定,但不去kaggle网站就无法确定,
    predict
    返回标签只能通过查看文档来确定问题中给出的问题是,
    测试
    预测
    的内容都是未知的。让我试着提供一条友好的建议,因为SO在这里的经验稍微丰富一些:1)文档中的信息总是相关且可用的2)在开始推测之前,在评论3)中要求澄清,根据错误的假设,继续争论一个明显错误(可以说是推测)的答案,而不考虑任何已经开始吸引反对票的具体代码建议是徒劳的。我们都会犯错误——补救可以补救的,抛弃不能补救的,继续下去……我并不认为我的回答是错误的,只是你的反对意见并不完全有效。坦率地说,如果有人在这样的网站上发布问题,而不费心说明他们的投入是什么,那么他们应该认为很有可能会出现问题。我给出的“没有任何具体的代码建议”