Py之GraphLab:graphlab库的简介、安装、使用方法之详细攻略
Py之GraphLab:graphlab庫的簡介、安裝、使用方法之詳細攻略
?
?
目錄
graphlab庫的簡介
1、GraphLab是什么
2、GraphLab的五大特點
3、為什么需要GraphLab
4、?GraphLab有什么優點
5、比較GraphLab和scikit-learn——GraphLab Create和scikit-learn哪個更好
graphlab庫的安裝
graphlab庫的使用方法
1、基礎用法
?
?
?
graphlab庫的簡介
? ? ? ? GraphLab 是由CMU(卡內基梅隆大學)的Select 實驗室在2010 年提出的一個基于圖像處理模型的開源圖計算框架,框架使用C++語言開發實現。該框架是面向機器學習(ML)的流處理并行計算框架,可以運行在多處理機的單機系統、集群或是亞馬遜的EC2 等多種環境下。框架的設計目標是,像MapReduce一樣高度抽象,可以高效執行與機器學習相關的、具有稀疏的計算依賴特性的迭代性算法,并且保證計算過程中數據的高度一致性和高效的并行計算性能。
? ? ? ? 為了實現機器學習算法通用性的目標,CMU 的Select 實驗室開發出了GraphLab。該框架最初是為處理大規模機器學習任務而開發的,但是該框架也同樣適用于許多數據挖掘方面的計算任務。在并行圖計算領域,該框架在性能上高出很多其他并行計算框架(例如,MapReduce、Mahout)幾個數量級。GraphLab 自成立以來就是一個發展很迅速的開源項目,其用戶涉及的范圍也相當廣泛,全球有2 000 多個企業、機構使用GraphLab。
官網介紹:https://reviews.financesonline.com/p/graphlab-create/
?
?
1、GraphLab是什么
- GraphLab Create是Turi為開發者和數據科學家創建的機器學習平臺。Apple子公司為用戶提供算法,使他們能夠用Python設計智能應用程序。
- 使用GraphLab Create,用戶還可以訪問旨在簡單有效地開發應用程序的工具包。這使得他們可以將其應用程序特有的關鍵特性(如自動化)整合到機器學習模型中。
- GraphLab Create還提供了高級的機器學習應用程序元素。這些技術包括深度學習、異常檢測、文本分析、分類、模型優化等,使開發人員能夠設計最先進的機器學習程序。
?
?
2、GraphLab的五大特點
- 可續訂:GraphLab Create是免費的,可用于學術用途。那些希望安裝該工具的人可以注冊并獲得為期一年的可續訂訂閱。這使用戶可以繼續學習AI的復雜性,尤其是AI的應用程序,而無需花很多錢購買許可證。
- 相同的代碼:GraphLab Create使用戶可以在其臺式計算機或分布式系統上運行相同的代碼。該平臺通過Hadoop Yarn或EC2集群來實現此目的。這使用戶可以在不同的系統上測試其代碼的有效性,從而確保它們在一個系統中和另一個系統中都能正常工作。
- 靈活的API:GraphLab Create提供有關使用其API的文檔。這使開發人員可以查看API使用示例,并通過深入的描述(使他們專注于機器學習任務)更深入地了解代碼。
- 簡化開發:GraphLab Create為用戶提供了面向應用程序的工具包,可幫助簡化開發過程。這樣,機器學習模型就注入了其應用程序特有的各種功能。
- 進階元素:用戶可以通過GraphLab Create訪問高級機器學習元素。它們的設計具有可訪問性,可伸縮性和可擴展性,以鼓勵開發人員和數據科學家設計適合自己特定需求的智能和創新機器學習應用程序。
?
?
3、為什么需要GraphLab
? ? ? ? GraphLab 的設計目標是在集群或者多處理機的單機系統上實現大規模的機器學習算法。一般的機器學習類算法有以下兩個特性。
- 數據依賴性很強:運算過程中參與計算的各個機器之間經常需要交換大量的數據。
- 流處理復雜:主要表現在整個處理過程需要反復地迭代計算,數據處理分支很多,很難實現真正的并行。
? ? ? ? 在GraphLab 出現之前,針對這些機器學習的算法,普遍的編程方法是采用MPI 和PThread 這些已有的底層開發庫來完成這類計算問題。采用這種編程模型的開發應用,針對具體的應用,需要開發者實現相應的算法來完成計算過程中集群計算節點之間主機通信和數據同步等底層操作。這種開發方法的優勢在于,可以針對具體的應用對代碼進行深度的優化,以達到很高的性能。但是對于不同的應用,需要重寫代碼實現底層的數據分配、數據通信等細節,這就導致了代碼重用率很低,可拓展性差,對編程人員要求高。這種編程模型顯然不適合當前敏捷的互聯網開發。而當前被廣泛使用的MapReduce 計算框架,在并行執行多任務的時候,要求各個任務之間相互獨立,任務執行期間不需要相互之間進行數據通信,所以MapReduce 不適合數據依賴性強的任務,而且MapReduce 并行計算模型也不能高效表達迭代型算法。這種計算模型在處理如日志分析、數據統計等數據獨立性的任務時具有明顯的優勢,但是在機器學習領域,MapReduce 框架并不能很好地滿足機器學習計算任務。
?
4、?GraphLab有什么優點
? ? ? ? GraphLab 作為一個基于圖處理的并行計算框架,能夠高效地執行機器學習相關的數據依賴性強,迭代型算法,其設計具有如下特點和優點。
- 統一的API 接口:對于多核處理器和分布式環境,采用統一的API 接口,一次編寫程序即可高效地運行在共享內存環境或者分布式集群上。
- 高性能:優化C++執行引擎,在大量多線程操作和同步I/O 操作之間進行了很好的平衡。
- 可伸縮性強:GraphLab 能夠智能地選擇存儲和計算的節點,原因是GraphLab 對于數據的存儲與計算都使用了精心設計的優良算法。
- 集成HDFS:GraphLab 內置對HDFS 的支持,GraphLab 能夠直接從HDFS中讀數據或者將計算結果數據直接寫入到HDFS 中。
- 功能強大的機器學習類工具集:GraphLab 在自身提供的API 接口之上實現了大量的開箱即用的工具集。
?
5、比較GraphLab和scikit-learn——GraphLab Create和scikit-learn哪個更好
推薦文章:https://comparisons.financesonline.com/graphlab-create-vs-scikit-learn
? ? ? ? 為您的公司找到完美的人工智能軟件對于提高公司的效率至關重要。在我們的平臺上,很容易評估眾多的解決方案,以確定哪一個是滿足您需求的理想軟件。在這里,您可以匹配GraphLab Create和scikit-learn,并查看它們的總分數(分別為8.3和8.9)和用戶滿意度(分別為100%和100%)。還可以瀏覽成本、條件、計劃、功能、工具等的詳細信息,并找出哪些軟件為您的企業提供了更多的優勢。一般來說,選擇那些讓你可以擴展功能和定價的軟件,以補充你的公司的增長或缺乏它。如果你時間緊迫,或者需要我們的專家提供人工智能軟件建議,你可能想看看今年的最佳選擇:Salesforce Einstein、云機器學習引擎、Azure機器學習工作室。
? ? ? ? 當你測試不同的人工智能軟件服務時,你不應該只研究它們的功能列表和提供的定價方案。記住,解決方案應該與你的需求和業務相匹配,所以他們提供的服務越靈活越好。了解GraphLab Create和scikit-learn支持哪些平臺,并確保您將獲得公司中使用的任何設備的移動支持。您還應該了解支持哪些語言和國家,因為這可能是許多公司的關鍵因素。
?
?
?
graphlab庫的安裝
pip2 install --upgrade --no-cache-dir https://get.graphlab.com/GraphLab-Create/2.1/your registered email address here/your product key here/GraphLab-Create-License.tar.gz -i https://pypi.tuna.tsinghua.edu.cn/simplepip install GraphLab-Create?
您可以直接從Github存儲庫下載GraphLab PowerGraph。如果你沒有git的話,Github還提供了倉庫的zip下載。
git clone https://github.com/graphlab-code/graphlab.git cd graphlab?
?
graphlab庫的使用方法
1、基礎用法
import graphlabgraphlab.SFrame('test.csv') graphlab.SFrame('file_name') #也可導入Graphlab格式的文件#繪圖 graphlab.canvas.set_target('ipynb') sales.show(view="Scatter Plot", x="sqft_living", y="price")#切分數據集 train_data,test_data = sales.random_split(.8,seed=0)#載入模型 sqft_model = graphlab.linear_regression.create(train_data, target='price', features=['sqft_living'],validation_set=None) sqft_model.predict(house2)#或者 sentiment_model = graphlab.logistic_classifier.create(train_data,target='sentiment',features=['word_count'],validation_set=test_data)giraffe_reviews['predicted_sentiment'] = sentiment_model.predict(giraffe_reviews, output_type='probability')#模型評估sqft_model.evaluate(test_data)sqft_model.get('coefficients') sqft_model['coefficients']?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Py之GraphLab:graphlab库的简介、安装、使用方法之详细攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成功解决 raise Runtim
- 下一篇: Computer:屏幕录像专家软件的简介