【发布时间】:2022-01-25 05:27:18
【问题描述】:
查找此内容后,我找到了解决问题的可能方法:How to transform my csv file into this scikit learn dataset
但是,同事的问题从未暗示过分类变量,因此每当我尝试实现此代码时,都会发现此错误:
ValueError: could not convert string to float: 'Adzuki beans, uncooked'
到目前为止我的代码:
def load_my_dataset():
with open('data/Composition3_remastered') as csv_file:
data_file = csv.reader(csv_file)
temp = next(data_file)
n_samples = 1878 #number of data rows, don't count header
n_features = 14 #number of columns for features, don't count target column
feature_names = ['Food Item','f2','f3','f4'] #adjust accordingly
target_names = ['t1','t2','t3'] #adjust accordingly
data = np.empty((n_samples, n_features))
target = np.empty((n_samples,), dtype=np.int)
for i, sample in enumerate(data_file):
data[i] = np.asarray(sample[:-1])
target[i] = np.asarray(sample[-1])
return Bunch(data=data, target=target, feature_names = feature_names, target_names = target_names)
data6 = load_my_dataset()
请注意,我实际上有 2 个分类变量:食品项目和食品类别。
我该如何解决这个问题?
【问题讨论】:
-
请在问题中提供完整的错误回溯。 (肯定有比逐行填充数组更好的方法吗?)
标签: python scikit-learn dataset opencsv