Csv 使用genfromtxt输入scikit学习拟合函数时出现问题

Csv 使用genfromtxt输入scikit学习拟合函数时出现问题,csv,numpy,scikit-learn,Csv,Numpy,Scikit Learn,我正在尝试从一个csv文件中读取genfromtxt,然后使用RandomForestClassifier。我最后两次使用genfromtxt;一次阅读功能,然后获得正确的格式。 此尝试的代码如下所示: 导入csv 将numpy作为np导入 data = np.genfromtxt('plants.csv',dtype=float, delimiter=',', names=True) feature_names = np.array(data.dtype.names) feature_name

我正在尝试从一个csv文件中读取genfromtxt,然后使用RandomForestClassifier。我最后两次使用genfromtxt;一次阅读功能,然后获得正确的格式。 此尝试的代码如下所示: 导入csv 将numpy作为np导入

data = np.genfromtxt('plants.csv',dtype=float, delimiter=',', names=True)
feature_names = np.array(data.dtype.names)
feature_names = feature_names[[ 0,1,2,3,4]] 

data = np.genfromtxt('plants.csv',dtype=float, delimiter=',', skip_header=1)
plants_X = data[:, [0,1,2,3,4]] 
_y = np.ravel(data[:,[5]]) #Return a flattened array required by scikit-learn fit for 2nd argument

from sklearn.ensemble import RandomForestClassifier 
clf = RandomForestClassifier( n_estimators = 10, random_state = 33)
clf = clf.fit(plants_X, plants_y)

print feature_names, '\n', clf.feature_importances_

print feature_names, '\n', clf.feature_importances_
当我将genfromtxt与“names=True”选项一起使用时,读入的“data”不是我期望的格式

“([(31.194181,0.0,0.0,0.0,1.0,1.0), (12.0, 0.0, 0.0, 1.0, 0.0, 1.0), (18.0, 1.0, 0.0, 1.0, 0.0, 0.0), (31.194181, 0.0, 0.0, 0.0, 1.0, 0.0)], ... 数据类型=[('A',' 我想从文件中获取功能名称,而不必读取两次

谢谢你的帮助


附:感谢“电子人”我走了这么远!

我建议用熊猫来做这个。
您可以使用
pandas.read\u csv
获取带有列名的pandas数据帧。不过,您需要将数据转换为numpy数组,以将其传递给scikit learn。

我想看看是否有办法使用一个genfromtxt方法,如果可能的话,该方法的输出可以强制为正确的格式。Andreas,其他人?您可以阅读sing从文件中提取行,提取并调用剩余描述符上的genfromtext。为什么不想使用完全为您的目的而设计的函数?嗨,Andreas,因为我不知道如何使用它…我可以在代码中添加一个示例吗?thnaks,Chris