CLOUD MACHINE LEARNING ENGINE簡介(第2部分)

目錄

  • CLOUD MACHINE LEARNING ENGINE入門版
  • 提前準備
    • 準備學習數據
    • GCP項目設置
  • 執行每種方法
    • insert
    • get
    • analyze
    • predict
    • list
    • update
    • delete
  • 摘要

CLOUD MACHINE LEARNING ENGINE入門版

大家好。

第1部分中,它僅是CLOUD MACHINE LEARNING ENGINE大綱的介紹,但這次,我想基於實際示例進行解釋。這裡討論的預測的一個例子是官方文檔CLOUD MACHINE LEARNING ENGINE,但在本文中我們將使用API​​ Explorer *來執行CLOUD MACHINE LEARNING ENGINE中提供的所有方法,並給出一個簡短的解釋我會做的。

“Prediciton API Primer”計劃用於第1和第2部分,但它分為三部分:第1部分,第2部分和第3部分。在第2部分中,我們計劃在Java中引入範例程序。

第1部分和第3部分的文章在這裡

CLOUD MACHINE LEARNING ENGINE 簡介(第1部分)

CLOUD MACHINE LEARNING ENGINE 簡介(第3部分)

提前準備

準備學習數據

在此示例中,我們預測給定文本是“英語”,“法語”還是“西班牙語”。如第一部分所述,需要學習數據來創建預測模型。請從以下鏈接下載研究數據。

language_id.txt

 如果查看文件的內容,學習數據將在第一列(“英語”,“法語”或“西班牙語”)中標記,第二列中的任何文本都是英語,法語或西班牙語。是CSV格式的文本文件。使用這些數據,您將學習並在傳遞文本時,您將能夠預測文本的語言(見下文)。

GCP項目設置

首先,準備一個GCP項目來使用API​​。在Developer’s Console中創建一個項目並設置以下內容。

  • 啟用API

從左側菜單中選擇“API & Services”>“Library”,然後啟用 CLOUD MACHINE LEARNING ENGINE 和 Cloud Storage。

  • 將學習數據上傳到Cloud Storage

選擇「Storage」>「Cloud Storage」>「Storage browser」。創建後,請直接在該存儲桶下載language_id.txt。

執行每種方法

準備好後,讓我們實際使用CLOUD MACHINE LEARNING ENGINE。在這裡,我們將使用API​​ Explorer來描述和解釋執行每個方法和結果的過程。

insert

使用insert方法創建模型。

  1. 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.insert
  2. 使用OAuth 2.0 ON授權請求
  3. 輸入項目:在“GCP項目設置”中創建的項目名稱
  4. 輸入請求正文:id是任意值,storageDataLocation是“bucket name / language_id.txt”
  5. 單擊“執行”

響應中顯示以下內容。

trainedmodels.insert

如果Response為“200 OK”,則表示已開始學習。但是,如果學習尚未完成,則無法進行預測。有必要用get方法確認學習是否已經完成。

get

使用get方法檢查已創建模型的狀態。

  1. 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.get
  2. 使用OAuth 2.0 ON授權請求
  3. 輸入項目:在“GCP項目設置”中創建的項目名稱
  4. 輸入id:與insert方法中指定的id相同
  5. 單擊“執行”

響應中顯示以下內容。

trainedmodels.get

在上面的示例中,由於trainingStatus是“DONE”,因此可以確認訓練已完成並且可以進行預測。如果培訓尚未完成,trainingStatus的值將顯示為“RUNNING”。另外,查看modelInfo中的屬性,發現406個學習數據是從numberInstances輸入的,並且因為modelType是“分類”而創建了要分類的模型,來自numberLabels,3可以看出,該模型是一種類別分類模型,並且從分類準確度估計預測精度為98%。

analyze

用analzye方法分析模型。

  1. 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.analyze
  2. 使用OAuth 2.0 ON授權請求
  3. 輸入項目:在“GCP項目設置”中創建的項目名稱
  4. 輸入id:與insert方法中指定的id相同
  5. 單擊“執行”

響應中顯示以下內容。

trainedmodels.analyze

