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

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

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

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

基于Python腳本的R語言的函數(shù)

454398 ? 來源:機器之心 ? 作者: THU數(shù)據(jù)派 ? 2020-10-12 09:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文介紹了采用創(chuàng)建一個Python腳本,用該腳本模仿R風(fēng)格的函數(shù)的方法來方便地進行統(tǒng)計。

是用R語言還是用Python語言?這是一個曠日持久的爭論。在此,我們可以嘗試采用折中路線:創(chuàng)建一個Python腳本,用該腳本模仿R風(fēng)格的函數(shù),來方便地進行統(tǒng)計!

簡介
用R語言還是用Python語言?這是數(shù)據(jù)科學(xué)和機器學(xué)習(xí)的一場大的爭論。毫無疑問,這兩種語言在最近幾年都取得了巨大的進展,成為數(shù)據(jù)科學(xué)、預(yù)測分析和機器學(xué)習(xí)的首選編程語言。事實上,在IEEE新近的一篇文章中,Python取代C++成為2018年的頂級編程語言,R已經(jīng)牢牢地保住了它在前10名中的位置。

然而,這兩種編程語言之間存在著一些本質(zhì)的差異。R主要是為數(shù)據(jù)分析問題的統(tǒng)計分析和快速原型化而開發(fā)的工具。另一方面,Python作為一種通用的現(xiàn)代面向?qū)ο笳Z言,與C或Java相似,它具有更簡單的學(xué)習(xí)曲線和更為靈活的行為方式。因此,R在統(tǒng)計學(xué)家、定量生物學(xué)家、物理學(xué)家和經(jīng)濟學(xué)家中仍然非常受歡迎,而Python逐漸成為日常腳本、自動化、后端web開發(fā)、分析和通用機器學(xué)習(xí)框架的首選語言,Python語言的技術(shù)支持基礎(chǔ)比較廣泛,同時還有許多開源社區(qū)。

如何在Python環(huán)境中模仿函數(shù)式編程?
R語言的函數(shù)編程特性為用戶提供了非常簡單有效地界面,用于快速計算概率,并為數(shù)據(jù)分析問題提供必要的描述性/推理統(tǒng)計。例如,僅僅使用一個緊致函數(shù)調(diào)用就能回答下面的問題,這是不是很神奇?

  • 如何計算數(shù)據(jù)向量的平均/中值/模型?
  • 如何計算服從正態(tài)分布的某一事件的累積概率?如果該分布是泊松分布,則如何計算?
  • 如何計算一系列數(shù)據(jù)點的四分位數(shù)間距?
  • 如何根據(jù)學(xué)生的t分布生成少量隨機數(shù)?

在R語言編程環(huán)境中,這些您都能實現(xiàn)。

另一方面,Python腳本編寫能使分析人員在各種分析管線中創(chuàng)造性地使用這些統(tǒng)計數(shù)據(jù)。

為了結(jié)合這兩種語言的優(yōu)勢,需要設(shè)計一個簡單的基于Python的包裝類庫,它包含最常用的函數(shù),這些函數(shù)涉及以R風(fēng)格定義的概率分布和描述性統(tǒng)計信息,用戶可以快速地調(diào)用這些函數(shù),而無需調(diào)用Python統(tǒng)計庫,并弄明白所有方法和參數(shù)。

最為便捷的R-函數(shù)的Python包裝類腳本
我用Python編寫了一個腳本,用來定義在簡單統(tǒng)計分析中最為便捷和最被廣泛使用的R函數(shù)。導(dǎo)入這個腳本之后,您將能夠像在R編程環(huán)境中一樣自然地使用那些R-函數(shù)。

這個腳本的目標(biāo)是利用簡單的Python子程序,來模仿R風(fēng)格的統(tǒng)計函數(shù),從而快速計算密度/點估計、累積分布、分位數(shù),并為各種重要的概率分布生成隨機變量。為了保持R的風(fēng)格,沒有使用類分層結(jié)構(gòu),只在該文件中定義了一些原始函數(shù),這樣用戶便可以方便地導(dǎo)入這個Python腳本,并在需要時使用所有函數(shù),而僅僅只需做一個名稱的調(diào)用。

注意,在此使用了“模仿”這個詞。我并沒有聲稱要模仿R真正的功能編程范式:那些由深層次的環(huán)境設(shè)置和這些環(huán)境與對象之間組成的復(fù)雜的相互關(guān)系。這個腳本只允許我(同時也希望有無數(shù)其他Python用戶)能夠快速啟動Python程序或Jupyter筆記本(一種交互式筆記本,支持運行 40 多種編程語言)導(dǎo)入腳本,并在短時間內(nèi)開始進行簡單的描述性統(tǒng)計。這就是目標(biāo),僅此而已。

或者,你可能已經(jīng)會用R語言編碼,剛開始學(xué)習(xí)和使用Python進行數(shù)據(jù)分析。你可以高興地看到和使用Jupyter筆記本里的一些眾所周知的函數(shù),這些都和你使用的R語言環(huán)境中的方法類似。

