chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

如何在Python中實現(xiàn)一個簡單的貝葉斯模型?

數(shù)據(jù)分析與開發(fā) ? 來源:Datawhale ? 作者:張峰 ? 2021-06-23 17:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

即使對于一個非數(shù)據(jù)科學家來說,貝葉斯統(tǒng)計這個術(shù)語也已經(jīng)很流行了。你可能在大學期間把它作為必修課之一來學習,而沒有意識到貝葉斯統(tǒng)計有多么重要。事實上,貝葉斯統(tǒng)計不僅僅是一種特定的方法,甚至是一類方法;它是一種完全不同的統(tǒng)計分析范式。

為什么貝葉斯統(tǒng)計如此重要

貝葉斯統(tǒng)計為你提供了在新數(shù)據(jù)的證據(jù)中更新你的評估工具,這是一個在許多現(xiàn)實世界場景中常見的概念,如跟蹤大流行病,預(yù)測經(jīng)濟趨勢,或預(yù)測氣候變化。貝葉斯統(tǒng)計是許多較著名的統(tǒng)計模型的支柱,如高斯過程。

重要的是,學習貝葉斯統(tǒng)計原理可以成為你作為一個數(shù)據(jù)科學家的寶貴財富,因為它給你一個全新的視角來解決具有真實世界動態(tài)數(shù)據(jù)來源的新問題。

這篇文章將介紹貝葉斯統(tǒng)計的基本理論,以及如何在Python中實現(xiàn)一個簡單的貝葉斯模型。

目錄表:

01 什么是貝葉斯統(tǒng)計?

02 貝葉斯編程簡介

03 貝葉斯的工作流程

04 建立一個簡單的貝葉斯模型

閑話少說,進入主題!讓我們開始介紹貝葉斯統(tǒng)計編程。

1 什么是貝葉斯統(tǒng)計?

你可能會在互聯(lián)網(wǎng)上的某個地方或在你的課堂上看到這個方程式。

05529712-ca9c-11eb-9e57-12bb97331649.png

如果你沒有,也不要擔心,因為我將向你簡要介紹貝葉斯的基本原則以及該公式的工作原理。

關(guān)鍵術(shù)語

上述貝葉斯公式的組成部分一般被稱為概率聲明。例如,在下面的后驗概率聲明中,該術(shù)語的意思是 "給定觀測值y,theta(θ)的概率是多少 "。

Theta(θ)是這里的未知數(shù),被稱為我們所關(guān)心的參數(shù)。參數(shù)的不確定性遵循一個特定的概率分布,可以使用與數(shù)據(jù)相關(guān)的模型組合來估計有關(guān)參數(shù)。

上述貝葉斯統(tǒng)計表述也被稱為反概率,因為它是從觀察到參數(shù)開始的。換言之,貝葉斯統(tǒng)計試圖從數(shù)據(jù)(效果)中推斷出假設(shè)(原因),而不是用數(shù)據(jù)來接受/拒絕工作假設(shè)。

貝葉斯公式

那么,貝葉斯公式告訴我們什么呢?

后驗概率是我們想知道的主要部分,因為Theta(θ)是我們感興趣的參數(shù)。

觀察的可能性僅僅意味著,在Theta(θ)的特定值下,數(shù)據(jù)y在現(xiàn)實世界中出現(xiàn)的可能性有多大。

先驗概率是我們對Theta (θ)應(yīng)該是什么樣子的最佳猜測(例如,也許它遵循正態(tài)或高斯分布)。

歸一化常數(shù)只是一個系數(shù)常數(shù),使整個方程積分為1(因為概率不能低于0和高于1)。

現(xiàn)在我們已經(jīng)涵蓋了貝葉斯統(tǒng)計的基本理論,讓我們開始為即將到來的貝葉斯編程教程進行設(shè)置。

2 貝葉斯編程介紹

安裝

首先,安裝PyMC3作為我們執(zhí)行貝葉斯統(tǒng)計編程的首選庫。

推薦使用conda

conda install -c conda-forge pymc3

也可使用pip

pip install pymc3

獲取數(shù)據(jù)

我們將使用描述美國家庭中氡氣(Radon)濃度的氡氣數(shù)據(jù)集。氡氣已被證明是非吸煙者患肺癌的最高預(yù)測因素之一,其濃度通常與房屋的整體條件(例如,是否有地下室,等等)有關(guān)。

首先,在你的筆記本或終端運行以下命令:

!wget "https://raw.githubusercontent.com/fonnesbeck/mcmc_pydata_london_2019/master/data/radon.csv"

確保你的數(shù)據(jù)位于你的筆記本的同一目錄內(nèi)。

數(shù)據(jù)探索

