日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

8个你不使用的数据科学R包(但绝对应该使用)

發布時間:2023/12/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 8个你不使用的数据科学R包(但绝对应该使用) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Introduction

我是R的忠實粉絲 - 這不是什么秘密。 自從我在大學學習統計數據以來,我一直依賴它。 實際上,R仍然是機器學習項目的首選語言。

R有三件事主要吸引我:

  • 易于理解和使用的語法
  • 令人難以置信的RStudio工具
  • R套餐!

R提供了大量用于執行機器學習任務的軟件包,包括用于數據操作的’dplyr’,用于數據可視化的’ggplot2’,用于構建ML模型的’caret’等。

甚至還有用于特定功能的R套餐,包括信用風險評分,從網站上搜集數據,計量經濟學等等。這就是為什么R在世界各地的統計學家中都很受歡迎的原因 - 可用的R套餐數量太多,這使得生活變得更加容易。

在本文中,我將展示8個R軟件包,這些軟件包已經被數據科學家們所忽視,但對于執行特定的機器學習任務非常有用。 為了幫助您入門,我提供了一個示例以及每個包的代碼。

相信我,你對R的愛將要經歷另一場革命!

The R Packages We’ll Cover in this Article

I have broadly divided these R packages into three categories:

  • Data Visualization
    • DataExplorer
    • esquisse
  • Machine Learning
    • MLR
    • parsnip
    • Ranger
    • purrr
  • Other Miscellaneous R Packages
    • rtweet
    • Reticulate
  • Bonus: More R Packages!
    • InstallR
    • GitHubInstall

Data Visualization


R是一個用于可視化數據的神奇工具。 我們只用一兩行代碼就能輕松生成各種圖形? 真正節省時間。

R提供了看似無數的可視化數據的方法。 即使我在某個任務中使用Python,我也會回到R來探索和可視化我的數據。 我相信大多數R用戶都有同感!

讓我們看一些用于執行探索性數據分析的可怕但鮮為人知的R包。

DataExplorer

這是我進行探索性數據分析的首選方案。 從繪制數據結構到Q-Q圖,甚至為數據集創建報告,這個包完成了所有工作。

讓我們看看DataExplorer可以使用一個例子做些什么。 考慮到我們已將數據存儲在數據變量中。 現在,我們想要計算出每個要素中缺失值的百分比。 當我們處理大量數據集并計算缺失值的總和可能非常耗時時,這非常有用。

您可以使用以下代碼安裝DataExplorer:

install.packages("DataExplorer")

現在讓我們看看DataExplorer可以為我們做些什么:

library(DataExplorer) data(iris) plot_missing(iris)

我們得到了一個非常直觀的缺失值圖:


我最喜歡的DataExplorer方面之一是我們只需一行代碼即可生成的綜合報告:

create_report(iris)

以下是我們在本報告中獲得的各種因素:

You can access the full report through this link. A VERY useful package.

esquisse

用于在R中生成繪圖的“拖放”插件怎么樣? 這是正確的 - esquisse是一個包,讓你繼續創建繪圖而無需編寫它們。

Esquisse建立在ggplot2包之上。 這意味著您可以通過生成ggplot2圖表以交互方式探索esquisse環境中的數據。

使用以下代碼在您的機器上安裝和加載esquisse:

# From CRAN install.packages("esquisse")#Load the package in R library(esquisse)esquisse::esquisser() #helps in launching the add-in

您還可以通過RStudio菜單啟動esquisse加載項。 esquisse的用戶界面如下所示:

很酷,對嗎? 來吧,玩弄不同類型的情節 - 這是一個令人大開眼界的體驗。

Machine Learning

啊,在R中構建機器學習模型。當我們開始新的機器學習項目時,數據科學家們正在努力實現這一目標。 您可能以前使用’插入’包來構建模型。

現在,讓我向您介紹一些可能會改變您接近模型構建過程的方法。

MLR – Machine Learning in R

Python在R之前飆升的最大原因之一是它的機器學習重點庫(如scikit-learn)。 很長一段時間,R缺乏這種能力。 當然你可以使用不同的包來執行不同的ML任務,但是沒有一個包可以完成所有任務。 我們不得不調用三個不同的庫來構建三個不同的模型。

