zoukankan      html  css  js  c++  java
  • 标记编码报错ValueError: bad input shape ()

    《Python机器学习经典实例》2.9小节中,想自己动手实践汽车特征评估质量,所以需要对数据进行预处理,其中代码有把字符串标记编码为对应的数字,如下代码

    input_data = ['vhigh', 'vhigh', '2', '2', 'small', 'low'] 
    input_data_encoded = [-1] * len(input_data)
    for i,item in enumerate(input_data):
        input_data_encoded[i] = int(label_encoder[i].transform(input_data[i]))
    

    报错:

    Traceback (most recent call last):
      File "E:/17770426925/PythonLeaning/Machine-Learning/classifier/classifier.py", line 255, in <module>
        input_data_encoded[i] = int(label_encoder[i].transform(input_data[i]))
      File "D:ProgramDataAnaconda3libsite-packagessklearnpreprocessinglabel.py", line 147, in transform
        y = column_or_1d(y, warn=True)
      File "D:ProgramDataAnaconda3libsite-packagessklearnutilsvalidation.py", line 562, in column_or_1d
        raise ValueError("bad input shape {0}".format(shape))
    ValueError: bad input shape ()
    

    所以由此看出,是label_encoder[i].transform(input_data[i])中input_data[i]输入的数值形式不对,需要将其改变成list,所以可对该代码进行改进:

    for i, item in enumerate(input_data):
        labels=[]
        labels.append(input_data[i])
        input_data_encoded[i] = int(label_encoder[i].transform(labels))
    文章来源:NSGUF,欢迎分享,转载请保留出处
  • 相关阅读:
    第01组 每周小结(2/3)(组长)
    第01组 每周小结 (1/3)(组长)
    第01组 Beta冲刺 总结(组长)
    第01组Beta冲刺(5/5)(组长)
    第01组Beta冲刺(4/5)(组长)
    第01组Beta冲刺(3/5)(组长)
    第01组Beta冲刺(2/5)(组长)
    第01组Beta冲刺(1/5)(组长)
    软工实践个人总结
    每周小结(3/3)
  • 原文地址:https://www.cnblogs.com/NSGUF/p/8244871.html
Copyright © 2011-2022 走看看