這9個鮮為人知的Python庫,你用過幾個?

AMiner學術頭條發表於2019-03-12

我們曾為大家分享過12種Python 機器學習 & 資料探勘 工具包(附連結)

今天會為大家介紹9個鮮為人知的Python庫(排名不分先後)

  • Wget

  • Pendulum 

  • imbalanced-learn  

  • FlashText  

  • Fuzzywuzzy 

  • PyFlux 

  • Ipyvolume 

  • Dash 

  • Gym 

01 Wget

網址:https://pypi.org/project/wget/

Wget是一個免費的實用程式,用於從Web上非互動式下載檔案。它支援HTTP,HTTPS和FTP協議,以及通過HTTP代理進行檢索。由於它是非互動式的,即使使用者沒有登入也可以在後臺執行。因此,下次你想要從網頁下載所有影像時,wget可以幫助你。

這9個鮮為人知的Python庫,你用過幾個?

安裝

$ pip install wget

示例:

import wget url = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'

filename = wget.download(url) 100% [................................................] 3841532 / 3841532

filename 'razorback.mp3'

02 Pendulum

網址:https://github.com/sdispater/pendulum

它是一個Python包,可以簡化日期操作。它是Python本機類的直接替代品。

這9個鮮為人知的Python庫,你用過幾個?

安裝:

$ pip install pendulum

示例:

import pendulum

dt_toronto = pendulum.datetime(2012, 1, 1, tz='America/Toronto') dt_vancouver = pendulum.datetime(2012, 1, 1, tz='America/Vancouver')

print(dt_vancouver.diff(dt_toronto).in_hours())

3

03 imbalanced-learn

網址:https://github.com/scikit-learn-contrib/imbalanced-learn

可以看出,當每個類中的樣本數幾乎相同(即平衡)時,大多數分類演算法效果最好。但是,現實生活中的案例中充滿了不平衡的資料集,這些資料集可能會影響學習階段和機器學習演算法的後續預測。幸運的是,已建立此庫解決該問題。它與scikit-learn相容, 是scikit-learn-contrib專案的一部分。下次遇到不平衡資料集時可嘗試一下。

這9個鮮為人知的Python庫,你用過幾個?

安裝:

pip install -U imbalanced-learn

# or

conda install -c conda-forge imbalanced-learn

04 FlashText

網址:https://github.com/vi3k6i5/flashtext

在NLP任務期間清理文字資料通常需要替換句子中的關鍵詞或從句子中提取關鍵詞。通常,這種操作可以用正規表示式完成,但如果要搜尋的術語數量達到數千,則可能變得很麻煩。Python的FlashText模組基於FlashText演算法,為這種情況提供了一種合適的替代方案。FlashText的最佳部分是執行時是相同的,而與搜尋項的數量無關。

這9個鮮為人知的Python庫,你用過幾個?

安裝:

$ pip install flashtext

示例:

from flashtext import KeywordProcessor keyword_processor = KeywordProcessor()

# keyword_processor.add_keyword(<unclean name>, <standardised name>)

keyword_processor.add_keyword('Big Apple', 'New York') keyword_processor.add_keyword('Bay Area') keywords_found = keyword_processor.extract_keywords('I love Big Apple and Bay Area.')

keywords_found ['New York', 'Bay Area']

05 Fuzzywuzzy

網址:https://github.com/seatgeek/fuzzywuzzy

這個名字聽起來很奇怪,但是當涉及字串匹配時,fuzzywuzzy是一個非常有用的庫。可以輕鬆實現字串比較比率等操作,還可以方便地匹配儲存在不同資料庫中的記錄。

這9個鮮為人知的Python庫,你用過幾個?

安裝:

$ pip install fuzzywuzzy

示例:

from fuzzywuzzy import fuzz from fuzzywuzzy import process

# Simple Ratio

fuzz.ratio("this is a test", "this is a test!") 97

# Partial Ratio fuzz.partial_ratio("this is a test", "this is a test!") 100

06 PyFlux

網址:https://github.com/RJT1990/pyflux

時間序列分析是機器學習領域中最常遇到的問題之一。PyFlux是Python中的一個開源庫,專門用於處理時間序列問題。該庫擁有一系列優秀的現代時間序列模型,包括但不限於ARIMA、GARCH和VAR模型。簡而言之,PyFlux提供了一種時間序列建模的概率方法,值得一試。

這9個鮮為人知的Python庫,你用過幾個?

安裝:

pip install pyflux

07 Ipyvolume

網址:https://github.com/maartenbreddels/ipyvolume

溝通結果是資料科學的一個重要方面。能夠視覺化結果具有顯著的優勢。IPyvolume是一個Python庫,用於在Jupyter筆記本中視覺化3d體積和字形(例如3d散點圖),只需最少的配置和精力。但是,它目前處於1.0之前的階段。一個很好的比喻是這樣的:IPyvolume的volshow是3d陣列matplotlib的imshow是2d陣列。

這9個鮮為人知的Python庫,你用過幾個?

安裝:

Using pip $ pip install ipyvolume

Conda/Anaconda $ conda install -c conda-forge ipyvolume

08 Dash

網址:https://github.com/plotly/dash

Dash是一個用於構建Web應用程式的高效Python框架。它寫在Flask,Plotly.js和React.js之上,並將現有UI元素(如下拉選單,滑塊和圖形)與您的分析Python程式碼聯絡起來,而無需使用javascript。Dash非常適合構建資料視覺化應用程式。然後,可以在Web瀏覽器中呈現這些應用程式。

這9個鮮為人知的Python庫,你用過幾個?

安裝:

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

09 Gym

網址:https://github.com/openai/gym

OpenAI的 Gym 是一個用於開發和比較強化學習演算法的工具包。它與任何數值計算庫相容,如TensorFlow或Theano。The gym library必然是測試問題的集合,也稱為環境 - 您可以使用它來計算強化學習演算法,這些環境具有共享介面,允許您編寫通用演算法。

這9個鮮為人知的Python庫,你用過幾個?

安裝:

pip install gym

如果各位有推薦的Python庫,也可以留言分享給我們。

資訊來源:Medium

相關文章