自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

9個鮮為人知的Python數(shù)據(jù)科學(xué)庫

開發(fā) 后端 大數(shù)據(jù)
在本文中,我們將看到 Python 庫中的一些數(shù)據(jù)科學(xué)工具,而不是那些常用的工具,如 pandas、scikit-learn 和 matplotlib。雖然像 pandas、scikit-learn 這樣的庫是機(jī)器學(xué)習(xí)中最常想到的,但是了解這個領(lǐng)域的其他 Python 庫也是非常有幫助的。

[[252070]]

除了 pandas、scikit-learn 和 matplotlib,還要學(xué)習(xí)一些用 Python 進(jìn)行數(shù)據(jù)科學(xué)的新技巧。

Python 是一種令人驚嘆的語言。事實(shí)上,它是世界上增長最快的編程語言之一。它一次又一次地證明了它在各個行業(yè)的開發(fā)者和數(shù)據(jù)科學(xué)者中的作用。Python 及其庫的整個生態(tài)系統(tǒng)使其成為全世界用戶的恰當(dāng)選擇,無論是初學(xué)者還是高級用戶。它成功和受歡迎的原因之一是它的一組強(qiáng)大的庫,使它如此動態(tài)和快速。

在本文中,我們將看到 Python 庫中的一些數(shù)據(jù)科學(xué)工具,而不是那些常用的工具,如 pandas、scikit-learn 和 matplotlib。雖然像 pandas、scikit-learn 這樣的庫是機(jī)器學(xué)習(xí)中最常想到的,但是了解這個領(lǐng)域的其他 Python 庫也是非常有幫助的。

Wget

提取數(shù)據(jù),尤其是從網(wǎng)絡(luò)中提取數(shù)據(jù),是數(shù)據(jù)科學(xué)家的重要任務(wù)之一。Wget 是一個免費(fèi)的工具,用于從網(wǎng)絡(luò)上非交互式下載文件。它支持 HTTP、HTTPS 和 FTP 協(xié)議,以及通過 HTTP 代理進(jìn)行訪問。因?yàn)樗欠墙换ナ降模约词褂脩魶]有登錄,它也可以在后臺工作。所以下次你想下載一個網(wǎng)站或者網(wǎng)頁上的所有圖片,wget 會提供幫助。

安裝:

  1. $ pip install wget

例子:

  1. import wget
  2. url = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'
  3.  
  4. filename = wget.download(url)
  5. 100% [................................................] 3841532 / 3841532
  6.  
  7. filename
  8. 'razorback.mp3'

鐘擺

對于在 Python 中處理日期時間感到沮喪的人來說, Pendulum 庫是很有幫助的。這是一個 Python 包,可以簡化日期時間操作。它是 Python 原生類的一個替代品。有關(guān)詳細(xì)信息,請參閱其文檔。

安裝:

  1. $ pip install pendulum

例子:

  1. import pendulum
  2.  
  3. dt_toronto = pendulum.datetime(2012, 1, 1, tz='America/Toronto')
  4. dt_vancouver = pendulum.datetime(2012, 1, 1, tz='America/Vancouver')
  5.  
  6. print(dt_vancouver.diff(dt_toronto).in_hours())
  7.  
  8. 3

不平衡學(xué)習(xí)

當(dāng)每個類別中的樣本數(shù)幾乎相同(即平衡)時,大多數(shù)分類算法會工作得***。但是現(xiàn)實(shí)生活中的案例中充滿了不平衡的數(shù)據(jù)集,這可能會影響到機(jī)器學(xué)習(xí)算法的學(xué)習(xí)和后續(xù)預(yù)測。幸運(yùn)的是,imbalanced-learn 庫就是為了解決這個問題而創(chuàng)建的。它與 scikit-learn 兼容,并且是 scikit-learn-contrib 項(xiàng)目的一部分。下次遇到不平衡的數(shù)據(jù)集時,可以嘗試一下。

安裝:

  1. pip install -U imbalanced-learn
  2. # or
  3. conda install -c conda-forge imbalanced-learn

例子:

有關(guān)用法和示例,請參閱其文檔 。

FlashText

在自然語言處理(NLP)任務(wù)中清理文本數(shù)據(jù)通常需要替換句子中的關(guān)鍵詞或從句子中提取關(guān)鍵詞。通常,這種操作可以用正則表達(dá)式來完成,但是如果要搜索的術(shù)語數(shù)達(dá)到數(shù)千個,它們可能會變得很麻煩。

Python 的 FlashText 模塊,基于 FlashText 算法,為這種情況提供了一個合適的替代方案。FlashText 的***部分是運(yùn)行時間與搜索項(xiàng)的數(shù)量無關(guān)。你可以在其 文檔 中讀到更多關(guān)于它的信息。

安裝:

  1. $ pip install flashtext

例子:

提取關(guān)鍵詞:

  1. from flashtext import KeywordProcessor
  2. keyword_processor = KeywordProcessor()
  3.  
  4. # keyword_processor.add_keyword(<unclean name>, <standardised name>)
  5.  
  6. keyword_processor.add_keyword('Big Apple', 'New York')
  7. keyword_processor.add_keyword('Bay Area')
  8. keywords_found = keyword_processor.extract_keywords('I love Big Apple and Bay Area.')
  9.  
  10. keywords_found
  11. ['New York', 'Bay Area']

替代關(guān)鍵詞:

  1. keyword_processor.add_keyword('New Delhi', 'NCR region')
  2.  
  3. new_sentence = keyword_processor.replace_keywords('I love Big Apple and new delhi.')
  4.  
  5. new_sentence
  6. 'I love New York and NCR region.'

