91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级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)一些簡單的抽樣數(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)推薦

    算法工程師需要具備哪些技能?

    開發(fā)(如NumPy、Pandas、Scikit-learn)。C++/Java:高性能場(chǎng)景(如大規(guī)模矩陣運(yùn)算、分布式系統(tǒng)開發(fā))。 開發(fā)工具Linux命令行:文件操作、進(jìn)程管理、日志分析等。Shell腳本
    發(fā)表于 02-27 10:53

    CIE全國RISC-V創(chuàng)新應(yīng)用大賽 人臉識(shí)別系統(tǒng)介紹與移植

    scikit-learn 等依賴的編譯需求,執(zhí)行以下命令(需管理員權(quán)限): 打開命令行,不要進(jìn)入venv環(huán)境,直接輸入: sudo apt update && sudo apt
    發(fā)表于 11-08 11:19

    ?ADS8661W 數(shù)據(jù)手冊(cè)總結(jié)

    ADS8661Wis 是款基于逐次逼近 (SAR) 模數(shù)轉(zhuǎn)換器 (ADC) 拓?fù)涞募?b class='flag-5'>成數(shù)據(jù)采集系統(tǒng)。該器件具有高速、高精度 SAR ADC、集成差分模擬前端 (AFE) 輸入驅(qū)動(dòng)電路。該ADS8661W包括
    的頭像 發(fā)表于 10-23 09:17 ?558次閱讀
    ?ADS8661W <b class='flag-5'>數(shù)據(jù)</b>手冊(cè)<b class='flag-5'>總結(jié)</b>

    NVIDIA GR00T-Dreams助力光輪智能革新合成數(shù)據(jù)

    人工演示或遙操作的數(shù)據(jù)收集方式,效率低下且受限于物理世界的諸多約束。而如今,光輪智能借助 NVIDIA GR00T-Dreams,成功開創(chuàng)了個(gè)全新的合成數(shù)據(jù)
    的頭像 發(fā)表于 08-20 14:29 ?1547次閱讀

    yolov11轉(zhuǎn)kmodel,numpy是要降級(jí)為1.x嗎?

    python3.9,yolo是最新的穩(wěn)定版,和yolo捆綁pip安裝的numpy是2.0.1 錯(cuò)誤日志
    發(fā)表于 08-11 08:16

    如何使用WaveDac8設(shè)置個(gè)簡單的數(shù)據(jù)采集系統(tǒng),以生成不同持續(xù)時(shí)間的脈沖?

    我目前正在嘗試使用 WaveDac8 設(shè)置個(gè)簡單的數(shù)據(jù)采集系統(tǒng),以生成不同持續(xù)時(shí)間的脈沖,并應(yīng)用于 RC 簡單電路。我成功生成了 250
    發(fā)表于 07-25 07:55

    破解數(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 ?1070次閱讀
    破解<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 ?656次閱讀
    破解<b class='flag-5'>數(shù)據(jù)</b>瓶頸:智能汽車合<b class='flag-5'>成數(shù)據(jù)</b>架構(gòu)與應(yīng)用實(shí)踐

    51Sim利用NVIDIA Cosmos提升輔助駕駛合成數(shù)據(jù)場(chǎng)景的泛化性

    51Sim 利用 NVIDIA Cosmos 的生成式世界基礎(chǔ)模型,對(duì)現(xiàn)有的合成數(shù)據(jù)進(jìn)行大規(guī)模泛化,在確保物理真實(shí)性的前提下,大幅提升了數(shù)據(jù)的豐富度。同時(shí)依托 NVIDIA Issac Sim,將
    的頭像 發(fā)表于 06-26 09:09 ?1399次閱讀

    嵌入式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 ?1388次閱讀

    [Actor] 通過actor創(chuàng)建控制中心與數(shù)據(jù)采集工作站來看操作者架構(gòu)

    隊(duì)列”+“發(fā)送該隊(duì)列消息” 注:這里很重要,本人也是反復(fù)使用后才明白此處的功能。timer方法是被反復(fù)定時(shí)調(diào)用的,在該方法每次調(diào)用生成數(shù)據(jù),在生成
    發(fā)表于 05-14 18:44

    技術(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 ?3531次閱讀
    技術(shù)分享 | 高逼真合<b class='flag-5'>成數(shù)據(jù)</b>助力智駕“看得更準(zhǔn)、學(xué)得更快”

    功德+1,用小安派-Eyes-S1做一個(gè)電子木魚

    2024積德累功,心想事成!接下來看看如何用小安派-Eyes-S1做一個(gè)電子木魚。01GUI-Guider頁面設(shè)計(jì)先新建個(gè)工程。直接進(jìn)入U(xiǎn)I設(shè)計(jì)界面,這里用到了兩個(gè)
    的頭像 發(fā)表于 04-09 18:38 ?990次閱讀
    功德+1,用小安派-Eyes-S1<b class='flag-5'>做一個(gè)</b>電子木魚

    嵌入式AI技術(shù)之深度學(xué)習(xí):數(shù)據(jù)樣本預(yù)處理過程中使用合適的特征變換對(duì)深度學(xué)習(xí)的意義

    和模擬切規(guī)律,但實(shí)際上,這個(gè)過程效率非常低,需要消耗大量的存儲(chǔ)空間描述網(wǎng)絡(luò)的參數(shù),并且需要大量的數(shù)據(jù)樣本覆蓋規(guī)律可能涉及到的情景。 優(yōu)秀的數(shù)學(xué)家們?cè)谶^往的研究中,已經(jīng)發(fā)現(xiàn)和總結(jié)出了
    的頭像 發(fā)表于 04-02 18:21 ?1521次閱讀

    技術(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 ?3741次閱讀
    技術(shù)分享 | AVM合<b class='flag-5'>成數(shù)據(jù)</b>仿真驗(yàn)證方案