機器學習之數據分割

1、為什么要做數據分割;

做數據分割可以驗證自己做的模型是否正確,分割是將數據 隨機分成(舉例:訓練數據80%、測試數據20%),一部分數據用來訓練模型,一部分數據用來驗證模型的正確性;

備注:分割數據前,要確實我們已經對數據進行了明確

2、數據分割,上代碼:(主要黑色加粗部分)

import numpy as np #矩陣

import matplotlib.pyplot as plt #數據展示、可視化

import pandas as pd? ? #數據預處理

#import dataset

datasets = pd.read_csv('Data.csv')

#missing data 丟失數據處理 1、去最大值 最小值,2、平均數 3、刪除

X = datasets.iloc[:,:-1].values? #取出獨立變量

Y = datasets.iloc[:,3].values

#數據預處理,補充缺失數據

from sklearn.preprocessing import Imputer

#mean 缺失的用平均數填充

#怎么處理數據

imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0)

#處理哪里的數據

imputer = imputer.fit( X[:, 1:3])

X[:, 1:3] = imputer.transform( X[:, 1:3])

#數據明確 (文字轉數字 n-1 “虛擬變量”,系統的底層都是處理數字的數值,規范0到1之間)

from sklearn.preprocessing import LabelEncoder,OneHotEncoder

#把這個庫轉成物件類用

labelencoder_X = LabelEncoder()

X[:, 0] = labelencoder_X.fit_transform(X[:, 0])

onehotencoder = OneHotEncoder()

X = onehotencoder.fit_transform(X).toarray()

labelencoder_Y = LabelEncoder()

Y = labelencoder_Y.fit_transform(Y)

#數據分割 1、驗證模型做得對不對? (一塊用了訓練模型,一塊數據用來驗證模型的正確性)

from sklearn.cross_validation import train_test_split

X_train, X_text, Y_train, Y_test = train_test_split(X,Y,test_size = 0.2,random_state = 0)

3、在控制臺打印查看分割后的數據


python分割之后的數據

4、R語言分割數據

(1)、首先需要導入caTools 包,如果勾選里面沒有,可以點擊Install搜索下載對應的包


import Library

(2)、上代碼進行分割

library(caTools)

#set.seed(123)里面有數據就是隨機處理

set.seed(123)

split = sample.split(datasets$Purchased, SplitRatio = 0.8)#這個地方要注意和python相反

training_set = subset(datasets, split == TRUE) #80%

test_set = subset(datasets, split == FALSE) #20%

(3)查看分割之后的數據

test_set的數據

Country Age Salary Purchased

1? ? ? ? 1? 44? 72000? ? ? ? 1

10? ? ? 1? 37? 67000? ? ? ? 2

test_set的數據

Country? ? ? Age? Salary Purchased

2? ? ? 2 27.00000 48000.00? ? ? ? 2

3? ? ? 3 30.00000 54000.00? ? ? ? 1

4? ? ? 2 38.00000 61000.00? ? ? ? 1

5? ? ? 3 40.00000 63777.78? ? ? ? 2

6? ? ? 1 35.00000 58000.00? ? ? ? 2

7? ? ? 2 38.77778 52000.00? ? ? ? 1

8? ? ? 1 48.00000 79000.00? ? ? ? 2

9? ? ? 3 50.00000 83000.00? ? ? ? 1

datasets數據

> datasets

Country? ? ? Age? Salary Purchased

1? ? ? ? 1 44.00000 72000.00? ? ? ? 1

2? ? ? ? 2 27.00000 48000.00? ? ? ? 2

3? ? ? ? 3 30.00000 54000.00? ? ? ? 1

4? ? ? ? 2 38.00000 61000.00? ? ? ? 1

5? ? ? ? 3 40.00000 63777.78? ? ? ? 2

6? ? ? ? 1 35.00000 58000.00? ? ? ? 2

7? ? ? ? 2 38.77778 52000.00? ? ? ? 1

8? ? ? ? 1 48.00000 79000.00? ? ? ? 2

9? ? ? ? 3 50.00000 83000.00? ? ? ? 1

10? ? ? 1 37.00000 67000.00? ? ? ? 2

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容