機器學習竟無需代碼!一起點點點,BigML初探

Photo of author
Written By CMO

對於機器學習感興趣的小朋友最多是被各種編程代碼“勸退”的。搭環境,建模,預測,有時候你或許有不錯的想法卻恨“武藝不精”而“胎死腹中”。為了解決這些困惑,本篇HubSpot One就將通過介紹一個成熟的機器學習平台BigML(bigml.com)為你提供一些思路。

機器學習平台BigML初探
機器學習平台BigML初探

機器學習能做什麼?

舉個最簡單的例子,我們有一個數據集,差不多就是一個Excel表格。表格里有自然搜索排名,是否出圖,還有對應的點擊率三欄數據,然後有幾千行。那麼你就可以將這幾千行數據作為訓練數據來建立一個模型,輸入為前兩列搜索排名和是否出圖,輸出為點擊率。然後你會有一組測試數據,可以通過輸入搜索排名和是否出圖來預測點擊率。

當然實際情況會要復雜很多,我們這個例子是為了說明機器學習可以為我們做些什麼?通過這個例子我們可以拓展出其他應用,比如網頁標題對點擊率的影響。如果我們更改了某個網頁的標題和描述會對點擊率有多少提升。再比如,網頁中怎樣插入圖片可以增加搜索結果頁面上出圖的概率。這樣我們不單可以獲得預測結果,還能夠獲得改進我們數字行銷表現的具體方法。

機器學習還能夠幫我們做其他事情,比如我們可以通過訓練自動標記用戶評論或者社群媒體上提及的感情色彩。我們可以對評論進行自動分類。這樣我們可以通過顯著性排序優先解決那些“憤怒”的客戶。

可以說機器學習“Makes our life easier”,它通過大數據為我們歸納出一些規律,幫助我們進行決策

機器學習也可以很簡單

如果我們準備好了輸入數據,那麼接下來的工作將會非常簡單。只需要在BigML(bigml.com)這樣的機器學習平台上點點點就好了。 BigML是相當成熟的平台,而且它對台灣用戶“非常有誠意”,竟然把整個界面都漢化了。這更是為機器學習小白攻克英文術語提供了方便。在配置數據源中你還可以指定中文,支持標記化、停頓詞刪除等特性,便於中文文本的處理

BigML提供英語和中文兩種界面
BigML提供英語和中文兩種界面

而且,BigML對學習和教育為目的的用戶是免費的。再說一遍, BigML是免費的!你只需一個電郵地址,無需提供信用卡號碼便可以享受最高16MB的數據集處理環境。 16MB你可以玩超多花樣了!想像一下16MB的CSV文件可以包含多少數據?

機器學習實例– 紅酒銷售預測

那讓我們一起ML吧!我們先來看一個例子。當你註冊好免費的BigML後可以從默認的項目BigML Intro Project找到一個數據源Fictional Wine Sales。

數據源就是原始數據文件,這裡的格式是TSV。 TSV和CSV差不多,只不過是用Tab分隔而不是逗號。點擊這個文件後看到下圖:

獲得數據源各字段的詳情
獲得數據源各字段的詳情

你看影響紅酒銷售總額(Total Sales)的因素可能有那麼多——產地、葡萄種類、評級、是否來自俄勒岡、售價。那麼哪些才是最重要的呢?我們把鼠標移到帶雲的小閃電,選擇單擊數據集。很快我們就從數據源(原始數據)獲得了數據集(粗加工數據)。我們鼠標移到右上的小齒輪圖標,選擇模型

Total Sales就是我們的目標字段
Total Sales就是我們的目標字段

接著點擊創建模型。不用多久你就能得到一個決策樹模型。這個模型是BigML自動訓練出來的,至此我們竟然一行代碼都沒寫。

決策樹走到底可以獲得預測的總銷售和誤差
決策樹走到底可以獲得預測的總銷售和誤差

接下來我們便可以進行預測了,鼠標移到帶雲的小閃電,點擊預測。我們可以得到如下預測界面。

根據模型預測某種酒的銷售額
根據模型預測某種酒的銷售額

你可以手動調整各個輸入參數以獲得最終預測的銷售總額。如上圖,首先我們看到定價、葡萄種類、評分是最高的三個影響因素。定價42,解百納,評分為90的法國紅酒大約能銷售54.16。順便提一句,這和筆者挑酒的思路完全一致。嘿嘿。

我們可以對目前的模型進行評估。回到模型,鼠標移到帶雲的小閃電,點擊評估。然後選擇另一組數據進行評估。在這裡我們用同樣一組數據進行評估。結果會發現該模型很糟糕(汗)。這說明我們需要對模型進行改進。

評估顯示該模型並不是很健壯
評估顯示該模型並不是很健壯

解決方法是改進我們的模型,有幾個思路:

  1. 換另一種模型,比如從決策樹換為深度網。
  2. 對數據集進行集成獲得多個決策樹的決策森林。
  3. 用無監督學習先將數據集分類,然後創建子數據集按子集進行建模預測。
  4. 獲取更多實例,再訓練後獲得精度更高的模型。

關於BigML的更多學習資源

上面我們的實例裡面介紹了BigML的基本用法。感興趣嗎? BigML官方在油管還提供了一系列影片教學(在優酷有渣畫質的版本),你可以通過頂部菜單的入門瀏覽。教程中提供了更多實例你都可以在新手項目中找到數據源自己玩一下。

另外Hamlet Batista在SEJ有一個不錯的教程,教SEO如何利用機器學習提高效率。祝ML愉悅!