(作为一个python初学者,记录一点学习期间的笔记,方便日后查阅,若有错误或者更加便捷的方法,望指出!)
1、读取TXT文件数据,并对其中部分数据进行划分。一部分作为训练集数据,一部分作为测试集数据:
def loadData(filename,split,trainingSet=[],testSet=[]):
with open(filename,'r') as file:
lines=file.readlines()
dataset= [[] for i in range(len(lines)-1)]for i inrange(len(dataset)):
dataset[i][:]= (item for item in lines[i].strip().split(',')) #逐行读取数据
print("dateset:",dataset)for x inrange(len(dataset)):for y in range(len(dataset[0])-1):
dataset[x][y]= float(dataset[x][y]) #将除最后一列的数据转化为浮点型
if random.random() < split: #将数据集进行划分
trainingSet.append(dataset[x])else:
testSet.append(dataset[x])print("trainingSet",len(trainingSet))print("testset",len(testSet))
loadData('irisdata.txt',0.8)
2、提取csv文件中的数据,把特征值转化为:特征名称:特征值 的字典格式,用于调用sklearn库。
转换结果如图:
with open("AllElectronics.csv", 'r') as file:
data_lines=file.readlines()
data= [[] for i indata_lines]for i inrange(len(data_lines)):
data[i][:]= (item for item in data_lines[i].strip().split(","))
headers=[]
featureList=[]
labelList=[]for i indata[0]:
headers.append(i)#提取第一行类别名称
del(data[0])for row indata:
labelList.append(row[-1])
rowDict={}for i in range(1,len(row)-1): #把每一行转换成一个字典,便于直接利用sklearn直接提供的库函数
rowDict[headers[i]] =row[i]
featureList.append(rowDict)print(labelList)print(featureList)