python划分训练集和测试集_杨涛的Python机器学习3:单特征与多特征、训练集与测试集,杨桃...
本人CSDN博客專欄:https://blog.csdn.net/yty_7
Github地址:https://github.com/yot777/
單特征與多特征
在上一節標簽和特征的示例中,我們使用的是標簽和特征一一對應:
特征(身高,以米為單位)
標簽
A
1.51
0
B
1.61
1
C
1.76
1
D
2.1
1
E
1.58
0
F
1.68
1
事實上,在現實生活中,存在著大量的多個特征對應一個標簽的情況,以我們熟知的線性規劃問題舉例:
在此問題中,存在x1和x2兩種特征共同決定了該機床廠的銷售利潤。
依照線性規劃的圖解法,我們可以得到:
上圖中的標黃部分是可行域,可行域中的每個坐標(x1,x2)記為標簽1(可行)
除了可行域之外的部分,每個坐標(x1,x2)記為標簽0(不可行)
這樣,我們就完成了多個特征對應一個標簽的匹配。
訓練集與測試集
依照圖解法的結果,我們可以得到以下10個樣本數據的特征和標簽
其中5個數據的標簽為0,5個數據的標簽為1,總共10個數據構成了源數據集:
樣本數據
特征x1
特征x2
標簽
1
1
2
1
2
4
5
0
3
2
1
1
4
4
2
1
5
6
1
0
6
3
3
1
7
5
2
0
8
4
5
0
9
2
7
0
10
2
6
1
在引言中我們學過,機器學習的前兩個步驟是:
學到知識:
通過
大量訓練數據進行數學建模
,讓機器“學”到數據的某種規律。
按時溫習:
通過已經
建好的模型
來
運行測試數據,
驗證“學”到的那些規律是否正確。
那么我們現在只有10個數據,一般來說會將70%~80%的數據用來進行數學建模,這部分數據叫
訓練集。
剩下的20%到30%的數據用來驗證建模運算后的數據是否得到正確的標簽,這部分數據叫
測試集。
在機器學習領域,通常我們用以下4個變量來表示訓練集、測試集以及他們的特征和標簽:
X_train
表示訓練集特征,
y_train
表示訓練集標簽
X_test
表示測試集特征,
y_test
表示測試集標簽。
注意:X為大寫,表示矩陣(一條數據可以有多個特征);y為小寫,表示向量(一條數據只能有一個標簽)
按照80%訓練集20%測試集的原則,我們將以上表格劃分為以下4個部分:
Python實現訓練集與測試集
代碼如下:
import numpy as np
#源數據矩陣
S = np.array([[1,2,1],[4,5,0],[2,1,1],[4,2,1],[6,1,0],[3,3,1],[5,2,0],[4,5,0],[2,7,0],[2,6,1]])
print('源數據矩陣是\n',S)
#X_train訓練集特征矩陣,先取行再取列
X_train = S[:8][:,0:-1]
print('X_train訓練集特征矩陣是\n',X_train)
#y_train訓練集標簽向量,先取行再取列
y_train = S[:8][:,-1]
print('y_train訓練集標簽向量是\n',y_train)
#X_test測試集特征矩陣,先取行再取列
X_test = S[8:][:,0:-1]
print('X_test測試集特征矩陣是\n',X_test)
#y_train訓練集標簽向量,先取行再取列
y_test = S[8:][:,-1]
print('y_test測試集標簽向量是\n',y_test)
運行結果:
源數據矩陣是
[[1 2 1]
[4 5 0]
[2 1 1]
[4 2 1]
[6 1 0]
[3 3 1]
[5 2 0]
[4 5 0]
[2 7 0]
[2 6 1]]
X_train訓練集特征矩陣是
[[1 2]
[4 5]
[2 1]
[4 2]
[6 1]
[3 3]
[5 2]
[4 5]]
y_train訓練集標簽向量是
[1 0 1 1 0 1 0 0]
X_test測試集特征矩陣是
[[2 7]
[2 6]]
y_test測試集標簽向量是
[0 1]
總結
在現實生活中,存在著大量的多個特征對應一個標簽的情況。
源數據中用來進行數學建模的數據叫
訓練集
,一般占源數據的70%~80%
源數據中用來驗證通過建模運算后的數據是否得到正確的標簽,這部分數據叫
測試集
,一般占源數據的20%~30%
在機器學習領域,通常我們用以下4個變量來表示訓練集、測試集以及他們的特征和標簽:
X_train
表示訓練集特征,
y_train
表示訓練集標簽
X_test
表示測試集特征,
y_test
表示測試集標簽。
注意:X為大寫,表示矩陣(一條數據可以有多個特征);y為小寫,表示向量(一條數據只能有一個標簽)
本人CSDN博客專欄:https://blog.csdn.net/yty_7
Github地址:https://github.com/yot777/
如果您覺得本篇本章對您有所幫助,歡迎關注、評論、點贊!Github歡迎您的Follow、Star!
總結
以上是生活随笔為你收集整理的python划分训练集和测试集_杨涛的Python机器学习3:单特征与多特征、训练集与测试集,杨桃...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hertz接触理论_角接触轴承的组配和预
- 下一篇: cesium 局部加载_Cesium(四