如何将 csv 或 arff 导入 scikit?
How to import csv or arff to scikit?
我有两个 csv 和 arff 格式的数据集,我一直在 weka 的 classification 模型中使用它们。我想知道是否可以在 scikit 中使用这种格式来尝试 classpython 中的其他化方法。
这是我的数据集的样子:
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,有机体...C2SP1...MA,有机体...VC.6...MA,有机体...ECCEN...MA,有机体...khs.aasC。 ..MA,有机体...MDEC.12...MA,有机体...MDEC.13...MA,有机体...MDEC.23...MA,有机体...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 是我的 class 标识符(0 或 1)。我想知道是否需要以前使用 numpy 进行转换。
要阅读 ARFF 文件,您需要安装 liac-arff。有关详细信息,请参阅 link。
安装后,使用以下代码读取 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数据的方法,我发现最简单的是使用函数read_csv
from the Python's module Pandas。有关安装的详细信息,请参阅 link。
读取csv数据文件的代码如下
# read csv data
import pandas as pd
csvData = pd.read_csv("filename.csv",sep=',').values
在任何一种情况下,您都会有一个带有数据的 numpy 数组。因为最后一列代表 (classes/target /ground truth/labels)。您需要将数据分成特征数组 X
和目标向量 y
。例如
X = arffData[:, :-1]
y = arffData[:, -1]
其中 X
包含 arffData
中除最后一列之外的所有数据,而 y
包含 arffData
中的最后一列
现在您可以使用任何 supervised learning binary classifier from scikit-learn.
我有两个 csv 和 arff 格式的数据集,我一直在 weka 的 classification 模型中使用它们。我想知道是否可以在 scikit 中使用这种格式来尝试 classpython 中的其他化方法。
这是我的数据集的样子: 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,有机体...C2SP1...MA,有机体...VC.6...MA,有机体...ECCEN...MA,有机体...khs.aasC。 ..MA,有机体...MDEC.12...MA,有机体...MDEC.13...MA,有机体...MDEC.23...MA,有机体...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 是我的 class 标识符(0 或 1)。我想知道是否需要以前使用 numpy 进行转换。
要阅读 ARFF 文件,您需要安装 liac-arff。有关详细信息,请参阅 link。 安装后,使用以下代码读取 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数据的方法,我发现最简单的是使用函数read_csv
from the Python's module Pandas。有关安装的详细信息,请参阅 link。
读取csv数据文件的代码如下
# read csv data
import pandas as pd
csvData = pd.read_csv("filename.csv",sep=',').values
在任何一种情况下,您都会有一个带有数据的 numpy 数组。因为最后一列代表 (classes/target /ground truth/labels)。您需要将数据分成特征数组 X
和目标向量 y
。例如
X = arffData[:, :-1]
y = arffData[:, -1]
其中 X
包含 arffData
中除最后一列之外的所有数据,而 y
包含 arffData
中的最后一列
现在您可以使用任何 supervised learning binary classifier from scikit-learn.