【问题标题】:Prediction based on string Datatypes [closed]基于字符串数据类型的预测 [关闭]
【发布时间】:2021-07-18 01:22:54
【问题描述】:

我有一个非常简单的给定数据集,格式如下,可以运行一些机器学习算法并对其进行评估:

Var_1          Var_2
No              0
yes             1
.....
(No or Yes)    ...(0 or 1)  

(string)       (int)

但是在运行时,这是我得到的错误:

ValueError: could not convert string to float:

如您所见,我是否将自变量作为字符串。这个问题可以通过什么方式解决?我尝试使用布尔值作为 Train_var,但它在那里也不起作用。

【问题讨论】:

    标签: python pandas dataframe machine-learning classification


    【解决方案1】:

    scikit-learn 的 LabelBinarizer 应该可以解决这个问题:

    from sklearn.preprocessing import LabelBinarizer
    import pandas as pd
    
    # For reproducing:
    from io import StringIO
    dataset = StringIO("""
    Var_1,Var_2
    No,0
    yes,1
    No,1
    yes,1
    """)
    
    df = pd.read_csv(dataset)
    
    binarize = LabelBinarizer()
    y = binarize.fit_transform(df["Var_1"])
    print(y)
    # [[0]
    #  [1]
    #  [0]
    #  [1]]
    

    作为额外的好处,很容易反转转换器并在预测后恢复原始标签:

    print(binarize.inverse_transform(y))
    # ['No' 'yes' 'No' 'yes']
    

    【讨论】:

      猜你喜欢
      • 2021-02-05
      • 1970-01-01
      • 1970-01-01
      • 2022-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      相关资源
      最近更新 更多