【问题标题】:Loading the Iris Dataset in from a CSV file?从 CSV 文件加载虹膜数据集?
【发布时间】:2020-06-11 11:03:01
【问题描述】:

我正在使用 Scikit learn 练习数据处理,并且正在研究分类概率。我已经使用来自import dataset 的数据集成功运行了模型,现在我想尝试使用 CSV 文件做同样的事情,所以我下载了相同的数据集,并尝试将其加载到我的代码中。

iris = np.loadtxt('./iris.csv', delimiter=',', skiprows=1)
X = iris.data[:, 0:2]
y = iris.target 

但是我收到一条错误消息,指出 ValueError: could not convert string to float: 'setosa' 我知道这是来自 CSV,因为它是花的名称,有没有其他方法可以导入这个 CSV 文件,这样这个问题就不是问题了?

【问题讨论】:

    标签: python python-3.x csv scikit-learn


    【解决方案1】:

    为此,您可以使用熊猫:

    data = pandas.read_csv("iris.csv")
    data.head() # to see first 5 rows
    X = data.drop(["target"], axis = 1)
    Y = data["target"]
    

    或者你可以试试(我个人建议使用 pandas)

    from numpy import genfromtxt
    my_data = genfromtxt('my_file.csv', delimiter=',')
    

    【讨论】:

    • 使用您的第一个解决方案,我得到KeyError: "['target'] not found in axis" 我错过了吗?我需要用什么替换"['target']"吗?
    • 所以目标列将是您的目标值。请根据您的列名更改目标。
    • 所以,就我而言,我想去掉物种名称,所以我会在x = data.drop(["species"]), axis =1 中删除,我会在y = data["target"] 中添加什么
    • 你的 Y 应该是“物种”。 y = 数据[“物种”]
    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 2018-09-13
    • 2018-05-25
    • 2021-05-07
    • 2013-04-29
    • 2020-10-05
    • 2021-03-29
    相关资源
    最近更新 更多