用Python 實現的大規模線性回歸、分類和排名庫——lightning
Lightning 是大規模線性回歸、分類、排名的 Python 庫。
Highlights:
遵循 scikit-learn API 約定(http://scikit-learn.org/)
本地支持密集和稀疏數據表示
在 Cython 中實現的計算要求較高的部分
Solvers supported:
原始坐標下降
雙坐標下降 (SDCA,Prox-SDCA)
SGD,AdaGrad,SAG,SAGA,SVRG
FISTA
示例
該示例展示了如何在 News20 數據集中學習具有組套索懲罰的多類分類器。
fromsklearn.datasetsimportfetch_20newsgroups_vectorized
fromlightning.classificationimportCDClassifier
# Load News20 dataset from scikit-learn.
bunch = fetch_20newsgroups_vectorized(subset="all")
X = bunch.data
y = bunch.target
# Set classifier options.
clf = CDClassifier(penalty="l1/l2",
loss="squared_hinge",
multiclass=True,
max_iter=20,
alpha=1e-4,
C=1.0/ X.shape[],
tol=1e-3)
# Train the model.
clf.fit(X, y)
# Accuracy
print(clf.score(X, y))
# Percentage of selected features
print(clf.n_nonzero(percentage=True))
依賴
Python >= 2.7
Numpy >= 1.3
SciPy >= 0.7
scikit-learn >= 0.15
從源代碼構建還需要 Cython 和一個可用的 C / C ++ 編譯器
要運行測試,nose >= 0.10
安裝
Lightning 穩定版本的預編譯二進位文件在主要平台可用,需要用 pip 安裝:
pipinstallsklearn-contrib-lightning
或者用 conda:
condainstall-c conda-forge sklearn-contrib-lightning
開發版本的 Lightning 可以從 git 庫上安裝。在這種情況下,假設你擁有 git 版本控制系統,一個可用的 C ++ 編譯器,Cython 和 numpy 開發庫,然後輸入:
git clone https://github.com/scikit-learn-contrib/lightning.git
cdlightning
pythonsetup.pybuild
sudopythonsetup.pyinstall
文檔
http://contrib.scikit-learn.org/lightning/
Github
https://github.com/scikit-learn-contrib/lightning
從Python入門-如何成為AI工程師
BAT資深演算法工程師獨家研發課程
最貼近生活與工作的好玩實操項目
班級管理助學搭配專業的助教答疑
學以致用拿offer,學完即推薦就業
新人福利
關注 AI 研習社(okweiwu),回復1領取
【超過 1000G 神經網路 / AI / 大數據資料】
現在 tensorflow 和 mxnet 很火,是否還有必要學習 scikit-learn 等框架?
※用於可視化人工神經網路的 Python庫——ANN Visualizer
※從零開始用 Python 實現 k 近鄰演算法
TAG:AI研習社 |