1. 程式人生 > >將文字記錄轉換為NumPy的解析程式

將文字記錄轉換為NumPy的解析程式

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')