一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

對(duì)scikit-learn和numpy生成數(shù)據(jù)樣本的方法做一個(gè)總結(jié)

lviY_AI_shequ ? 來源:cc ? 2019-02-14 13:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

????在學(xué)習(xí)機(jī)器學(xué)習(xí)算法的過程中,我們經(jīng)常需要數(shù)據(jù)來驗(yàn)證算法,調(diào)試參數(shù)。但是找到一組十分合適某種特定算法類型的數(shù)據(jù)樣本卻不那么容易。還好numpy, scikit-learn都提供了隨機(jī)數(shù)據(jù)生成的功能,我們可以自己生成適合某一種模型的數(shù)據(jù),用隨機(jī)數(shù)據(jù)來做清洗,歸一化,轉(zhuǎn)換,然后選擇模型與算法做擬合和預(yù)測(cè)。

1. numpy隨機(jī)數(shù)據(jù)生成API????

numpy比較適合用來生產(chǎn)一些簡(jiǎn)單的抽樣數(shù)據(jù)。API都在random類中,常見的API有:

1)rand(d0,d1,...,dn) 用來生成d0×d1×...dn維的數(shù)組 。數(shù)組的值在[0,1)之間

例如:np.random.rand(3,2,2),輸出如下3×2×2的數(shù)組

array([[[ 0.49042678, 0.60643763], [ 0.18370487, 0.10836908]], [[ 0.38269728, 0.66130293], [ 0.5775944 , 0.52354981]],

[[ 0.71705929, 0.89453574], [ 0.36245334, 0.37545211]]])

2)randn((d0,d1,...,dn)也是用來生成d0xd1x...dn維的數(shù)組。不過數(shù)組的值服從N(0,1)的標(biāo)準(zhǔn)正態(tài)分布。

例如:np.random.randn(3,2),輸出如下3x2的數(shù)組,這些值是N(0,1)的抽樣數(shù)據(jù)。

array([[-0.5889483 , -0.34054626], [-2.03094528, -0.21205145], [-0.20804811, -0.97289898]])

如果需要服從的正態(tài)分布,只需要在randn上每個(gè)生成的值x上做變換即可 。

例如:2*np.random.randn(3,2) + 1,輸出如下3x2的數(shù)組,這些值是N(1,4)的抽樣數(shù)據(jù)。

array([[ 2.32910328, -0.677016 ], [-0.09049511, 1.04687598], [ 2.13493001, 3.30025852]])

3)randint(low[,high,size]),生成隨機(jī)的大小為size的數(shù)據(jù),size可以為整數(shù),為矩陣維數(shù),或者張量的維數(shù)。值位于半開區(qū)間 [low, high)。

例如:np.random.randint(3, size=[2,3,4])返回維數(shù)維2x3x4的數(shù)據(jù),取值范圍為最大值為3的整數(shù)。

array([[[2, 1, 2, 1],[0, 1, 2, 1],[2, 1, 0, 2]],[[0, 1, 0, 0],[1, 1, 2, 1],[1, 0, 1, 2]]])

再比如: np.random.randint(3, 6, size=[2,3]) 返回維數(shù)為2x3的數(shù)據(jù)。取值范圍為[3,6).

array([[4, 5, 3], [3, 4, 5]])

4)random_integers(low[,high,size]),和上面的randint類似,區(qū)別在于取值范圍是閉區(qū)間[low, high]。

5)random_sample([size]),返回隨機(jī)的浮點(diǎn)數(shù),在半開區(qū)間 [0.0, 1.0)。如果是其他區(qū)間[a,b),可以加以轉(zhuǎn)換(b - a) * random_sample([size]) + a

例如: (5-2)*np.random.random_sample(3)+2 返回[2,5)之間的3個(gè)隨機(jī)數(shù)。

array([ 2.87037573, 4.33790491, 2.1662832 ])

2. scikit-learn隨機(jī)數(shù)據(jù)生成API介紹

scikit-learn生成隨機(jī)數(shù)據(jù)的API都在datasets類之中,和numpy比起來,可以用來生成適合特定機(jī)器學(xué)習(xí)模型的數(shù)據(jù)。常用的API有:

1) 用make_regression生成回歸模型的數(shù)據(jù)

2) 用make_hastie_10_2,make_classification或者make_multilabel_classification生成分類模型數(shù)據(jù)

3) 用make_blobs生成聚類模型數(shù)據(jù)

