【问题标题】:How to import csv or arff to scikit?如何将 csv 或 arff 导入 scikit?
【发布时间】:2018-07-12 09:26:10
【问题描述】:

我有两个 csv 和 arff 格式的数据集,我一直在 weka 的分类模型中使用它们。我想知道是否可以在 scikit 中使用这种格式来尝试 python 中的其他分类方法。

这是我的数据集的样子: ASSAY_CHEMBLID...MDEN.23...MA,TARGET_TYPE...否...MA,TARGET_TYPE...apol...MA,TARGET_TYPE...ATSm5...MA,TARGET_TYPE...SCH.6。 ..MA,TARGET_TYPE...SPC.6...MA,TARGET_TYPE...SP.3...MA,TARGET_TYPE...MDEN.12...MA,TARGET_TYPE...MDEN.22... MA,TARGET_TYPE...MLogP...MA,TARGET_TYPE...R...MA,TARGET_TYPE...G...MA,TARGET_TYPE...I...MA,ORGANISM...否... MA,ORGANISM...C2SP1...MA,ORGANISM...VC.6...MA,ORGANISM...ECCEN...MA,ORGANISM...khs.aasC...MA,ORGANISM... MDEC.12...MA,ORGANISM...MDEC.13...MA,ORGANISM...MDEC.23...MA,ORGANISM...MDEC.33...MA,ORGANISM...MDEO。 11...MA,ORGANISM...MDEN.22...MA,ORGANISM...topoShape...MA,ORGANISM...WPATH...MA,ORGANISM...P...MA,Lij 0.202796,0.426972,0.117596,0.143818,0.072542,0.158172,0.136301,0.007245,0.016986,0.488281,0.300438,0.541931,0.644161,0.048149,0.02002,0,0.503415,0.153457,0.288099,0.186024,0.216833,0.184642,0,0.011592,0.00089, 0,0.209406,0

其中 Lij 是我的班级标识符(0 或 1)。我想知道是否需要使用 numpy 进行先前的转换。

【问题讨论】:

    标签: python csv scikit-learn arff


    【解决方案1】:

    要读取 ARFF 文件,您需要安装 liac-arff。有关详细信息,请参阅链接。 安装完成后,使用以下代码读取 ARFF 文件

    import arff
    import numpy as np
    # read arff data
    with open("file.arff") as f:
        # load reads the arff db as a dictionary with
        # the data as a list of lists at key "data"
        dataDictionary = arff.load(f)
        f.close()
    # extract data and convert to numpy array
    arffData = np.array(dataDictionary['data'])
    

    读取csv数据的方法有多种,我发现最简单的方法是使用Python模块Pandas中的函数read_csv。有关安装的详细信息,请参阅链接。 下面是读取csv数据文件的代码

    # read csv data
    import pandas as pd
    csvData = pd.read_csv("filename.csv",sep=',').values
    

    在任何一种情况下,您都将拥有一个包含数据的 numpy 数组。因为最后一列代表(类/目标/ground truth/labels)。您需要将数据分离到特征数组X 和目标向量y。例如

    X = arffData[:, :-1]
    y = arffData[:, -1]
    

    其中X 包含arffData 中除最后一列之外的所有数据,y 包含arffData 中的最后一列

    现在你可以使用任何supervised learning binary classifier from scikit-learn

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-16
      • 2022-12-17
      • 2012-07-30
      • 2015-01-31
      • 2015-05-20
      • 2017-11-24
      • 2012-02-21
      • 2018-03-20
      相关资源
      最近更新 更多