色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

2018年的7大最好的Python庫

DPVg_AI_era ? 來源:lq ? 2019-01-06 09:44 ? 次閱讀

作者根據每周發布總結的系列文章,匯總了2018年針對數據科學家/AI的最佳庫、repos、包和工具。本文對其進行了梳理,列舉了人工智能和數據科學的七大Python庫。

本文作者Favio Vázquez從2018年開始發布《數據科學和人工智能每周文摘:Python & R》系列文章,為數據科學家介紹最好的庫、repos、packages以及工具。

一年結束,作者列出了2018年的7大最好的Python庫,這些庫確實地改進了研究人員的工作方式。

7. AdaNet?———快速靈活的AutoML框架

https://github.com/tensorflow/adanet

AdaNet是一個輕量級的、可擴展的TensorFlow AutoML框架,用于使用AdaNet算法訓練和部署自適應神經網絡[Cortes et al. ICML 2017]。AdaNet結合了多個學習子網絡,以減輕設計有效的神經網絡所固有的復雜性。

這個軟件包將幫助你選擇最優的神經網絡架構,實現一種自適應算法,用于學習作為子網絡集合的神經架構。

你需要了解TensorFlow才能使用這個包,因為它實現了TensorFlow Estimator,但這將通過封裝訓練、評估、預測和導出服務來幫助你簡化機器學習編程

你可以構建一個神經網絡的集合,這個庫將幫助你優化一個目標,以平衡集合在訓練集上的性能和將其泛化到未見過數據的能力之間的權衡。

安裝

安裝adanet之前需將TensorFlow升級到1.7或以上:

$pipinstall"tensorflow>=1.7.0"

從源代碼安裝

要從源代碼進行安裝,首先需要安裝bazel。

下一步,復制adanet和cd到它的根目錄:

$gitclonehttps://github.com/tensorflow/adanet&&cdadanet

從adanet根目錄運行測試:

$cdadanet$bazeltest-copt//...

確認一切正常后,將adanet安裝為pip包。

現在,可以對adanet進行試驗了。

importadanet

用法

有關AdaNet的詳細用法,請閱讀官方教程

https://github.com/tensorflow/adanet/tree/master/adanet/examples/tutorials

https://ai.googleblog.com/2018/10/introducing-adanet-fast-and-flexible.html?m=1

6. TPOT——一個自動化的Python機器學習工具

https://github.com/EpistasisLab/tpot

之前我介紹過Auto-Keras,這是一個很棒的AutoML庫。現在我們有另一個非常有趣的工具——TPOT。

TPOT全稱是基于樹的pipeline優化工具(Tree-based Pipeline Optimization Tool),這是一個非常棒Python自動機器學習工具,使用遺傳編程優化機器學習pipeline。

TPOT可以自動化許多東西,包括生命特性選擇、模型選擇、特性構建等等。如果你是Python機器學習者,很幸運,TPOT是構建在Scikit-learn之上的,所以它生成的所有代碼看起來應該很熟悉。

它的作用是通過智能地探索數千種可能的pipeline來自動化機器學習中最繁瑣的部分,找到最適合你的數據的pipeline,然后為你提供最佳的 Python 代碼。

它的工作原理如下:

安裝

安裝TPOT之前,請先閱讀教程:

http://epistasislab.github.io/tpot/installing/

然后,運行以下代碼:

pipinstalltpot

例子:

首先讓我們從基本的Iris數據集開始:

1fromtpotimportTPOTClassifier 2fromsklearn.datasetsimportload_iris 3fromsklearn.model_selectionimporttrain_test_split 4 5#Loadirisdataset 6iris=load_iris() 7 8#Splitthedata 910X_trainX_train,X_test,y_train,y_test=train_test_split(iris.data,iris.target,11train_size=0.75,test_size=0.25)1213#FittheTPOTclassifier1415tpot=TPOTClassifier(verbosity=2,max_time_mins=2)16tpot.fit(X_train,y_train)1718#Exportthepipeline19tpot.export('tpot_iris_pipeline.py')

