久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

如何用Python編寫(xiě)你最喜歡的R函數(shù),?

 首家i55ryzehof 2018-09-19

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

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

簡(jiǎn)介

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

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

如何在Python環(huán)境中模仿函數(shù)式編程?

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

如何計(jì)算數(shù)據(jù)向量的平均/中值/模型,?

如何計(jì)算服從正態(tài)分布的某一事件的累積概率,?如果該分布是泊松分布,則如何計(jì)算,?

如何計(jì)算一系列數(shù)據(jù)點(diǎn)的四分位數(shù)間距,?

如何根據(jù)學(xué)生的t分布生成少量隨機(jī)數(shù)?

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

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

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

最為便捷的R-函數(shù)的Python包裝類腳本

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

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

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

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

簡(jiǎn)單實(shí)例

例如,,如果需要計(jì)算數(shù)據(jù)點(diǎn)向量的TuKEY五數(shù)綜合,。你只需調(diào)用一個(gè)簡(jiǎn)單函數(shù)FiVunm并傳遞給向量,,它便在一個(gè)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. ])

或者,你想知道以下問(wèn)題的答案:

假設(shè)一臺(tái)機(jī)器平均每小時(shí)輸出10件成品,,標(biāo)準(zhǔn)差為2,,輸出模式服從近似正態(tài)分布。在接下來(lái)的一小時(shí)內(nèi),,機(jī)器輸出至少7臺(tái)但不超過(guò)12臺(tái)的概率是多少,?

答案基本上是這樣,

利用pNorm…,,只需要一行代碼就可以得到答案,。

pnorm(12,10,2)-pnorm(7,10,2)

> 0.7745375447996848

或者,對(duì)于如下問(wèn)題:

假設(shè)你有一枚硬幣,每次拋硬幣的時(shí)候,,都有60%的轉(zhuǎn)動(dòng)概率,,玩的是10次拋擲的游戲。如何用這枚硬幣計(jì)算出所有可能的贏球數(shù)(從0到10),?

只需使用一個(gè)dbinom…函數(shù)和幾行代碼就可以獲得一個(gè)很好的條形圖,。

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)實(shí)現(xiàn)的函數(shù)

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

均值、中值,、方差,、標(biāo)準(zhǔn)差

TuKEY五數(shù)綜合、矩陣的IQR

矩陣的協(xié)方差或兩個(gè)向量之間的協(xié)方差

密度,、累積概率,、分位函數(shù)和隨機(jī)變量生成,用于下列分布:正態(tài)分布,,均勻分布,,二項(xiàng)分布,泊松分布,,F(xiàn)分布,,Student’s-t分布,卡方分布,,Beta分布,,和Gamma分布

后續(xù)工作

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

原文標(biāo)題:

How to write your favorite R functions?—?in Python?

https:///how-to-write-your-favorite-r-functions-in-python-11e1e9c29089

譯者簡(jiǎn)介

陳之炎,,北京交通大學(xué)通信與控制工程專業(yè)畢業(yè),,獲得工學(xué)碩士學(xué)位,歷任長(zhǎng)城計(jì)算機(jī)軟件與系統(tǒng)公司工程師,,大唐微電子公司工程師,,現(xiàn)任北京吾譯超群科技有限公司技術(shù)支持,。目前從事智能化翻譯教學(xué)系統(tǒng)的運(yùn)營(yíng)和維護(hù),在人工智能深度學(xué)習(xí)和自然語(yǔ)言處理(NLP)方面積累有一定的經(jīng)驗(yàn),。業(yè)余時(shí)間喜愛(ài)翻譯創(chuàng)作,,翻譯作品主要有:IEC-ISO 7816、伊拉克石油工程項(xiàng)目,、新財(cái)稅主義宣言等等,,其中中譯英作品“新財(cái)稅主義宣言”在GLOBAL TIMES正式發(fā)表。能夠利用業(yè)余時(shí)間加入到THU 數(shù)據(jù)派平臺(tái)的翻譯志愿者小組,,希望能和大家一起交流分享,,共同進(jìn)步

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多