【问题标题】:CreateML won't accept float64?CreateML 不接受 float64?
【发布时间】:2021-04-07 07:12:00
【问题描述】:

我是第一次尝试 Create ML,我正在尝试使用 CSV 文件。问题是目标的 CSV 列是浮点类型。它只接受 int 或 string。因此,我使用 pandas 将列转换为字符串:

df.pris_yrs = df.pris_yrs.astype(str)

# I have also tried

df.pris_yrs = df.pris_yrs.apply(str)

检查数据框的 dtype 会返回一个对象,该对象在 Pandas 中也是一个字符串,但 Create ML 仍然有同样的错误。

问题:如何让一个数据框对象作为 Create ML 中的目标?

【问题讨论】:

    标签: python pandas createml


    【解决方案1】:

    要将数据框的一列转换为int,我建议您:

    df["pris_yrs "]=df["pris_yrs "].astype(int)
    

    对于每个 ML 模型,您应该使用数字目标(即使您有一个分类特征,您也可以轻松地对其进行转换标记)。

    您收到错误可能是因为您的 ML 模型不支持将字符串作为目标。

    【讨论】:

    • 该解决方案的问题在于它会完全破坏数据,使其不一样。我想更好的问题是如何在 Create ML 中使用 pandas 对象?
    • 你有个奇怪的情况,为什么要把int改成string?您使用的是哪种机器学习算法?
    • 我相信我已经找到了一种方法来使用熊猫中 to_csv 的引用参数。文档特别说当您有浮点数时应该使用它。
    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-09
    相关资源
    最近更新 更多