我們在這里構建了一個非常基本的TPOT pipeline,它將嘗試尋找最佳ML pipeline來預測iris.target。然后保存這個pipeline。之后,我們要做的就非常簡單了——加載生成的.py文件,你將看到:

1importnumpyasnp 2fromsklearn.kernel_approximationimportRBFSampler 3fromsklearn.model_selectionimporttrain_test_split 4fromsklearn.pipelineimportmake_pipeline 5fromsklearn.treeimportDecisionTreeClassifier 6#NOTE:Makesurethattheclassislabeled'class'inthedatafile 7tpot_data=np.recfromcsv('PATH/TO/DATA/FILE',delimiter='COLUMN_SEPARATOR',dtype=np.float64) 8features=np.delete(tpot_data.view(np.float64).reshape(tpot_data.size,-1),tpot_data.dtype.names.index('class'),axis=1) 9training_features,testing_features,training_classes,testing_classes=10train_test_split(features,tpot_data['class'],random_state=42)11exported_pipeline=make_pipeline(12RBFSampler(gamma=0.8500000000000001),13DecisionTreeClassifier(criterion="entropy",max_depth=3,min_samples_leaf=4,min_samples_split=9)14)15exported_pipeline.fit(training_features,training_classes)16results=exported_pipeline.predict(testing_features)

就是這樣。你已經以一種簡單但強大的方式為Iris數據集構建一個分類器。

現在我們來看看MNIST的數據集:

1fromtpotimportTPOTClassifier 2fromsklearn.datasetsimportload_digits 3fromsklearn.model_selectionimporttrain_test_split 4 5#loadandsplitdataset 6digitsdigits==load_digitsload_di() 7X_train,X_test,y_train,y_test=train_test_split(digits.data,digits.target, 8train_size=0.75,test_size=0.25) 910#FittheTPOTclassifier11tpot=TPOTClassifier(verbosity=2,max_time_mins=5,population_size=40)12tpot.fit(X_train,y_train)1314#Exportpipeline15tpot.export('tpot_mnist_pipeline.py')

接下來我們再次加載生成的 .py文件,你將看到:

1importnumpyasnp 2fromsklearn.model_selectionimporttrain_test_split 3fromsklearn.neighborsimportKNeighborsClassifier 4#NOTE:Makesurethattheclassislabeled'class'inthedatafile 5tpot_data=np.recfromcsv('PATH/TO/DATA/FILE',delimiter='COLUMN_SEPARATOR',dtype=np.float64) 6features=np.delete(tpot_data.view(np.float64).reshape(tpot_data.size,-1),tpot_data.dtype.names.index('class'),axis=1) 7training_features,testing_features,training_classes,testing_classes= 8train_test_split(features,tpot_data['class'],random_state=42) 9exported_pipeline=KNeighborsClassifier(n_neighbors=4,p=2,weights="distance")10exported_pipeline.fit(training_features,training_classes)11results=exported_pipeline.predict(testing_features)

5. SHAP?——一個解釋任何機器模型輸出的統一方法

https://github.com/slundberg/shap

解釋機器學習模型并不容易。然而,它對許多商業應用程序來說非常重要。幸運的是,有一些很棒的庫可以幫助我們完成這項任務。在許多應用程序中,我們需要知道、理解或證明輸入變量在模型中的運作方式,以及它們如何影響最終的模型預測。

SHAP (SHapley Additive exPlanations)是一種解釋任何機器學習模型輸出的統一方法。SHAP將博弈論與局部解釋聯系起來,并結合了之前的幾種方法。

安裝

SHAP可以從PyPI安裝

pipinstallshap

或conda -forge

condainstall-cconda-forgeshap

用法

有很多不同的模型和方法可以使用這個包。在這里,我將以DeepExplainer中的一個例子為例。