不理想。

然后MLR包出現了。 這是一個令人難以置信的包,它允許我們執行各種機器學習任務。 MLR包括我們在項目中使用的所有流行的機器學習算法。

我強烈建議您仔細閱讀以下文章深入了解MLR:

  • Practicing Machine Learning Techniques in R with MLR Package

讓我們看看如何在iris數據集上安裝MLR并構建隨機森林模型:

install.packages("mlr") library(mlr)# Load the dataset data(iris) # create task task = makeClassifTask(id = ”iris”, iris, target = ”Species”)# create learner learner = makeLearner(”classif.randomForest”)# build model and evaluate holdout(learner, task)# measure accuracy holdout(learner, task, measures = acc)
Output:
Resample Result Task: iris Learner: classif.randomForest Aggr perf: acc.test.mean=0.9200000 # 92% accuracy - not bad! Runtime: 0.0239332

parsnip

R中可用的不同函數(執行相同的操作)的常見問題是它們可以具有不同的接口和參數。 以隨機森林算法為例。 你在randomforest包和插入符包中使用的代碼是不同的,對吧?

與MLR一樣,parsnip消除了為特定機器學習算法引用多個包的問題。 它成功地在R中模仿Python的scikit-learn包。

讓我們看一下下面的簡單示例,讓您深入了解parsnip如何適用于線性回歸問題:

install.packages("parsnip") library(parsnip)#Load the dataset data(mtcars)#Build a linear regression model fit <- linear_reg("regression") %>% set_engine("lm") %>% fit(mpg~.,data=mtcars) fit #extracts the coefficient values
Output:
parsnip model object Call: stats::lm(formula = formula, data = data)Coefficients: (Intercept) cyl disp hp drat wt qsec 12.30337 -0.11144 0.01334 -0.02148 0.78711 -3.71530 0.82104 vs am gear carb 0.31776 2.52023 0.65541 -0.19942

Ranger

Ranger是我最喜歡的R套餐之一。 我經常使用隨機森林來建立基線模型 - 特別是當我參與數據科學黑客馬拉松時。

這是一個問題 - 你有多少次遇到R中大型數據集的慢隨機森林計算? 它在我的舊機器上經常發生。

插入符號,隨機森林和rf等包都需要花費大量時間來計算結果。 “Ranger”軟件包加速了隨機森林算法的模型構建過程。 它可以幫助您在更短的時間內快速創建大量樹木。

讓我們使用Ranger編寫一個隨機森林模型:

install.packages("ranger")#Load the Ranger package require(ranger) #Load the dataset data(iris) ## Classification forest ranger(Species ~ ., data = iris,num.trees=100,mtry=3)## Prediction train.idx <- sample(nrow(iris), 2/3 * nrow(iris)) iris.train <- iris[train.idx, ] iris.test <- iris[-train.idx, ] rg.iris <- ranger(Species ~ ., data = iris.train) pred.iris <- predict(rg.iris, data = iris.test) #Build a confusion matrix table(iris.test$Species, pred.iris$predictions)
Output:
setosa versicolor virginicasetosa 16 0 0versicolor 0 16 2virginica 0 0 16

相當令人印象深刻的表現。 您應該在更復雜的數據集上嘗試Ranger,看看您的計算速度有多快。

purrr

在數據的不同部分運行線性回歸模型并計算每個模型的評估指標時,會筋疲力盡嗎? purrr包來救你。

您還可以為不同的數據塊構建廣義線性模型(glm),并以列表的形式為每個要素計算p值。 purrr的優點是無窮無盡的!

讓我們看一個例子來了解它的功能。 我們將在此建立一個線性回歸模型,并對R平方值進行子集化:

#First, read in the data mtcars data(mtcars)mtcars %>%split(.$cyl) %>% #selecting cylinder to create three sets of data using the cyl valuesmap(~ lm(mpg ~ wt, data = .)) %>%map(summary) %>%map_dbl("r.squared")

Output

4 6 8 0.5086326 0.4645102 0.4229655

所以你觀察到了嗎? 這個例子使用purrr來解決一個相當現實的問題:

  • 將數據框拆分為多個部分
  • 為每件作品安裝模型
  • 計算摘要
  • 最后,提取R平方值