簡單實例
例如,如果需要計算數(shù)據(jù)點向量的TuKEY五數(shù)綜合。你只需調(diào)用一個簡單函數(shù)FiVunm并傳遞給向量,它便在一個Numpy數(shù)組中返回五數(shù)綜合(最小值;第1四分位數(shù)(Q1);中位數(shù)(Q2);第3四分位數(shù)(Q3);最大值。)。
lst=[20,12,16,32,27,65,44,45,22,18]
fivenum(lst)
> array([12. , 18.5, 24.5, 41. , 65. ])

或者,你想知道以下問題的答案:
假設(shè)一臺機器平均每小時輸出10件成品,標(biāo)準(zhǔn)差為2,輸出模式服從近似正態(tài)分布。在接下來的一小時內(nèi),機器輸出至少7臺但不超過12臺的概率是多少?

答案基本上是這樣,

利用pNorm…,只需要一行代碼就可以得到答案。
pnorm(12,10,2)-pnorm(7,10,2)
> 0.7745375447996848

或者,對于如下問題:
假設(shè)你有一枚硬幣,每次拋硬幣的時候,都有60%的轉(zhuǎn)動概率,玩的是10次拋擲的游戲。如何用這枚硬幣計算出所有可能的贏球數(shù)(從0到10)?

只需使用一個dbinom…函數(shù)和幾行代碼就可以獲得一個很好的條形圖。
probs=[]
import matplotlib.pyplot as plt
for i in range(11):
probs.append(dbinom(i,10,0.6))
plt.bar(range(11),height=probs)
plt.grid(True)
plt.show()

目前已經(jīng)實現(xiàn)的函數(shù)
目前,已經(jīng)實現(xiàn)了的、可以用于快速調(diào)用的R風(fēng)格函數(shù)在以下腳本中實現(xiàn)。

  • 均值、中值、方差、標(biāo)準(zhǔn)差
  • TuKEY五數(shù)綜合、矩陣的IQR
  • 矩陣的協(xié)方差或兩個向量之間的協(xié)方差
  • 密度、累積概率、分位函數(shù)和隨機變量生成,用于下列分布:正態(tài)分布,均勻分布,二項分布,泊松分布,F(xiàn)分布,Student’s-t分布,卡方分布,Beta分布,和Gamma分布