Deep SHAP是深度學習模型中SHAP值的一種高速近似算法,它基于與DeepLIFT的連接,如SHAP的NIPS論文所述(https://arxiv.org/abs/1802.03888)。

下面這個例子可以看到SHAP如何被用來解釋MNIST數據集的Keras模型結果:

#thisisthecodefromhttps://github.com/keras-team/keras/blob/master/examples/mnist_cnn.pyfrom__future__importprint_functionimportkerasfromkeras.datasetsimportmnistfromkeras.modelsimportSequentialfromkeras.layersimportDense,Dropout,Flattenfromkeras.layersimportConv2D,MaxPooling2DfromkerasimportbackendasKbatch_size=128num_classes=10epochs=12#inputimagedimensionsimg_rows,img_cols=28,28#thedata,splitbetweentrainandtestsets(x_train,y_train),(x_test,y_test)=mnist.load_data()ifK.image_data_format()=='channels_first':x_train=x_train.reshape(x_train.shape[0],1,img_rows,img_cols)x_test=x_test.reshape(x_test.shape[0],1,img_rows,img_cols)input_shape=(1,img_rows,img_cols)else:x_train=x_train.reshape(x_train.shape[0],img_rows,img_cols,1)x_test=x_test.reshape(x_test.shape[0],img_rows,img_cols,1)input_shape=(img_rows,img_cols,1)x_train=x_train.astype('float32')x_test=x_test.astype('float32')x_train/=255x_test/=255print('x_trainshape:',x_train.shape)print(x_train.shape[0],'trainsamples')print(x_test.shape[0],'testsamples')#convertclassvectorstobinaryclassmatricesy_train=keras.utils.to_categorical(y_train,num_classes)y_test=keras.utils.to_categorical(y_test,num_classes)model=Sequential()model.add(Conv2D(32,kernel_size=(3,3),activation='relu',input_shape=input_shape))model.add(Conv2D(64,(3,3),activation='relu'))model.add(MaxPooling2D(pool_size=(2,2)))model.add(Dropout(0.25))model.add(Flatten())model.add(Dense(128,activation='relu'))model.add(Dropout(0.5))model.add(Dense(num_classes,activation='softmax'))model.compile(loss=keras.losses.categorical_crossentropy,optimizer=keras.optimizers.Adadelta(),metrics=['accuracy'])model.fit(x_train,y_train,batch_size=batch_size,epochs=epochs,verbose=1,validation_data=(x_test,y_test))score=model.evaluate(x_test,y_test,verbose=0)print('Testloss:',score[0])print('Testaccuracy:',score[1])

更多示例:

https://github.com/slundberg/shap#sample-notebooks

4. Optimus——使用 Python 和 Spark 輕松實現敏捷數據科學工作流

https://github.com/ironmussa/Optimus

Optimus V2旨在讓數據清理更容易。這個API的設計對新手來說超級簡單,對使用pandas的人來說也非常熟悉。Optimus擴展了Spark DataFrame功能,添加了.rows和.cols屬性。

使用Optimus,你可以以分布式的方式清理數據、準備數據、分析數據、創建分析器和圖表,并執行機器學習和深度學習,因為它的后端有Spark、TensorFlow和Keras。

Optimus是數據科學敏捷方法的完美工具,因為它幾乎可以幫助你完成整個過程的所有步驟,并且可以輕松地連接到其他庫和工具。

Installation (pip):

pipinstalloptimuspyspark

用法

在這個示例中,你可以從 URL 加載數據,對其進行轉換,并應用一些預定義的清理功能:

fromoptimusimportOptimusop=Optimus()#Thisisacustomfunctiondeffunc(value,arg):return"thiswasanumber"df=op.load.url("https://raw.githubusercontent.com/ironmussa/Optimus/master/examples/foo.csv")df.rows.sort("product","desc").cols.lower(["firstName","lastName"]).cols.date_transform("birth","new_date","yyyy/MM/dd","dd-MM-YYYY").cols.years_between("birth","years_between","yyyy/MM/dd").cols.remove_accents("lastName").cols.remove_special_chars("lastName").cols.replace("product","taaaccoo","taco").cols.replace("product",["piza","pizzza"],"pizza").rows.drop(df["id"]<7)????.cols.drop("dummyCol")????.cols.rename(str.lower)????.cols.apply_by_dtypes("product",func,"string",?data_type="integer")????.cols.trim("*")????.show()

你可以將這個表格

轉換為這樣:

是不是很酷?這個庫還可以做更多事情,具體請閱讀:

https://www.hioptimus.com/

3. spacy——使用Python和Cython的工業級自然語言處理

https://spacy.io/

spaCy旨在幫助你完成實際的工作——構建真實的產品,或收集真實的見解。這個庫尊重你的時間,盡量避免浪費。它易于安裝,而且它的API簡單而高效。spaCy被視為自然語言處理的Ruby on Rails。

spaCy是為深度學習準備文本的最佳方法。它與TensorFlow、PyTorch、Scikit-learn、Gensim以及Python強大的AI生態系統的其他部分無縫交互。使用spaCy,你可以很容易地為各種NLP問題構建語言復雜的統計模型。

安裝

pip3installspacy$python3-mspacydownloaden

這里,我們還下載了英語語言模型。你可以在這里找到德語,西班牙語,意大利語,葡萄牙語,法國語等版本的模型:

https://spacy.io/models/

下面是主頁面的一個示例:

#python-mspacydownloaden_core_web_smimportspacy#LoadEnglishtokenizer,tagger,parser,NERandwordvectorsnlp=spacy.load('en_core_web_sm')#Processwholedocumentstext=(u"WhenSebastianThrunstartedworkingonself-drivingcarsat"u"Googlein2007,fewpeopleoutsideofthecompanytookhim"u"seriously.“IcantellyouveryseniorCEOsofmajorAmerican"u"carcompanieswouldshakemyhandandturnawaybecauseIwasn’t"u"worthtalkingto,”saidThrun,nowtheco-founderandCEOof"u"onlinehighereducationstartupUdacity,inaninterviewwith"u"Recodeearlierthisweek.")doc=nlp(text)#Findnamedentities,phrasesandconceptsforentityindoc.ents:print(entity.text,entity.label_)#Determinesemanticsimilaritiesdoc1=nlp(u"myfriesweresupergross")doc2=nlp(u"suchdisgustingfries")similarity=doc1.similarity(doc2)print(doc1.text,doc2.text,similarity)

在這個示例中,我們首先下載English tokenizer, tagger, parser, NER和word vectors。然后創建一些文本,打印找到的實體、短語和概念,最后確定兩個短語的語義相似性。運行這段代碼,你會得到:

SebastianThrunPERSONGoogleORG2007DATEAmericanNORPThrunPERSONRecodeORGearlierthisweekDATEmyfriesweresupergrosssuchdisgustingfries0.7139701635071919

2. jupytext

對我來說,jupytext是年度最佳。幾乎所有人都在像Jupyter這樣的筆記本上工作,但是我們也在項目的更核心部分使用像PyCharm這樣的IDE。

好消息是,你可以在自己喜歡的IDE中起草和測試普通腳本,在使用Jupytext時可以將IDE作為notebook在Jupyter中打開。在Jupyter中運行notebook以生成輸出,關聯.ipynb表示,并作為普通腳本或傳統Jupyter notebook 進行保存和分享。

下圖展示了這個包的作用:

可點擊下方鏈接查看原文中的GIF展示:

https://heartbeat.fritz.ai/top-7-libraries-and-packages-of-the-year-for-data-science-and-ai-python-r-6b7cca2bf000

安裝

pipinstalljupytext--upgrade

然后,配置Jupyter使用Jupytext:

使用jupyter notebook --generate-config生成Jupyter配置

編輯.jupyter/jupyter_notebook_config.py,并附加以下代碼:

c.NotebookApp.contents_manager_class="jupytext.TextFileContentsManager"

重啟Jupyter,即運行:

jupyternotebook

你可以在這里試試:

https://mybinder.org/v2/gh/mwouts/jupytext/master?filepath=demo

1.Chartify?——讓數據科學家很容易創建圖表的Python庫

https://xkcd.com/1945/

Chartify是Python的年度最佳庫。

在Python世界中創建一個像樣的圖很費時間。幸運的是,我們有像Seaborn之類的庫,但問題是他們的plots不是動態的。

然后就出現了Bokeh——這是一個超棒的庫,但用它來創造互動情節仍很痛苦。

Chartify建立在Bokeh之上,但它簡單得多。

Chartify的特性:

一致的輸入數據格式:轉換數據所需的時間更少。所有繪圖函數都使用一致、整潔的輸入數據格式。

智能默認樣式:創建漂亮的圖表,幾乎不需要自定義。

簡單API:API盡可能直觀和容易學習。

靈活性:Chartify是建立在Bokeh之上的,所以如果你需要更多的控制,你可以使用Bokeh的API。

安裝

Chartify可以通過pip安裝:

pip3installchartify

用法

假設我們想要創建這個圖表:

importpandasaspdimportchartify#Generateexampledatadata=chartify.examples.example_data()

現在,我們已經加載了一些示例數據,讓我們來做一些轉換:

total_quantity_by_month_and_fruit=(data.groupby([data['date']+pd.offsets.MonthBegin(-1),'fruit'])['quantity'].sum().reset_index().rename(columns={'date':'month'}).sort_values('month'))print(total_quantity_by_month_and_fruit.head())monthfruitquantity02017-01-01Apple712017-01-01Banana622017-01-01Grape132017-01-01Orange242017-02-01Apple8

現在我們可以把它畫出來:

#Plotthedatach=chartify.Chart(blank_labels=True,x_axis_type='datetime')ch.set_title("Stackedarea")ch.set_subtitle("Representchangesindistribution.")ch.plot.area(data_frame=total_quantity_by_month_and_fruit,x_column='month',y_column='quantity',color_column='fruit',stacked=True)ch.show('png')

超級容易創建一個互動的plot。

更多示例:

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

    關注

    42

    文章

    4771

    瀏覽量

    100720
  • 機器學習
    +關注

    關注

    66

    文章

    8408

    瀏覽量

    132569
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84631

原文標題:必備!人工智能和數據科學的七大 Python 庫

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    數據事件觸發的設置和應用

    數據無論對于生產管理還是很多的實際應用都非常重要。小編這次聊一下數據事件觸發的應用。示例使用了postgresql和Python
    的頭像 發表于 12-13 15:14 ?107次閱讀

    使用Python進行串口通信的案例

    當然!以下是一個使用Python進行串口通信的簡單示例。這個示例展示了如何配置串口、發送數據以及接收數據。我們將使用 pyserial ,這是一個非常流行的用于串口通信的Python
    的頭像 發表于 11-22 09:11 ?181次閱讀

    NVIDIA發布cuPyNumeric加速計算

    該加速計算幫助科研人員無縫地擴展到強大的計算集群,并且無需修改 Python 代碼,推進科學發現。
    的頭像 發表于 11-21 10:05 ?247次閱讀

    如何使用Python構建LSTM神經網絡模型

    構建一個LSTM(長短期記憶)神經網絡模型是一個涉及多個步驟的過程。以下是使用Python和Keras構建LSTM模型的指南。 1. 安裝必要的 首先,確保你已經安裝了Python
    的頭像 發表于 11-13 10:10 ?332次閱讀

    Python解析:通過實現代理請求與數據抓取

    Python中,有多個可以幫助你實現代理請求和數據抓取。這些提供了豐富的功能和靈活的API,使得你可以輕松地發送HTTP請求、處理響應、解析HTML/XML/JSON數據,以及進行復雜的網絡操作。
    的頭像 發表于 10-24 07:54 ?165次閱讀

    如何利用python和API查詢IP地址?

    (但請注意,對于生產環境或高頻查詢,最好使用帶密鑰的服務以獲取更好的性能和安全性)。首先,確保安裝了requests:pip install requests然后,您可以使用以下Python代碼來
    發表于 08-28 11:55

    使用labview調用python運行一段時間后,報錯

    使用labview調用python運行一段時間后,報錯。 labview版本:2018*64; python:3.6x64 怎么解決~
    發表于 08-26 10:16

    pytorch和python的關系是什么

    在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的和框架以及強大的社區支持,使其成為了數據科學、機器學習和深度學習等領域的首選語言。而在深度學習領域
    的頭像 發表于 08-01 15:27 ?1892次閱讀

    Python建模算法與應用

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

    S7-200指令

    S7-200文件是西門子旗下同款編程軟件的可調用數據,可安裝也可直接覆蓋進行使用。常用的數據,簡便方便調用。在PLC中調試中節省時間。
    發表于 07-23 12:29 ?7次下載

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發表于 07-16 10:38 ?1161次閱讀

    深度學習常用的Python

    深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經網絡來解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的支持,成為了深度學習研究和應用的首選工具。本文將深入探討
    的頭像 發表于 07-03 16:04 ?626次閱讀

    如何使用Python進行神經網絡編程

    。 為什么使用PythonPython是一種廣泛使用的高級編程語言,以其易讀性和易用性而聞名。Python擁有強大的,如TensorFlow、Keras和PyTorch,這些
    的頭像 發表于 07-02 09:58 ?399次閱讀

    ESP32下如何加自定義Python

    我看官方有提供Micropython的bin文件,但我想根據自己外設擴充一下Python,這個應該從哪里入手? 之前做過RTT系統的python擴充,RTT有提供Micropyth
    發表于 06-18 06:27

    python 學習:在內網中 python-numpy 安裝方法,升級pip3版本的指令

    指令格式如下:先下載numpy到C盤具體位置 手動安裝指令如下: pip install c:\\\\users\\\\sesa738142
    發表于 04-22 17:18
    主站蜘蛛池模板: 秋霞午夜鲁丝片午夜精品久| a久久99精品久久久久久蜜芽| 国产高清视频a在线大全| 欧美一级成人影院免费的| 2021全国精品卡一卡二| 九九热视频免费| 亚洲高清毛片一区二区| 国产成人无码精品久久久影院| 青青草原影视| BL文库好大粗黑强强肉NP| 免费 高清 中文在线观看| 征服艳妇后宫春色| 久久精品中文闷骚内射| 亚洲伊人精品综合在合线| 国产亚洲福利精品一区| 亚洲AV无码影院在线播放| 国产精品无码无卡毛片不卡视| 色就色综合| 国产成人在线免费| 玩两个少妇女邻居| 国产精品乱码一区二区三| 偷窥欧美wc经典tv| 国产高清在线a视频大全| 无码AV免费精品一区二区三区| 国产白色视频在线观看w| 色戒床震视频片段| 国产99久久亚洲综合精品西瓜tv| 色婷婷AV国产精品欧美毛片| 大学生高潮无套内谢视频| 日产久久视频| 国产成人a视频在线观看| 思思99精品国产自在现线| 国产成人在线视频| 无止侵犯高H1V3无止侵犯| 国产人妖一区二区| 亚洲精品久久国产高清| 精品淑女少妇AV久久免费| 在线成 人av影院| 乱子伦在线观看中文字幕| 99久久人妻无码精品系列性欧美| 欧美日韩中文国产一区|