import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import numpy as npradon = pd.read_csv('./radon.csv', index_col=0)radon.head()

我們注意到,有29列描述了一個家庭中氡(Radon)的濃度。

數(shù)據(jù)集匯總

讓我們畫一張圖,顯示 "ANOKA "的氡的對數(shù)濃度分布,用一條垂直線來說明對數(shù)濃度為1.1。

anoka_radon = radon.query('county=="ANOKA"').log_radon sns.distplot(anoka_radon, bins=16)plt.axvline(1.1)

密度分布

ANOKA地區(qū)氡氣對數(shù)濃度超過1.1的家庭比例似乎相當大,這是一個令人擔憂的趨勢......

3 貝葉斯工作流

現(xiàn)在我們有了數(shù)據(jù),讓我們進行貝葉斯推斷。一般來說,這個過程可以分解為以下三個步驟。

第1步:指定一個概率模型

這是作為建模者要多做選擇的地方。你將需要為一切指定最可能的概率分布函數(shù)(例如,正態(tài)或高斯、考奇、二項式、t分布、F分布,等等)。

我所說的一切,是指包括未知參數(shù)、數(shù)據(jù)、協(xié)變量、缺失數(shù)據(jù)、預(yù)測在內(nèi)的一切。所以,用不同的分布函數(shù)做實驗,看看在現(xiàn)實世界的場景中如何起效。

第2步:計算后驗分布

現(xiàn)在你將計算這個概率項,給定貝葉斯方程右邊的所有項。

第3步:檢查你的模型

與其他ML模型一樣,評估你的模型是關(guān)鍵?;氐降谝徊剑瑱z查你的假設(shè)是否有意義。如果沒有,改變概率分布函數(shù),并反復重申。

4 建立一個簡單的貝葉斯模型

現(xiàn)在,我將向你介紹一個簡單的編程練習來建立你的第一個貝葉斯模型。

第1步:定義一個貝葉斯模型

首先,讓我們定義我們的氡氣——貝葉斯模型,有兩個參數(shù),平均值(μ-"miu")和其偏差(σ-"sigma")。這些參數(shù)(μ和σ)還需要通過選擇對應(yīng)的分布函數(shù)來建立模型(記?。何覀儽仨殲樗袇?shù)定義概率分布)。

對于這些,我們選擇的函數(shù)是正態(tài)/高斯分布(μ=0,σ=10)和均勻分布。你可以在模型的驗證檢查中重新校準這些值,如上面步驟3所述。

from pymc3 import Model, Normal, Uniformwith Model() as radon_model: μ = Normal(’μ’, mu=0, sd=10) σ = Uniform(’σ’, 0, 10)

下一步是用另一個概率分布來編譯radon_model本身。

**with** radon_model: dist = Normal('dist', mu=μ, sd=σ, observed=anoka_radon)

第2步:用數(shù)據(jù)進行模型擬合

現(xiàn)在,我們需要用數(shù)據(jù)來擬合這個模型(即訓練)。

from pymc3 import sample **with** radon_model: samples = sample(1000, tune=1000, cores=2, random_seed=12)

讓我們畫出我們的參數(shù)μ在訓練后的分布情況,同時畫出95%的置信線。

from arviz import plot_posterior plot_posterior(samples, var_names=['μ'], ref_val=1.1)

好吧,看來1.1的對數(shù)濃度可能不是那么糟糕,因為它是在分布的尾端(只有2.2%的樣品的對數(shù)濃度大于1.1)。

責任編輯:lq6

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

    關(guān)注

    0

    文章

    77

    瀏覽量

    12951
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4882

    瀏覽量

    90285

