我希望用scikit对数据库进行预处理,从arff文件中学习,然后在python wrapper3 3上使用预处理的数据库,因此我需要一个函数来加载arff作为df或将arff转换为csv,然后再在arff上下载编辑的df或将csv转换为arff。
有些人推荐https://github.com/renatopp/liac-arff (liac-arff),但我不知道如何使用这个库。
因此,如果有人知道在python3上解释得很好的任何函数或代码,我就会接受。
在我的例子中,我尝试使用这个函数:
def arff2csv(arff_path, csv_path=None):
with open(arff_path, 'r') as fr:
attributes = []
if csv_path is None:
csv_path = arff_path[:-4] + 'csv' # *.arff -> *.csv
write_sw = False
with open(csv_path, 'w') as fw:
for line in fr.readlines():
if write_sw:
fw.write(line)
elif '@data' in line:
fw.write(','.join(attributes) + '\n')
write_sw = True
elif '@attribute' in line:
#print(line.split(' ')[2])
attributes.append(line.split(' ')[1]) # @attribute attribute_tag numeric
print("Convert {} to {}.".format(arff_path, csv_path))发布于 2022-05-12 20:41:11
如果您想停留在scikit-learn生态系统中,可以查看滑雪板-weka-插件库,它在引擎盖下使用python wrapper3 3。
https://stackoverflow.com/questions/72212756
复制相似问题