零基礎ML建模,自動機器學習平台R2 Learn開放免費試用
在數據的世界中,機器學習已經成為不可或缺的工具。機器學習可以幫助發現隱藏在大量數據中的特定知識。很多時候,這些知識都不是人類能輕易分析得出的,它展示了大量事實之間的內部聯繫。但是如果我們需要這些隱藏知識輔助做決策,機器學習建模就成為了一個非常有效的手段。
機器學習雖然十分強大,但它的模型開發應用過程卻相對複雜,包括很多步驟,從數據質量檢測,數據前期探索,特徵工程,演算法選擇,模型訓練,參數優化,模型結果分析,模型選擇,模型運營,一直到模型再優化。這些流程中每一步和每一個關鍵點做出的決策對於模型在實際應用中的表現都至關重要,所以找到最佳模型通常是一個不斷試錯的過程。
以現在的人工方式實現這個過程是非常繁瑣和緩慢的,所以在很多時候因為資源時間的限制往往不能找到最佳的模型。如果我們能把整個建模及運營流程高度自動化及優化,利用計算機的強大算力和高質的優化搜尋演算法,自動快速的找到優質的模型,那麼我們就可以把大部分時間用來快速解決業務問題,而不是機器學習問題了,這也正是R2 Learn平台所提供的功能。
在這篇文章中,我們將介紹如何使用R2 Learn快速構建機器學習模型,比較它與XGBoost建模的優劣。
重要的是,R2 Learn 目前提供免費試用,支持上限為50MB的CSV訓練數據量、兩萬行數據預測,足夠你體驗自動機器學習的魅力。不想寫代碼,不想學數學,但又想擁有精準機器學習模型?R2 Learn可以讓您親身體驗簡單便捷、高質高效的數據科學建模。
申請地址:https://www.r2ai.com.cn/product
什麼是 R2 Learn
成立於2015年的R2.ai 一直聚焦於自動化機器學習,其總部位於美國矽谷,上海和杭州都有分公司。R2 Learn是 R2.ai構建的 AutoML平台,它旨在自動化及優化機器學習工作流,從而完成更簡單,更快速,更高質量的數據分析。
R2 Learn是真正端到端的自動化機器學習解決方案,能夠提供一站式服務,完成從數據清洗到模型搭建所有步驟。只要對業務數據有一定理解,你就能通過R2 Learn迅速建立機器學習模型,解決業務需求。該平台通過自動演算法集成與模型調參,整個建模過程由機器全程處理,實現了建模過程的自動化、規範化、可視化。
無論是數據科學家還是不具備AI專業知識的業務人員,R2 Learn都可以在短時間內讓你實現機器學習建模。它的優勢主要在於便捷快速與準確優質。若與常規的XGBoost建模對比,我們發現R2 Learn 完全不需要代碼,數據預處理、模型搭建、訓練、調參和部署等過程能自動完成,而且準確率還非常高。R2 Learn的引導性可視化用戶界面大大提高了建模的便捷性,即使是業務人員,跟著界面提示就能完成大數據分析,都不一定需要看文檔或教程。此外,界面操作對ML開發者也很方便,可以充分發揮開發者的業務知識來輔助R2 Learn, 例如在處理數據缺失值時,可以選擇均值、中值和最值等更符合實際的方式進行補充,而完全不需要代碼。
其次對於模型質量,R2 Learn有一系列自動化的模型選擇與相應的超參搜索優化演算法,可以用較少的計算資源快速選擇性能最好的模型作為推薦。在我們使用XGBoost手動建模和R2 Learn平台建模後發現,R2 Learn的模型結果更加優異。
整體建模流程
一般的機器學習建模過程包含多個步驟,數據科學家首先要對數據進行清洗,其次通過一些統計分析理解數據及變數間的關係,進行特徵工程,然後才能開始建模和訓練等等。在我們的體驗中,R2 Learn整體過程只需用戶上傳數據,其餘步驟包括數據預處理、自動建模,得到分析結果,部署和監控模型均由R2 Learn完成,是真正端到端的全程自動機器學習。這大大減少了缺乏機器學習知識用戶的操作難度。
R2 Learn機器學習工作流
圖註:步驟1-3由用戶完成,4-6由R2 Learn自動完成。
在使用R2 Learn的過程中,首先收集我們的數據,它可能是業務數據,也可能是從網上爬取的一些信息。一般而言,我們可以將這些結構化數據轉換為csv文件放在本地或者資料庫上,並由用戶上傳至R2 Learn。至此為止,用戶負責的步驟1-3便完成了。
第4步為建立模型。當用戶上傳數據到R2 Learn平台後,R2 Learn便會檢查和清理數據,並且會以數據科學的角度給出最好的推薦,例如推薦使用最常見的類別作為缺失類別的補充。第4步可分為自動化建模和高級建模,其中自動化建模會全程完成從數據清洗、自動調參、選擇最優演算法、搭建模型、模型評估、模型推薦的所有步驟,是真正的「一鍵式」建模。高級建模則為有數據科學背景和建模經驗的用戶提供手動調整建模過程中的不同處理方式,例如用戶可以選擇用不同方式處理缺失數據,選用不同的熱門機器學習演算法訓練模型,分析變數的統計信息等。用戶可以重寫覆蓋系統決策,還能根據統計信息構建新變數。
當用戶完成模型訓練並且選擇了合適的模型後,第5步為部署模型。我們可以連接 R2 Learn 與已有的資料庫,或通過上傳CSV文件用模型對要預測的數據進行批量預測,用戶也可以選擇使用R2 Learn 模型運營API進行實時預測。
最後第6步可以監控模型的預測性能。一旦根據模型得出的預測結果不理想,R2 Learn會自動提醒用戶重新進行模型訓練以達到理想的預測結果。
案例分析及使用體驗
為了實際感受R2 Learn的效果,並了解它到底和主流機器學習庫相比有什麼優勢,我們使用R2.ai關於類型二糖尿病預測案例,分別進行R2 Learn自動化建模和XGBoost手動建模。
R2 Learn數據怎麼做
因為糖尿病數據集是CSV文件,我們直接將訓練集上傳到R2 Learn即可。如下所示為R2 Learn中的數據概覽,有點類似於Pandas 中的DataFrame.head,不過我們可以通過可視化操作選擇要預測的目標變數與可用的特徵變數,非常方便。對於分類任務,特徵變數可以分為類別型和數值型,R2 Learn可以自動檢測變數類型,用戶也可以根據需求自定義修改類型,這又會節省很多精力。
圖註:潛在糖尿病患者數據集一共有79977個有效樣本、 58個特徵變數。
確定無誤後,R2 Learn會自動分析目標變數與特徵變數,並給出質量修復方案。如下圖所示為R2 Learn對數據預處理的概覽。
因為R2 Learn能夠自動檢測變數類型,並對缺失值、異常值等提供處理方案,它比常規用Pandas預處理數據簡單很多,我們不需要寫代碼就能完成整個流程,這就是它的便捷性。
此外,獲取變數的相關性、重要性等信息,或創建新變數等高級操作都可以在Advanced建模模式中實現,這就是它的靈活性。
R2 Learn建模怎麼做
處理完數據後就可以開始建模了,R2 Learn提供兩種模式:全自動建模和高級建模,全自動建模不需要用戶做任何操作,只要等待模型訓練完成即可。這裡簡單介紹下高級建模(Advanced)模式, 除了前面所述獲取變數的統計信息外,更重要的是能夠查看自定義模型設置和參數。
對於分類和回歸問題,R2 Learn支持不同的演算法。除了平台提供的默認解決方案外,我們還可以根據具體需求選擇主流機器學習演算法,因此它兼顧了性能與便捷。如下圖所示為高級建模的各種選項,我們額外選了隨機森林和XGBoost兩種演算法,之後R2 Learn會進行自動建模、調參,推薦所選模型中結果最好的幾個。
除了模型選擇,設置中還包括了有很多其它參數,例如數據集分割比例[Set Percentage of Each Part]、不平衡數據的重採樣[Resampling Setting]、最大模型集成數[Set Model Ensemble Size]等等。其中比較便捷的是重採樣與模型集成:如果分類類別分布差別太大,我們可以選擇自動上採樣或下採樣;可以通過設置模型集成數量[Set Model Ensemble Size]選擇用來做集成模型的模型數量上限。
在隨後的建模訓練中,平台默認推薦兩種R2-solution演算法,不但模型訓練速度非常快,並且一般能得到的模型具有較高的準確率,這也是全自動建模所採用的方式。當用戶選擇高級模型並且勾選了其他多種演算法,模型訓練時長也會相應增加,儘管如此,百萬行數據需要的建模時間依然能在一小時左右完成,這是人工根本無法比擬的。
在所有已訓練模型中,R2 Learn會根據執行速度、模型性能、驗證集模型與流出集的差異等因素來綜合進行模型推薦。我們也可以對每一個已訓練模型查看各種可視化特徵,例如ROC曲線、預測分布、不同變數對預測的重要性等等。
如下所示為簡化版的模型效果圖。我們可以看到各模型的性能與執行速度,同時還能計算模型每個變數的重要性。其中綠色和紫色分別表示各類別分類正確的比例,黃色表示分類錯誤的比例。
R2 Learn會計算各個特徵對模型貢獻大小,如上模型,認為「gap」和「dm_duration」兩個特徵貢獻最大,這也為實際業務分析提供幫助,業務人員可以根據特徵貢獻大小,有的放矢地進行分析處理。
如上圖所示,通過運用R2 Learn建立的糖尿病者預測模型,AUC可達到0.877,能夠準確識別出超出HbA1C控制的高風險患者,為臨床健康風險管理提供了重要支持;分析團隊在收集到相關數據後,能夠在1-2小時內迅速構建出模型並完成預測;整個過程僅需要一名數據分析師即可完成整個建模預測工作,不需要任何外部顧問,從而節約了大量成本。
在實際應用中,R2 Learn不僅在醫療、還有包括金融、新零售、物流、製造等眾多領域的中都有很好的表現。
R2 Learn部署怎麼用
最後的部署就比較簡單了,確定最合適的訓練模型,然後選擇部署就行了。一般R2 Learn可以通過數據源或API進行模型部署,其中數據源又可分為本地CSV文件或資料庫。
對比XGBoost
最後,如果我們需要使用XGBoost庫執行相同的任務,那麼就需要按照標準的機器學習建模流程一點點完成。在適應了R2 Learn後,相對比而言這個過程越發顯得繁瑣,尤其是對大數據的預處理和調參等。如下為準備好數據後,執行模型訓練的代碼樣例:
gbm=xgb.XGBClassifier(scale_pos_weight=500,subsample=0.2,min_child_weight=20,max_depth=4,n_estimators=500,learning_rate=0.03,booster="gbtree",reg_alpha=0.01).fit(X,y,early_stopping_rounds=20,eval_metric="auc",eval_set=[(valX, valy)])
模型結果:
以上模型結果為嘗試不同上述超參數後建立XGBoost模型得到的結果,可見超參數的選擇直接影響建模效果。要得到較好的模型通常需要根據建模者的經驗進行多次調試,是一個相當消耗時間和精力的工作。
R2 Learn端到端的全流程自動建模方式,使整個流程變得非常簡單、便捷、高效,沒看說明書的情況下,用戶即可在幾分鐘以內建立並部署模型,無論你是否擁有AI專業知識;而使用XGBoost建模則需要從頭寫或修改開源代碼,哪怕是資深的數據科學家,也需要數小時的時間來完成整個工作。
而對於建模效果,R2 Learn的模型AUC可達到0.877;而利用XGBoost進行建模,多次調試後最佳效果也僅有0.862。R2 Learn在建模過程中,利用強大算力做支撐,擁有更多模型演算法、變數處理方式作為選擇,從而能夠建立出具有更高質量的模型。
為了讓用戶能親身體驗R2 Learn產品,R2.ai 公司近期在其網站https://www.r2ai.com.cn/product 推出產品公開免費試用。
同時,為滿足不同用戶需求,提供不同使用級別的個人版線上訂閱版本。雲平台產品更進一步節省了企業運用人工智慧進行機器學習建模所需的設備投資,使有需求的企業能立即開始應用領先的AutoML技術進行大數據分析和預測。對企業級用戶,R2.ai提供企業級SaaS和本地部署產品。
如果你也想試試R2 Learn這種更便捷更高效的全程自動機器學習方式,快快申請試用吧。
※賈揚清離職Facebook,被曝將加入阿里矽谷研究院
※讓智能體主動交互,DeepMind提出用元強化學習實現因果推理
TAG:機器之心 |