數據描述中描述了訓練數據的分析結果。如果你看一下outputFeature,你可以看到,在訓練數據中,有157個案例標籤是英文,149個案例標籤是法文,100個案例標籤是西班牙文。從這些特徵中,可以讀出第一個(第0個)特徵值在文本類型中有406個數據。此外,這次特徵量只有一列,但如果有多個,則索引將為0,1,2,…,並且將顯示相應的分析。此外,顯示的信息取決於數據類型。(例如,在數字的情況下,顯示均值和方差。)

modelDescription是對創建的模型的分析,並顯示混淆矩陣的信息。混淆矩陣通常用於評估預測模型,在上例中,預測正確答案為“英語”為“英語”的數字,預測為“法語”,“西班牙語”的數字描述了預測的數字,以及正確答案為“法語”和“西班牙語”的數字。也就是說,矩陣如下。

confusoin_matrix

有關如何計算這些數字的文檔不是很詳細。常見問題交叉驗證(cross-validation)的,一直只寫了,估計誤差。在上表中,所有單元格的總值約為學習數據的10%,因此數據可能被分為10個,90%的數據是學習數據,剩下的10%被預測為未知數據我認為你已經多次做了這件事來計算平均值。

predict

使用預測方法進行預測。

  1. 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.predict
  2. 使用OAuth 2.0 ON授權請求
  3. 輸入項目:在“GCP項目設置”中創建的項目名稱
  4. 輸入id:與insert方法中指定的id相同
  5. 輸入申請正文:

{
“input” : {
“csvInstance”:?[
“I’ll be back”
] }
}

  1. 單擊“執行”

響應中顯示以下內容。

trainedmodels.predict

在上面的例子中,我們預測“我會回來”這個詞是什麼詞。由於outputLabel是“英語”,因此可以看出獲得了預測結果“英語”。對於outputMulti,估計每個類別中的概率。由於概率,所有類別的值之和為1,而ouputLabel的概率最高。這次,“英語”已經變為1,所以可以說預測結果非常肯定。

list

通過list方法獲取鏈接到項目的模型列表。

  1. 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.list
  2. 使用OAuth 2.0 ON授權請求
  3. 輸入項目:在“GCP項目設置”中創建的項目名稱
  4. 單擊“執行”

響應中顯示以下內容。

trainedmodels.list

update

  1. 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.list
  2. 使用OAuth 2.0 ON授權請求
  3. 輸入項目:在“GCP項目設置”中創建的項目名稱
  4. 輸入id:與insert方法中指定的id相同
  5. 輸入申請正文:

 代碼

{	“output”: “English”,		“csvInstance” : [			“This is a pen”		]}
  1. 單擊“執行”
trainedmodels.update

如果“響應”中顯示“200 OK”,則表示成功。一旦完成,學習將再次開始。使用get方法檢查狀態,如果trainingStatus變為“DONE”,則更新模型並反映在預測中。

delete

使用delete方法刪除創建的模型。

  1. 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.list
  2. 使用OAuth 2.0 ON授權請求
  3. 輸入項目:在“GCP項目設置”中創建的項目名稱
  4. 輸入id:與insert方法中指定的id相同
  5. 單擊“執行”

響應中顯示以下內容。

trainedmodels.delete

如果成功,將顯示“204 No Content”。您可以通過使用list方法顯示模型列表來檢查模型是否實際被刪除。

摘要

到目前為止,我們已經介紹了一種使用CLOUD MACHINE LEARNING ENGINE的方法。如果您有數據,則可以看到您可以輕鬆進行預測。

Google Prediciton API再一次使用有監督的機器學習算法提供預測功能。在CLOUD MACHINE LEARNING ENGINE中,準備了分析,刪除,獲取,插入,列表,預測和更新等方法,並通過查看get方法獲得的正確答案率和analyze方法獲得的混合矩陣來創建它們。您還可以考慮不同模型的預測精度。

如果您有興趣閱讀本文,為什麼不嘗試使用您發布的數據或您自己的數據?

第一部分和第二部分的文章在這裡

CLOUD MACHINE LEARNING ENGINE 簡介(第1部分)

CLOUD MACHINE LEARNING ENGINE 簡介(第3部分)

Aaron Lee

超過7年的 Google Cloud 經驗,服務過上百家 Google Workspace 與 GCP 客戶,擔任多次研討會主講人與教育訓練講師,提供架構諮詢與技術支援,幫助各大企業上雲。

發佈留言