后續(xù)工作
這項工作還正在進行之中,我計劃在腳本中添加一些更為便捷的R-函數(shù)。例如,在R單行命令中,lm可以得到一個最小二乘擬合模型,該模型具有所有必要的推斷統(tǒng)計量(P值、標(biāo)準(zhǔn)誤差等)。這將是多么的簡短和緊湊!另一方面,Python中的標(biāo)準(zhǔn)線性回歸問題通常是使用Scikit-Learning來解決,需要用到更多的腳本來實現(xiàn)它。我計劃使用Python的statsmodel后端結(jié)合這個單一函數(shù)線性模型來實現(xiàn)。

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

    關(guān)注

    3

    文章

    4413

    瀏覽量

    67194
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4866

    瀏覽量

    89799
  • r語言
    +關(guān)注

    關(guān)注

    1

    文章

    30

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如何用好 C 語言函數(shù)的返回值?

    基本上,沒有人會將大段的C語言代碼全部塞入 main() 函數(shù)。更好的做法是按照復(fù)用率高、耦合性低的原則,盡可能的將代碼拆分不同的功能模塊,并封裝成函數(shù)。 C語言代碼的組合千變?nèi)f化,因
    發(fā)表于 12-25 07:17

    官方新品 | 虹科PCAN-Explorer 7發(fā)布:帶來Python腳本與靈活授權(quán)新體驗

    虹科PCAN-Explorer7支持Python腳本+授權(quán)管理升級在CAN總線技術(shù)持續(xù)進化的當(dāng)下,我們始終相信,工具的革新應(yīng)與技術(shù)的前沿同頻,更應(yīng)讓復(fù)雜的研發(fā)與分析工作,回歸簡潔、高效的本質(zhì)。虹科
    的頭像 發(fā)表于 12-05 11:03 ?830次閱讀
    官方新品 | 虹科PCAN-Explorer 7發(fā)布:帶來<b class='flag-5'>Python</b><b class='flag-5'>腳本</b>與靈活授權(quán)新體驗

    LUA例程-常用的回調(diào)函數(shù)使用說明

    詳細說明LUA腳本函數(shù)功能和對應(yīng)的應(yīng)用實例。對于LUA腳本編程有很大的幫助和提高技能。
    發(fā)表于 11-24 16:43 ?0次下載

    Pico Technology發(fā)布Python軟件包pyPicoSDK

    現(xiàn)有 PicoSDK 的基礎(chǔ)上構(gòu)建,使工程師、開發(fā)人員和業(yè)余愛好者能夠創(chuàng)建 Python 腳本,更加快速方便地控制其 PicoScope 設(shè)備。
    的頭像 發(fā)表于 09-29 15:03 ?816次閱讀

    termux調(diào)試python猜數(shù)字游戲

    支持的核心語言,安裝簡單且運行高效。 2. 創(chuàng)建腳本文件 ```bash nano guess_number.py# 使用Termux內(nèi)置nano編輯器 ``` --- ? 二、游戲代碼
    發(fā)表于 08-29 17:15

    Python腳本實現(xiàn)運維工作自動化案例

    還在為重復(fù)性運維工作而煩惱?每天被各種告警、監(jiān)控、部署搞得焦頭爛額?作為一名有10年經(jīng)驗的運維老司機,今天分享5個超實用的Python自動化腳本,讓你的運維工作效率提升300%!這些都是我在生產(chǎn)環(huán)境中實際使用的案例,代碼簡潔高效,拿來即用!
    的頭像 發(fā)表于 08-27 14:46 ?969次閱讀

    C語言中的內(nèi)聯(lián)函數(shù)與宏

    在C編程中,內(nèi)聯(lián)函數(shù)和宏都用于避免函數(shù)調(diào)用的開銷并編寫可復(fù)用的邏輯部分,但它們在工作方式和安全性方面存在顯著差異。
    的頭像 發(fā)表于 07-25 15:10 ?1803次閱讀
    C<b class='flag-5'>語言</b>中的內(nèi)聯(lián)<b class='flag-5'>函數(shù)</b>與宏

    C++ 與 Python:樹莓派上哪種語言更優(yōu)?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯(lián)網(wǎng)項目中同樣廣受歡迎且功能強大。那么,在樹莓派項目中選擇哪種語言更合適呢?Python因其簡潔性、豐富
    的頭像 發(fā)表于 07-24 15:32 ?773次閱讀
    C++ 與 <b class='flag-5'>Python</b>:樹莓派上哪種<b class='flag-5'>語言</b>更優(yōu)?

    大彩講堂:VisualHMI-LUA教程-on_press回調(diào)函數(shù)使用指南

    一、適合范圍本文檔適用于VisualHMI平臺,Lua腳本語言為V5.3版本,配合工程可以完成大部分的內(nèi)部邏輯處理。二、概述on_press(state,x,y)觸摸回調(diào)函數(shù),當(dāng)帶觸摸的串口屏,點擊
    的頭像 發(fā)表于 07-23 16:32 ?1064次閱讀
    大彩講堂:VisualHMI-LUA教程-on_press回調(diào)<b class='flag-5'>函數(shù)</b>使用指南

    大彩講堂:VisualHMI-LUA教程-on_run回調(diào)函數(shù)使用指南

    一、適合范圍本文檔適用于VisualHMI平臺,Lua腳本語言為V5.3版本,配合工程可以完成大部分的內(nèi)部邏輯處理。二、概述on_run(screen)周期回調(diào)函數(shù),用該回調(diào)函數(shù),會根據(jù)設(shè)定的時間
    的頭像 發(fā)表于 07-23 15:25 ?1025次閱讀
    大彩講堂:VisualHMI-LUA教程-on_run回調(diào)<b class='flag-5'>函數(shù)</b>使用指南

    深入理解C語言函數(shù)—編程中的“積木塊”藝術(shù)

    在編程的世界里,函數(shù)就像建筑中的“積木塊”——它們是構(gòu)建復(fù)雜程序的基石。通過靈活組合這些模塊,開發(fā)者能打造出功能強大且結(jié)構(gòu)清晰的代碼。函數(shù)之所以成為C語言的核心,正是因為它解決了編程中的三大關(guān)
    的頭像 發(fā)表于 06-30 17:26 ?1693次閱讀
    深入理解C<b class='flag-5'>語言</b>:<b class='flag-5'>函數(shù)</b>—編程中的“積木塊”藝術(shù)

    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本
    的頭像 發(fā)表于 03-25 09:27 ?1733次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b>程序?

    【MWC 2025】羅德與施瓦茨推出CMX500 AI腳本助手,AI驅(qū)動自動化助力移動設(shè)備測試

    羅德與施瓦茨(以下簡稱“RS推出創(chuàng)新技術(shù),通過全新的CMX500 AI腳本助手實現(xiàn)測試腳本生成和功能測試的自動化。該工具結(jié)合了生成式AI和自然語言處理技術(shù),旨在幫助測試工程師優(yōu)化工作流程,降低錯誤
    發(fā)表于 03-05 17:01 ?387次閱讀
    【MWC 2025】羅德與施瓦茨推出CMX500 AI<b class='flag-5'>腳本</b>助手,AI驅(qū)動自動化助力移動設(shè)備測試

    創(chuàng)建OpenVINO? Python腳本,運行可執(zhí)行文件時遇到的報錯怎么解決?

    創(chuàng)建OpenVINO? Python 腳本: from openvino.inference_engine import IECore ie = IECore() print(\"
    發(fā)表于 03-05 10:20

    使用converter.py腳本轉(zhuǎn)換EfficientDet_D0模型報錯怎么解決?

    使用 converter.py 腳本轉(zhuǎn)換 EfficientDet_D0 模型。python3 /opt/intel/openvino_2021.3.394/deployment_tools
    發(fā)表于 03-05 08:21