4) 用make_gaussian_quantiles生成分組多維正態(tài)分布的數(shù)據(jù)

3. scikit-learn隨機(jī)數(shù)據(jù)生成實(shí)例

3.1回歸模型隨機(jī)數(shù)據(jù)

這里我們使用make_regression生成回歸模型數(shù)據(jù)。幾個(gè)關(guān)鍵參數(shù)有n_samples(生成樣本數(shù)), n_features(樣本特征數(shù)),noise(樣本隨機(jī)噪音)和coef(是否返回回歸系數(shù))。例子代碼如下:

import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets.samples_generator import make_regression # X為樣本特征,y為樣本輸出, coef為回歸系數(shù),共1000個(gè)樣本,每個(gè)樣本1個(gè)特征X, y, coef =make_regression(n_samples=1000, n_features=1,noise=10, coef=True)# 畫圖plt.scatter(X, y, color='black')plt.plot(X, X*coef, color='blue',linewidth=3)plt.xticks(())plt.yticks(())plt.show()

輸出的圖如下:

3.2 分類模型隨機(jī)數(shù)據(jù)

這里我們用make_classification生成三元分類模型數(shù)據(jù)。幾個(gè)關(guān)鍵參數(shù)有n_samples(生成樣本數(shù)), n_features(樣本特征數(shù)), n_redundant(冗余特征數(shù))和n_classes(輸出的類別數(shù)),例子代碼如下:

import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets.samples_generator import make_classification # X1為樣本特征,Y1為樣本類別輸出, 共400個(gè)樣本,每個(gè)樣本2個(gè)特征,輸出有3個(gè)類別,沒有冗余特征,每個(gè)類別一個(gè)簇X1, Y1 = make_classification(n_samples=400, n_features=2, n_redundant=0, n_clusters_per_class=1, n_classes=3)plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)plt.show()

輸出的圖如下:

3.3 聚類模型隨機(jī)數(shù)據(jù)

這里我們用make_blobs生成聚類模型數(shù)據(jù)。幾個(gè)關(guān)鍵參數(shù)有n_samples(生成樣本數(shù)), n_features(樣本特征數(shù)),centers(簇中心的個(gè)數(shù)或者自定義的簇中心) 和 cluster_std(簇?cái)?shù)據(jù)方差,代表簇的聚合程度)。例子如下:

import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets.samples_generator import make_blobs # X為樣本特征,Y為樣本簇類別, 共1000個(gè)樣本,每個(gè)樣本2個(gè)特征,共3個(gè)簇,簇中心在[-1,-1], [1,1], [2,2], 簇方差分別為[0.4, 0.5, 0.2]X, y = make_blobs(n_samples=1000, n_features=2, centers=[[-1,-1], [1,1], [2,2]], cluster_std=[0.4, 0.5, 0.2])plt.scatter(X[:, 0], X[:, 1], marker='o', c=y)plt.show()

輸出的圖如下:

3.4 分組正態(tài)分布混合數(shù)據(jù)

我們用make_gaussian_quantiles生成分組多維正態(tài)分布的數(shù)據(jù)。幾個(gè)關(guān)鍵參數(shù)有n_samples(生成樣本數(shù)),n_features(正態(tài)分布的維數(shù)),mean(特征均值),cov(樣本協(xié)方差的系數(shù)), n_classes(數(shù)據(jù)在正態(tài)分布中按分位數(shù)分配的組數(shù))。 例子如下:

import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets import make_gaussian_quantiles#生成2維正態(tài)分布,生成的數(shù)據(jù)按分位數(shù)分成3組,1000個(gè)樣本,2個(gè)樣本特征均值為1和2,協(xié)方差系數(shù)為2X1, Y1 = make_gaussian_quantiles(n_samples=1000, n_features=2, n_classes=3, mean=[1,2],cov=2)plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)

輸出圖如下:

以上就是生產(chǎn)隨機(jī)數(shù)據(jù)的一個(gè)總結(jié),希望可以幫到學(xué)習(xí)機(jī)器學(xué)習(xí)算法的朋友們。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:機(jī)器學(xué)習(xí)算法的隨機(jī)數(shù)據(jù)生成

