女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

基于Python腳本的R語言的函數

454398 ? 來源:機器之心 ? 作者: THU數據派 ? 2020-10-12 09:33 ? 次閱讀

本文介紹了采用創建一個Python腳本,用該腳本模仿R風格的函數的方法來方便地進行統計。

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

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

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

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

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

在R語言編程環境中,這些您都能實現。

另一方面,Python腳本編寫能使分析人員在各種分析管線中創造性地使用這些統計數據。

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

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

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

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

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

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

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

答案基本上是這樣,

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

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

只需使用一個dbinom…函數和幾行代碼就可以獲得一個很好的條形圖。
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()

目前已經實現的函數
目前,已經實現了的、可以用于快速調用的R風格函數在以下腳本中實現。

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4367

    瀏覽量

    64107
  • python
    +關注

    關注

    56

    文章

    4823

    瀏覽量

    86115
  • r語言
    +關注

    關注

    1

    文章

    30

    瀏覽量

    6455
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    創建OpenVINO? Python腳本,運行可執行文件時遇到的報錯怎么解決?

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

    Linux從零到精通:最簡單的Shell腳本入門教程

    通過簡單的命令和腳本,實現對系統的靈活控制和自動化管理。 shell腳本前言 shell腳本入門 shell變量基礎 shell變量子串 shell數值運算 條件表達式 流程控制語句 shell
    的頭像 發表于 12-05 09:56 ?1326次閱讀
    Linux從零到精通:最簡單的Shell<b class='flag-5'>腳本</b>入門教程

    對比Python與Java編程語言

    Python與Java都是目前非常流行的編程語言,它們各有其獨特的優勢和適用場景。以下是對這兩種編程語言的對比: 一、語法和易用性 Python 語法簡潔,代碼更易讀,非常適合初學者。
    的頭像 發表于 11-15 09:31 ?877次閱讀

    使用C語言實現函數模板

      用C語言能不能實現一個通用的函數,既能完成整數的相加,又能完成浮點數的相加?
    的頭像 發表于 11-09 11:38 ?830次閱讀

    Python常用函數大全

    Python 世界里,有一些寶藏函數和模塊,它們可以讓你編程更輕松、代碼更高效。這篇文章將帶你一一認識這些神器,讓你的開發生活瞬間輕松不少!
    的頭像 發表于 10-27 17:20 ?766次閱讀

    利用Python腳本登錄到交換機并創建VLAN

    本文將詳細介紹如何利用Python腳本登錄到交換機并創建VLAN。
    的頭像 發表于 08-12 17:59 ?845次閱讀

    使用Python腳本備份華為交換機的配置信息

    在現代網絡管理中,備份交換機的配置信息是一項至關重要的任務。備份可以確保在交換機發生故障或配置錯誤時,能夠迅速恢復到之前的工作狀態。本文將詳細介紹如何使用Python腳本備份華為交換機的配置信息。
    的頭像 發表于 08-12 17:50 ?1128次閱讀
    使用<b class='flag-5'>Python</b><b class='flag-5'>腳本</b>備份華為交換機的配置信息

    使用Python批量連接華為網絡設備

    隨著網絡規模的擴大和設備數量的增加,手動配置和管理每臺網絡設備變得越來越不現實。因此,自動化工具和腳本變得尤為重要。Python語言以其簡潔性和強大的第三方庫支持,成為了網絡自動化領域的首選。本篇文章將詳細介紹如何使用
    的頭像 發表于 08-12 17:48 ?773次閱讀

    Python建模算法與應用

    上成為理想的腳本語言,特別適用于快速的應用程序開發。本文將詳細介紹Python在建模算法中的應用,包括常見的建模算法、Python在建模中的優勢、常用庫以及實際案例。
    的頭像 發表于 07-24 10:41 ?1058次閱讀

    python寫驗證環境cocotb

    本文介紹了cocotb的安裝、python tb文件的寫法、用xrun仿真cocotb的腳本等,我們來看看體驗如何。
    的頭像 發表于 07-24 09:38 ?919次閱讀
    用<b class='flag-5'>python</b>寫驗證環境cocotb

    Python語言基礎2

    電子發燒友網站提供《Python語言基礎2.rar》資料免費下載
    發表于 07-17 17:23 ?1次下載

    opencv-python和opencv一樣嗎

    是OpenCV的一個Python語言接口,它允許開發者使用Python語言來調用OpenCV庫的功能。 雖然OpenCV和OpenCV-Python
    的頭像 發表于 07-16 10:38 ?1904次閱讀

    使用Python進行自然語言處理

    在探討使用Python進行自然語言處理(NLP)的廣闊領域時,我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優勢,以及如何通過Python實現一些基礎的NLP任務
    的頭像 發表于 07-04 14:40 ?673次閱讀

    用離線安裝器安裝的idf,其創建的Python虛擬環境無激活腳本是怎么回事?

    如題,用離線安裝器安裝的idf,其創建的Python虛擬環境無激活腳本,具體如下圖所示: 反而用vscode插件安裝的idf有,如下圖:vscode插件安裝的idf的Python虛擬環境 提問:沒有
    發表于 06-11 06:49