#導入隨機數(shù)模塊
成都一家集口碑和實力的網(wǎng)站建設服務商,擁有專業(yè)的企業(yè)建站團隊和靠譜的建站技術(shù),10年企業(yè)及個人網(wǎng)站建設經(jīng)驗 ,為成都成百上千家客戶提供網(wǎng)頁設計制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設等服務,包括成都營銷型網(wǎng)站建設,品牌網(wǎng)站建設,同時也為不同行業(yè)的客戶提供成都做網(wǎng)站、成都網(wǎng)站設計的服務,包括成都電商型網(wǎng)站制作建設,裝修行業(yè)網(wǎng)站制作建設,傳統(tǒng)機械行業(yè)網(wǎng)站建設,傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設。在成都做網(wǎng)站,選網(wǎng)站制作建設服務商就選創(chuàng)新互聯(lián)建站。
import random
#定義一個空的數(shù)組,用作取樣表
reList = []
#為取樣表賦值,1~100
for i in range(1,101):
reList.append(i)
#使用sample方法,取3個隨機數(shù)
res = random.sample(reList,k=3)
print("三個隨機數(shù)是:{}".format(res))
不放回取樣:
從列表ori中不放回地取n個數(shù)
通過這種操作,我們可以獲得一個二維列表的子集:
(如果這個二維列表是圖的鄰接矩陣,那么就是對圖進行隨機采樣,獲得一個圖的子圖)
首先要注意,"+" 操作對于list和numpy.array是完全不同的
python 中的list,"+"代表拼接:
在numpy.array中,"+"代表矩陣相加
keepdim指的是維度不變,常在sum中使用。如:
會發(fā)現(xiàn),keepdim之后還是二維的
這里要注意,pytorch和numpy里max()函數(shù)的返回值是不同的
pytorch:
也就是說,max(1)代表求第一維的最大值,對于二維數(shù)組來說,就是求縱向的最大值,然后,第一個返回值是最大值所形成數(shù)組,第二個返回值是最大值所在的索引。這一個技巧在機器學習的分類任務中很常用,比如我們的分類任務是把數(shù)據(jù)分成m類,那么最終我們模型的輸出是m維的,對于n個樣本就是n*m,如果要判斷我們的模型最終的分類結(jié)果,就是找n個樣本里,每個樣本m維輸出的最大值索引,代表樣本是這個類的可能性最大。我們可以方便地用這種方式找到最大值地索引:
其中test_out是模型輸出,predict_y則是分類結(jié)果
另外一點要注意的是,numpy與pytorch不同,numpy的max()只有一個返回值:
也就是說,numpy.max()不會返回最大值所在的索引
range()函數(shù)的用法如下:
(1)range(stop)
創(chuàng)建一個(0,stop)之間的整數(shù)序列,步長為1。
(2)range(start,stop)
創(chuàng)建一個(start,stop)之間的整數(shù)序列,步長為1。
(3)range(start,stop,step)
創(chuàng)建一個[start,stop)之間的整數(shù)序列,步長為step。
參數(shù)介紹:
start:表示從返回序列的起始編號,默認情況下從0開始。
stop:表示生成最多但不包括此數(shù)字的數(shù)字。
step:指的是序列中每個數(shù)字之間的差異,默認值為1。
range()是Python的內(nèi)置函數(shù),在用戶需要執(zhí)行特定次數(shù)的操作時使用它,表示循環(huán)的意思。內(nèi)置函數(shù)range()可用于以列表的形式生成數(shù)字序列。在range()函數(shù)中最常見用法是使用for和while循環(huán)迭代序列類型(List,string等)。
簡單的來說,range()函數(shù)允許用戶在給定范圍內(nèi)生成一系列數(shù)字。根據(jù)用戶傳遞給函數(shù)的參數(shù)數(shù)量,用戶可以決定該系列數(shù)字的開始和結(jié)束位置以及一個數(shù)字與下一個數(shù)字之間的差異有多大。