文章出處:【微信號(hào):AI_shequ,微信公眾號(hào):人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    破解數(shù)據(jù)瓶頸:智能汽車合成數(shù)據(jù)架構(gòu)與應(yīng)用實(shí)踐

    成數(shù)據(jù)因可控等特性,已成為智能汽車感知系統(tǒng)數(shù)據(jù)成本高、場(chǎng)景覆蓋不足等困境的突破方向!。本文探討其體系原則、分層結(jié)構(gòu),聚焦艙外道路感知與艙內(nèi)乘員識(shí)別場(chǎng)景,闡述生成流程與實(shí)踐,助力感知系統(tǒng)開發(fā)!
    的頭像 發(fā)表于 07-16 10:31 ?171次閱讀
    破解<b class='flag-5'>數(shù)據(jù)</b>瓶頸:智能汽車合<b class='flag-5'>成數(shù)據(jù)</b>架構(gòu)與應(yīng)用實(shí)踐

    破解數(shù)據(jù)瓶頸:智能汽車合成數(shù)據(jù)架構(gòu)與應(yīng)用實(shí)踐

    智能汽車感知系統(tǒng)面臨數(shù)據(jù)困境,如結(jié)構(gòu)復(fù)雜、成本高昂、覆蓋受限、合規(guī)性與隱私風(fēng)險(xiǎn)突出。合成數(shù)據(jù)作為新型數(shù)據(jù)生成方式,以高度可配置性、自動(dòng)化、可復(fù)現(xiàn)為特點(diǎn),有望解決這些問題。
    的頭像 發(fā)表于 07-15 11:48 ?128次閱讀
    破解<b class='flag-5'>數(shù)據(jù)</b>瓶頸:智能汽車合<b class='flag-5'>成數(shù)據(jù)</b>架構(gòu)與應(yīng)用實(shí)踐

    嵌入式AI技術(shù)漫談:怎么為訓(xùn)練AI模型采集樣本數(shù)據(jù)

    Q 需要為嵌入式AI模型提供多少樣本數(shù)據(jù)? 我在向客戶介紹如何使用AI方法設(shè)計(jì)款客戶產(chǎn)品時(shí),客戶理解,AI嵌入式項(xiàng)目的開發(fā)都是圍繞數(shù)據(jù)展開的,如此,我經(jīng)常會(huì)被問到這樣的問題:客戶的工
    的頭像 發(fā)表于 06-11 16:30 ?586次閱讀

    技術(shù)分享 | 高逼真合成數(shù)據(jù)助力智駕“看得更準(zhǔn)、學(xué)得更快”

    自動(dòng)駕駛研發(fā)如何高效獲取海量訓(xùn)練數(shù)據(jù)?高逼真合成數(shù)據(jù)技術(shù)正在提供新解法。通過仿真平臺(tái)可生成多場(chǎng)景、多傳感器的精準(zhǔn)標(biāo)注數(shù)據(jù)。文章詳解如何構(gòu)建符合nuScenes標(biāo)準(zhǔn)的
    的頭像 發(fā)表于 04-29 10:47 ?2891次閱讀
    技術(shù)分享 | 高逼真合<b class='flag-5'>成數(shù)據(jù)</b>助力智駕“看得更準(zhǔn)、學(xué)得更快”

    技術(shù)分享 | AVM合成數(shù)據(jù)仿真驗(yàn)證方案

    AVM 合成數(shù)據(jù)仿真驗(yàn)證技術(shù)為自動(dòng)駕駛環(huán)境感知發(fā)展帶來助力,可借助仿真軟件配置傳感器、搭建環(huán)境、處理圖像,生成 AVM 合成數(shù)據(jù),有效加速算法驗(yàn)證。然而,如何利用仿真軟件優(yōu)化傳感器外參與多場(chǎng)景驗(yàn)證,顯著提升AVM算法表現(xiàn)?
    的頭像 發(fā)表于 03-19 09:40 ?3055次閱讀
    技術(shù)分享 | AVM合<b class='flag-5'>成數(shù)據(jù)</b>仿真驗(yàn)證方案

    ADS8556和ADS8568采集一個(gè)樣本點(diǎn)最快支持多少nS?

    求教下,有應(yīng)用經(jīng)驗(yàn)的給指導(dǎo)下,ADS8556 和ADS8568 采集一個(gè)樣本點(diǎn)最快支持多少nS,且兩個(gè)相鄰樣本點(diǎn)的
    發(fā)表于 12-09 07:16

    大語言模型優(yōu)化生成管理方法

    大語言模型的優(yōu)化生成管理是個(gè)系統(tǒng)工程,涉及模型架構(gòu)、數(shù)據(jù)處理、內(nèi)容控制、實(shí)時(shí)響應(yīng)以及倫理監(jiān)管等多個(gè)層面。以下,是對(duì)大語言模型優(yōu)化生成管理
    的頭像 發(fā)表于 12-02 10:45 ?397次閱讀

    ADS54J69EVM輸出的樣本數(shù)據(jù)變化幅度很大的原因?怎么解決?

    您好,我在測(cè)試ADS54J69EVM的數(shù)據(jù)輸時(shí),選擇將VCM、AINP、AINM與板上到的GND連接在起,本以為這樣輸出的樣本數(shù)據(jù)應(yīng)該時(shí)接近0V的數(shù)據(jù),出現(xiàn)的波動(dòng)也會(huì)很小,但實(shí)時(shí)是
    發(fā)表于 11-27 06:39

    利用ADS869X做一個(gè)隔離的高速數(shù)據(jù)采集系統(tǒng),ADC需要個(gè)時(shí)鐘信號(hào),可以自己外接個(gè)晶振電路嗎?

    我想利用ADS869X做一個(gè)隔離的高速數(shù)據(jù)采集系統(tǒng),原理圖為Datasheet 里面的 Figure 8-1. 18-Bit Isolated DAQ System for High
    發(fā)表于 11-26 07:11

    PyTorch 數(shù)據(jù)加載與處理方法

    有自定義數(shù)據(jù)集的基類。它需要用戶實(shí)現(xiàn)兩個(gè)方法: __len__() 和 __getitem__() 。 __len__() :返回數(shù)據(jù)集中樣本
    的頭像 發(fā)表于 11-05 17:37 ?928次閱讀

    使用ISO124做一個(gè)數(shù)據(jù)采集系統(tǒng),如何減小ISO124的失調(diào)電壓的影響?

    我在使用ISO124做一個(gè)數(shù)據(jù)采集系統(tǒng),由于ISO本身的失調(diào)電壓為20mV左右,對(duì)采樣精度的影響比較大,請(qǐng)問有沒有什么方法可以減小失調(diào)電壓的影響?謝謝
    發(fā)表于 09-25 06:03

    如何使用合宙的DTU+業(yè)務(wù)云平臺(tái),做一個(gè)溫濕度傳感器數(shù)據(jù)采集項(xiàng)目?

    使用合宙的DTU+業(yè)務(wù)云平臺(tái),做一個(gè)溫濕度傳感器數(shù)據(jù)采集項(xiàng)目,超詳細(xì)教程。
    的頭像 發(fā)表于 09-18 11:11 ?908次閱讀
    如何使用合宙的DTU+業(yè)務(wù)云平臺(tái),<b class='flag-5'>做一個(gè)</b>溫濕度傳感器<b class='flag-5'>數(shù)據(jù)</b>采集項(xiàng)目?

    英國醫(yī)院通過RFID技術(shù)跟蹤患者樣本數(shù)據(jù)……

    成千上萬的癌癥病例。據(jù)利茲大學(xué)的相關(guān)數(shù)據(jù)顯示,該醫(yī)院每年接收60000個(gè)癌癥病例,生成超過250000個(gè)樣本塊和近100萬
    的頭像 發(fā)表于 08-08 16:15 ?545次閱讀
    英國醫(yī)院通過RFID技術(shù)跟蹤患者<b class='flag-5'>樣本數(shù)據(jù)</b>……

    system_adc_read_fast為什么只能采集255個(gè)樣本

    system_adc_read_fast僅采集 255 個(gè)樣本 當(dāng)樣本數(shù)量增加時(shí),函數(shù)凍結(jié),看門狗復(fù)位芯片。 NONOS 2.0
    發(fā)表于 07-18 08:31

    AI訓(xùn)練的基本步驟

    AI(人工智能)訓(xùn)練是個(gè)復(fù)雜且系統(tǒng)的過程,它涵蓋了從數(shù)據(jù)收集到模型部署的多個(gè)關(guān)鍵步驟。以下是對(duì)AI訓(xùn)練過程的詳細(xì)闡述,包括每個(gè)步驟的具體內(nèi)容,并附有相關(guān)代碼示例(以Python和scikit
    的頭像 發(fā)表于 07-17 16:57 ?5254次閱讀