原文標題:為什么貝葉斯統(tǒng)計如此重要?

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    [VirtualLab] 使用Python運行VirtualLab Fusion光學仿真

    Fusion的簡單方法。在本示例,我們將演示如何使用Python腳本運行光學仿真,以向用戶簡要概述這種跨平臺的仿真能力。 用例概覽 文件路徑 用戶可以在樣本文件的文件夾中找到所有文件。包含這些文件
    發(fā)表于 03-31 09:39

    何在 VisionFive 上使用 Python 包?

    確保執(zhí)行以下步驟: 將 Fedora OS 刷新到 Micro-SD 卡,如將 Fedora OS 刷新到 Micro-SD 卡部分的VisionFive 單板計算機快速入門指南. 登錄
    發(fā)表于 03-30 08:28

    摩爾微電子任命喬·德維(Joe Bedewi)為首席財務(wù)官

    今日宣布,正式任命喬·德維(Joe Bedewi)為首席財務(wù)官(CFO)。此次任命旨在強化公司核心領(lǐng)導團隊,為企業(yè)下階段的全球增長注入新動能。 摩爾微電子首席財務(wù)官喬·德維(J
    的頭像 發(fā)表于 03-20 10:28 ?341次閱讀
    摩爾<b class='flag-5'>斯</b>微電子任命喬·<b class='flag-5'>貝</b>德維(Joe Bedewi)為首席財務(wù)官

    何在 Vision Five 2 上安裝 python 庫?

    這可能是完全愚蠢的問題,但我如何在 Vision Five 2 上安裝 python 庫。 使用該命令后,它給了我這個錯誤。 默認為用戶安裝,因為普通站點包不可寫 錯誤:找不到滿足
    發(fā)表于 03-06 07:51

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

    搜索:網(wǎng)格搜索、隨機搜索、優(yōu)化等。 人工智能行業(yè)發(fā)展迅速,人才供需不平衡,技術(shù)型人才緊缺。企業(yè)在招聘時應(yīng)注重人才的綜合能力,求職者需提升自身技術(shù)和軟技能。
    發(fā)表于 02-27 10:53

    如何精準驅(qū)動菜品識別模型--基于米爾瑞芯微RK3576邊緣計算盒

    的MYD-LR3576邊緣計算盒子為例,講解如何在Android平臺部署yolo11s、PPLCNETV2模型實現(xiàn)實時菜品識別。為開發(fā)者與研究者提供份兼具實踐參考與技術(shù)洞察的
    發(fā)表于 10-31 21:19

    何在vivadoHLS中使用.TLite模型

    測試 在Vivado HLS運行綜合、高級綜合和RTL仿真,確保設(shè)計正確。 注意事項 以上步驟是簡化的示例,具體的實現(xiàn)可能因您的模型
    發(fā)表于 10-22 06:29

    何在LTspice添加電壓控制開關(guān)

    電壓控制開關(guān)是 LTspice 的基本電路元件,能夠以簡潔的方式在電路實現(xiàn)開路或短路行為,并支持在仿真過程動態(tài)切換。完善原理圖后,設(shè)計人員最終可能需要采用更精確的FET或開關(guān)模型,
    的頭像 發(fā)表于 09-11 15:50 ?5494次閱讀
    如<b class='flag-5'>何在</b>LTspice<b class='flag-5'>中</b>添加電壓控制開關(guān)

    各位大佬給指點下,感激不盡,前級DI效果器上的插件元件

    我是新人 各位見笑了 各位大佬給看看這是什么原件這個前級DI效果器上的插試原件兩排插
    發(fā)表于 09-04 20:14

    AI+能源數(shù)字化破局者故事5:謝 x IBM 咨詢之 “全球化經(jīng)營與本地化適配”

    謝與 IBM 的合作建立在技術(shù)專長、交付能力及本地化支持的基礎(chǔ)上,IBM 的強大技術(shù)實力和本地經(jīng)驗,使其成為謝推動數(shù)字化轉(zhuǎn)型的重要合作伙伴
    的頭像 發(fā)表于 07-17 19:02 ?1564次閱讀

    基礎(chǔ)篇3:掌握Python的條件語句與循環(huán)

    不同的條件執(zhí)行不同的代碼塊。Python的條件語句主要使用if、elif(else if的縮寫)和else關(guān)鍵字。 if語句 最簡單的條件語句是if語句,它的工作方式如下: 復制代碼 if 條件表達式
    發(fā)表于 07-03 16:13

    請問如何在C++中使用NPU上的模型緩存?

    無法確定如何在 C++ 的 NPU 上使用模型緩存
    發(fā)表于 06-24 07:25

    如何將FA模型開發(fā)的聲明式范式應(yīng)用切換到Stage模型

    模型切換概述 本文介紹如何將FA模型開發(fā)的聲明式范式應(yīng)用切換到Stage模型,您需要完成如下動作: 工程切換:新建
    發(fā)表于 06-04 06:22

    簡單認識阿倫尼烏壽命模型

    Arrhenius,阿倫尼烏,提出了表征芯片使用壽命的計算模型,即阿倫尼烏壽命模型。透過
    的頭像 發(fā)表于 05-19 09:34 ?2630次閱讀
    <b class='flag-5'>簡單</b>認識阿倫尼烏<b class='flag-5'>斯</b>壽命<b class='flag-5'>模型</b>

    小白學大模型:從零實現(xiàn) LLM語言模型

    ://github.com/FareedKhan-dev/train-llm-from-scratch本文將為你提供簡單直接的方法,從下載數(shù)據(jù)到生成文本,帶你步步構(gòu)建大院
    的頭像 發(fā)表于 04-30 18:34 ?1433次閱讀
    小白學大<b class='flag-5'>模型</b>:從零<b class='flag-5'>實現(xiàn)</b> LLM語言<b class='flag-5'>模型</b>