給我們節省了很多時間,對吧? 我們只使用一行代碼,而不是運行三個不同的模型和三個命令來對R平方值進行子集化。

Utilities: Other Awesome R Packages

讓我們來看看其他一些不一定屬于“機器學習”保護傘的軟件包。 我發現這些在使用R方面很有用。

rtweet

情感分析是機器學習中最受歡迎的應用之一。 在當今的數字世界中,這是一個不可避免的現實。 Twitter是提取推文和構建模型以理解和預測情緒的主要目標。

現在,有一些R包用于提取/抓取推文和執行情緒分析。 'rtweet’包也是如此。 那么它與其他包裝有什么不同呢?

'rtweet’還可以幫助您檢查R本身的推文趨勢。真棒!

# install rtweet from CRAN install.packages("rtweet")# load rtweet package library(rtweet)

必須授權所有用戶與Twitter的API進行交互。 要獲得授權,請按照以下說明操作:

1.制作Twitter應用程序

2.創建并保存訪問令牌

有關從Twitter獲取身份驗證的詳細分步過程,請點擊此鏈接。

您可以使用下面提到的代碼行搜索帶有某些主題標簽的推文。 讓我們嘗試使用標簽#avengers搜索所有推文,因為Infinity War已全部發布。

#1000 tweets with hashtag avengers tweets <- search_tweets("#avengers", n = 1000, include_rts = FALSE)

You can even access the user IDs of people following a certain page. Let’s see an example:

## get user IDs of accounts following marvelmarvel_flw <- get_followers("marvel", n = 20000)

你可以用這個包做更多的事情。 嘗試一下,如果您發現令人興奮的事情,請不要忘記更新社區。

Reticulate

喜歡R和Python編碼,但想堅持RStudio? 網紋就是答案! 該軟件包通過在R中提供Python接口解決了這個突出的問題。您可以輕松地使用R本身內的主要python庫,如numpy,pandas和matplotlib!

您還可以使用一行代碼輕松地將數據從Python轉換為R和R轉換為Python。 這不是很棒嗎? 查看下面的代碼塊,看看在R中運行python是多么容易。

在繼續在R中直接安裝網狀網之前,您必須先安裝TensorFlow和Keras。

install.packages("tensorflow") install.packages("keras")library(tensorflow) library(keras) install_keras() install.packages("reticulate") library(reticulate)

你很高興去! 運行我在屏幕截圖中提供的命令,并以類似的方式嘗試您的數據科學項目。

BONUS

這里有兩個其他實用程序R包,適合所有編程書呆子!

Installr

你是否單獨更新你的R套餐? 這可能是一項繁瑣的任務,尤其是當有多個包在起作用時。

'InstallR’包允許您只使用一個命令更新R及其所有包! 我們可以使用InstallR一次性更新所有軟件包,而不是檢查每個軟件包的最新版本。

# installing/loading the package: if(!require(installr)) { install.packages("installr"); require(installr)} #load / install+load installr# using the package: updateR() # this will start the updating process of your R installation. # It will check for newer versions, and if one is available, will guide you through the decisions you'd need to make

GitHubInstall – An Easy Way to Install R Packages from GitHub

您使用哪個包從GitHub安裝庫? 我們大多數人長期依賴’devtools’套餐。 這似乎是唯一的方式。 但有一點需要注意 - 我們需要記住開發人員的名字來安裝軟件包:

install_github("DeveloperName/PackageName")

使用’githubinstall’包,不再需要開發人員名稱。

install.packages("githubinstall")#Install any GitHub package by supplying the name githubinstall("PackageName")#githubinstall("AnomalyDetection")

該軟件包還為GitHub上托管的R軟件包提供了一些有用的功能。 我建議查看包文檔(上面鏈接)以獲取更多詳細信息。

End Notes

這絕不是一份詳盡的清單。 還有很多其他R套件可以提供有用的功能,但卻被大多數人忽略了。

你知道我在這篇文章中遺漏的任何套餐嗎? 或者您是否在項目中使用了上述任何一種? 我很樂意聽到你的消息! 在下面的評論部分與我聯系,讓我們談談R!

總結

以上是生活随笔為你收集整理的8个你不使用的数据科学R包(但绝对应该使用)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。