將文字記錄轉換為NumPy的解析程式
阿新 • • 發佈:2019-01-07
datingTestSet2.txt檔案中每行有4個數據,前三個為物件特徵值,第四個為物件標籤。將txt資料轉換為numpy陣列,將特徵值與標籤分離。程式碼為:
def file2matrix(filename):
fr = open(filename)
arrayOLines = fr.readlines() #讀入所有行
numberOfLines = len(arrayOLines) #行數
returnMat = zeros((numberOfLines, 3)) #建立陣列,資料集
classLabelVector = [] #標籤集
index = 0
for line in arrayOLines:
line = line.strip() #移除所有的回車符
listFromLine = line.split('\t') #把一個字串按\t分割成字串陣列
returnMat[index,:] = listFromLine[0:3] #取listFromLine的前三個元素放入returnMat
classLabelVector.append(int(listFromLine[-1])) #選取listFromLine的最後一個元素依次存入classLabelVector列表中
index += 1
return returnMat, classLabelVector
#datingDatamat為特徵資料集,datingLabels為標籤集
datingDataMat, datingLabels = file2matrix('datingTestSet2.txt')