casting - 在 Logistic 回归中将连续数据转换为分类数据时出错
问题描述
我正在对我的数据集使用逻辑回归,该数据集的目标变量为 0 和 1。我使用了 .replace() 函数并相应地替换了它们。
> data['target']=data['target'].replace({0:"No",1:"yes"})
代码运行良好。但是当我对数据进行建模时,
model_log=sm.Logit(data['target'],data.iloc[:,2:]).fit()
它显示以下错误:
ValueError:Pandas 数据转换为对象的 numpy dtype。使用 np.asarray(data) 检查输入数据。
解决方案
当您使用iloc选择 X 数据时,它会返回一个熊猫数据框。根据 statsmodel 文档,logit 期望 X 和 y 是 array_like。您需要将数据框转换为所需的数据类型。您可以使用to_numpy方法将数据框转换为 numpy 数组。
model_log=sm.Logit(data['target'].astype(float),data.iloc[:,2:].to_numpy()).fit()
推荐阅读
- javascript - 如何通过单击父项中的按钮打开子项中的引导程序 5 模态,而不以角度安装 ng bootstrap
- python - 将大型 SQL Server 表导入 Python
- python - 在 python3 上使用 struct.unpack('f', b"".join(map(chr, bytes)))[0] “期望一个类似字节的对象,str found” - 但在 python2 上工作
- firebase - Flutter Firebase中的核心/未初始化
- node.js - 如何使用 Electron-React 应用程序运行外部脚本
- stm32cubeide - 在 STM32CubeIDE 项目中添加新的 .h 和 .cpp 文件的位置
- javascript - Node Express-删除路由有效但抛出错误
- acumatica - 具有选择器属性的新字段
- javascript - React 中的“BigInt 未定义”
- intellij-idea - 如何在 Intellij 中设置 StyleLint 的根目录?