我想用scikit训练一个分类器,但是首先我需要加载相应的数据。我正在使用中提供的以下数据文件:
https://archive.ics.uci.edu/ml/machine-learning-databases/yeast/
当我在word中打开它时,它包含以下内容:
ADT1_YEAST 0.58 0.61 0.47 0.13 0.50 0.00 0.48 0.22 MIT
ADT2_YEAST 0.43 0.67 0.48 0.27 0.50 0.00 0.53 0.22 MIT
ADT3_YEAST 0.64 0.62 0.49 0.15 0.50 0.00 0.53 0.22 MIT
AAR2_YEAST 0.58 0.44 0.57 0.13 0.50 0.00 0.54 0.22 NUC
每个文件用双空格隔开,每行用回车符隔开。你知道吗
我想用以下命令来阅读它:
f=open("yeast.data")
data = np.loadtxt(f,delimiter=" ")
最后,我希望能够使用以下方法:
X = data[:,:-1] # select all columns except the last
y = data[:, -1] # select the last column
使用说明:
X_train, X_test, y_train, y_test = train_test_split(X, y)
但当我试图阅读时,出现了以下错误:
ValueError: could not convert string to float: ADT1_YEAST
那么,如何在Python中读取这个文件,以便稍后使用mlpclassizer呢?你知道吗
谢谢
您可以跳过
f=open(...)
,也可以使用dtype='O'
确保numpy
将其作为数字和字符串的混合读入。由于链接文件中的数据结构存在一些不一致性,因此最好使用genfromtxt
而不是loadtxt
:您可以在调用
genfromtxt
(请参见documentation)时更改数据类型,也可以手动更改它们,如下所示:相关问题 更多 >
编程相关推荐