python中如何實現將資料分成訓練集與測試集
阿新 • • 發佈:2019-01-08
接下來,直接給出大家響應的程式碼,並對每一行進行標註,希望能夠幫到大家。
需要用到的是庫是。numpy 、sklearn。
#匯入相應的庫(對資料庫進行切分需要用到的庫是sklearn.model_selection 中的 train_test_split)
import numpy as np
from sklearn.model_selection import train_test_split
#首先,讀取.CSV檔案成矩陣的形式。
my_matrix = np.loadtxt(open("xxxxxx.csv"),delimiter=",",skiprows=0)
#對於矩陣而言,將矩陣倒數第一列之前的數值給了X(輸入資料),將矩陣大最後一列的數值給了y(標籤)
X, y = my_matrix[:,:-1],my_matrix[:,-1]
#利用train_test_split方法,將X,y隨機劃分問,訓練集(X_train),訓練集標籤(X_test),測試卷(y_train),
測試集標籤(y_test),安訓練集:測試集=7:3的
概率劃分,到此步驟,可以直接對資料進行處理
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
#此步驟,是為了將訓練集與資料集的資料分別儲存為CSV檔案
#np.column_stack將兩個矩陣進行組合連線
train= np.column_stack((X_train,y_train))
#numpy.savetxt 將txt檔案儲存為。csv結尾的檔案
numpy.savetxt('train_usual.csv',train, delimiter = ',')
test = np.column_stack((X_test, y_test))
numpy.savetxt('test_usual.csv', test, delimiter = ',')
完整沒解釋的程式碼部分為
import numpy as np
from sklearn.model_selection import train_test_split
my_matrix = np.loadtxt(open("xxxxx.csv"),delimiter=",",skiprows=0)
X, y = my_matrix[:,:-1],my_matrix[:,-1]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
train= np.column_stack((X_train,y_train))
numpy.savetxt('train_usual.csv',train, delimiter = ',')
test = np.column_stack((X_test, y_test))
numpy.savetxt('test_usual.csv', test, delimiter = ',')