機器學習作為大數據的前沿無疑是讓人生畏的,因為只有技術極客和數據科學領域的專家才能駕馭機器學習算法和技術,對于大部分企業和組織而言,過去這一直都是一個遙不可及的事情。但是現在這種情況正在發生改變,正如標準的API簡化了應用程序的開發一樣,機器學習API也降低了這一領域的門檻,讓越來越多的人和企業能夠借助技術底蘊深厚的公司所提供的API試水機器學習。
機器學習API隱藏了創建和部署機器學習模型的復雜性,讓開發者能夠專注于數據挖掘和用戶體驗。同時,將機器學習商業化成云服務也是當今的趨勢,IBM、Microsoft、Google、Amazon以及BigML等公司都為業務分析師和開發人員提供了自己的機器學習即服務(MLaaS),最近Khushbu Shah在KDnuggets上發表了一篇文章,介紹了這5個公司的機器學習API。
IBM Watson
IBM Watson Developer Cloud于2013年十一月推出,它提供了一套完整的API,簡化了數據準備的流程,讓開發者能夠更容易地運行預測分析。作為一個認知服務,IBM Watson API允許開發人員利用機器學習技術,如自然語言處理、計算機視覺以和預測功能,來構建更加智能的產品、服務或者應用程序,通過在應用中嵌入IBM Watson,開發者還能夠更好地理解用戶是如何與應用程序交互的。
IBM Watson是一個包含聽、看、說以及理解等感知功能的擴展工具集,它提供的API超過了25個,涵蓋了近50種技術,其中最主要的服務包括:
機器翻譯——幫助翻譯不同語言組合中的文本
消息共振——找出短語或單詞在預定人群中的流行度
問答——為主文檔來源觸發的查詢提供直接的答案
用戶模型——根據給定的文本預測人們的社會特征
Microsoft Azure機器學習API
Microsoft Azure機器學習是一個用于處理海量數據并構建預測型應用程序的平臺,該平臺提供的功能有自然語言處理、推薦引擎、模式識別、計算機視覺以及預測建模等,為了迎合數據科學家的喜好,Microsoft Azure機器學習平臺還增加了對Python的支持,用戶能夠直接將Python代碼片段發布成API。借助于Microsoft Azure機器學習API,數據科學家能夠更容易地構建預測模型并縮短開發周期,其主要特性包括:
支持創建自定義的、可配置的R模塊,讓數據分析師或者數據科學家能夠使用自己的R語言代碼來執行訓練或預測任務
支持自定義的Python腳本,這些腳本可以使用SciPy、SciKit-Learn、NumPy以及Pandas等數據科學類庫
支持PB級的數據訓練,支持Spark和Hadoop大數據處理平臺
Google預測API
Google預測API是一個云端機器學習和模式匹配工具,它能夠從BigQuery和Google云存儲上讀取數據,能夠處理銷售機會分析、客戶情感分析、客戶流失分析、垃圾郵件檢測、文檔分類、購買率預測、推薦和智能路由等用戶場景。使用Google預測API的用戶不需要人工智能的知識,只需要有一些基礎的編程背景即可。Google預測API支持眾多的編程語言,比如 .NET、Go、Google Web Toolkit、JavaScript、Objective C、PHP、Python、Ruby和Apps Script,基本覆蓋了主流的編程語言。
Amazon機器學習API
Amazon機器學習API讓用戶不需要大量的數據專家就能夠實現模型構建、數據清洗和統計分析等工作,簡化了預測的實現流程。雖然該API有一些UI界面或者算法上的限制,但是卻是用戶友好和向導驅動的,它為開發者提供了一些可視化工具,讓相關API的使用更直觀、也更清晰。
Amazon機器學習API支持的用戶場景包括:
通過分析信號水平特征對歌曲進行題材分類
通過對智能設備加速傳感器捕獲的數據以及陀螺儀的信號進行分析識別用戶的活動,是上樓、下樓、平躺、坐下還是站立不動
通過分析用戶行為預測用戶是否能夠成為付費用戶
分析網站活動記錄,發現系統中的假用戶、機器人以及垃圾郵件制造者
BigML
BigML是一個對用戶友好、對開發者友好的機器學習API,該項目的動機是讓預測分析對用戶而言更簡單也更容易理解。BigML API提供了3種重要的模式:命令行接口、Web接口和RESTful API,其支持的主要功能包括異常檢測、聚類分析、決策樹的SunBurst可視化以及文本分析等。
借助于BigML,用戶能夠通過創建一個描述性的模型來理解復雜數據中各個屬性和預測屬性之間的關系,能夠根據過去的樣本數據創建預測模型,能夠在BigML平臺上維護模型并在遠程使用。