有關(guān)更多示例,請參閱文檔中的 用法 一節(jié)。

模糊處理

這個名字聽起來很奇怪,但是 FuzzyWuzzy 在字符串匹配方面是一個非常有用的庫。它可以很容易地實(shí)現(xiàn)字符串匹配率、令牌匹配率等操作。對于匹配保存在不同數(shù)據(jù)庫中的記錄也很方便。

安裝:

  1. $ pip install fuzzywuzzy

例子:

  1. from fuzzywuzzy import fuzz
  2. from fuzzywuzzy import process
  3.  
  4. # 簡單的匹配率
  5. fuzz.ratio("this is a test", "this is a test!")
  6. 97
  7.  
  8. # 部分的匹配率
  9. fuzz.partial_ratio("this is a test", "this is a test!")
  10.  100

更多的例子可以在 FuzzyWuzy 的 GitHub 倉庫得到。

PyFlux

時間序列分析是機(jī)器學(xué)習(xí)中最常遇到的問題之一。PyFlux 是 Python 中的開源庫,專門為處理時間序列問題而構(gòu)建的。該庫擁有一系列優(yōu)秀的現(xiàn)代時間序列模型,包括但不限于 ARIMA、GARCH 以及 VAR 模型。簡而言之,PyFlux 為時間序列建模提供了一種概率方法。這值得一試。

安裝:

  1. pip install pyflux

例子:

有關(guān)用法和示例,請參閱其 文檔

IPyvolume

交流結(jié)果是數(shù)據(jù)科學(xué)的一個重要方面,可視化結(jié)果提供了顯著優(yōu)勢。 IPyvolume 是一個 Python 庫,用于在 Jupyter 筆記本中可視化 3D 體積和形狀(例如 3D 散點(diǎn)圖),配置和工作量極小。然而,它目前處于 1.0 之前的階段。一個很好的類比是這樣的: IPyVolumee volshow 是 3D 陣列,Matplotlib 的 imshow 是 2D 陣列。你可以在其 文檔 中讀到更多關(guān)于它的信息。

安裝:

  1. Using pip
  2. $ pip install ipyvolume
  3.  
  4. Conda/Anaconda
  5. $ conda install -c conda-forge ipyvolume

例子:

動畫:

體繪制:

Dash

Dash 是一個用于構(gòu)建 Web 應(yīng)用程序的高效 Python 框架。它構(gòu)建于 Flask、Plotty.js 和 Response.js 之上,將下拉菜單、滑塊和圖形等流行 UI 元素與你的 Python 分析代碼聯(lián)系起來,而不需要JavaScript。Dash 非常適合構(gòu)建可在 Web 瀏覽器中呈現(xiàn)的數(shù)據(jù)可視化應(yīng)用程序。有關(guān)詳細(xì)信息,請參閱其 用戶指南 。

安裝:

  1. pip install dash==0.29.0  # The core dash backend
  2. pip install dash-html-components==0.13.2  # HTML components
  3. pip install dash-core-components==0.36.0  # Supercharged components
  4. pip install dash-table==3.1.3  # Interactive DataTable component (new!)

例子:

下面的示例顯示了一個具有下拉功能的高度交互的圖表。當(dāng)用戶在下拉列表中選擇一個值時,應(yīng)用程序代碼將數(shù)據(jù)從 Google Finance 動態(tài)導(dǎo)出到 Pandas 數(shù)據(jù)框架中。

Gym

從 OpenAI 而來的 Gym 是開發(fā)和比較強(qiáng)化學(xué)習(xí)算法的工具包。它與任何數(shù)值計(jì)算庫兼容,如 TensorFlow 或 Theano。Gym 是一個測試問題的集合,也稱為“環(huán)境”,你可以用它來制定你的強(qiáng)化學(xué)習(xí)算法。這些環(huán)境有一個共享的接口,允許您編寫通用算法。

安裝:

  1. pip install gym

例子:

以下示例將在 CartPole-v0 環(huán)境中,運(yùn)行 1000 次,在每一步渲染環(huán)境。

你可以在 Gym 網(wǎng)站上讀到 其它的環(huán)境 。

結(jié)論

這些是我挑選的有用但鮮為人知的數(shù)據(jù)科學(xué) Python 庫。如果你知道另一個要添加到這個列表中,請?jiān)谙旅娴脑u論中提及。 

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2020-07-03 18:05:04

Python開發(fā)工具

2020-11-25 08:00:00

數(shù)據(jù)分析人工智能技術(shù)

2009-09-14 09:45:20

Chrome谷歌操作系統(tǒng)

2014-07-29 14:25:43

Unix命令

2019-10-08 16:24:33

Chrome瀏覽器

2023-04-23 15:11:26

2017-11-08 14:55:16

Linux命令sudo

2023-09-08 13:11:00

NumPyPandasPython庫

2010-01-07 10:05:51

IT顧問特質(zhì)

2019-12-12 20:49:05

JavaScript語言運(yùn)算符

2024-03-04 16:32:02

JavaScript運(yùn)算符

2023-09-26 12:34:29

Python迭代過濾函數(shù)

2013-07-15 09:14:00

2011-05-03 13:13:52

編程PHPJava

2014-04-22 16:38:12

GitHubGitHub 使用技巧

2020-02-20 12:02:32

Python數(shù)據(jù)函數(shù)

2024-09-10 08:35:57

2015-03-04 09:30:34

數(shù)據(jù)庫

2024-05-20 13:02:30

Python編程開發(fā)

2021-08-03 09:55:37

Python函數(shù)編程語言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號