日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python划分训练集和测试集_杨涛的Python机器学习3:单特征与多特征、训练集与测试集,杨桃...

發布時間:2025/3/15 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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:单特征与多特征、训练集与测试集,杨桃...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。