文章段落
- 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部分)
提前準備
準備學習數據
在此示例中,我們預測給定文本是“英語”,“法語”還是“西班牙語”。如第一部分所述,需要學習數據來創建預測模型。請從以下鏈接下載研究數據。
如果查看文件的內容,學習數據將在第一列(“英語”,“法語”或“西班牙語”)中標記,第二列中的任何文本都是英語,法語或西班牙語。是CSV格式的文本文件。使用這些數據,您將學習並在傳遞文本時,您將能夠預測文本的語言(見下文)。
預測-學習.png)
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方法創建模型。
- 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.insert
- 使用OAuth 2.0 ON授權請求
- 輸入項目:在“GCP項目設置”中創建的項目名稱
- 輸入請求正文:id是任意值,storageDataLocation是“bucket name / language_id.txt”
- 單擊“執行”
響應中顯示以下內容。

如果Response為“200 OK”,則表示已開始學習。但是,如果學習尚未完成,則無法進行預測。有必要用get方法確認學習是否已經完成。
get
使用get方法檢查已創建模型的狀態。
- 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.get
- 使用OAuth 2.0 ON授權請求
- 輸入項目:在“GCP項目設置”中創建的項目名稱
- 輸入id:與insert方法中指定的id相同
- 單擊“執行”
響應中顯示以下內容。

在上面的示例中,由於trainingStatus是“DONE”,因此可以確認訓練已完成並且可以進行預測。如果培訓尚未完成,trainingStatus的值將顯示為“RUNNING”。另外,查看modelInfo中的屬性,發現406個學習數據是從numberInstances輸入的,並且因為modelType是“分類”而創建了要分類的模型,來自numberLabels,3可以看出,該模型是一種類別分類模型,並且從分類準確度估計預測精度為98%。
analyze
用analzye方法分析模型。
- 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.analyze
- 使用OAuth 2.0 ON授權請求
- 輸入項目:在“GCP項目設置”中創建的項目名稱
- 輸入id:與insert方法中指定的id相同
- 單擊“執行”
響應中顯示以下內容。

數據描述中描述了訓練數據的分析結果。如果你看一下outputFeature,你可以看到,在訓練數據中,有157個案例標籤是英文,149個案例標籤是法文,100個案例標籤是西班牙文。從這些特徵中,可以讀出第一個(第0個)特徵值在文本類型中有406個數據。此外,這次特徵量只有一列,但如果有多個,則索引將為0,1,2,…,並且將顯示相應的分析。此外,顯示的信息取決於數據類型。(例如,在數字的情況下,顯示均值和方差。)
modelDescription是對創建的模型的分析,並顯示混淆矩陣的信息。混淆矩陣通常用於評估預測模型,在上例中,預測正確答案為“英語”為“英語”的數字,預測為“法語”,“西班牙語”的數字描述了預測的數字,以及正確答案為“法語”和“西班牙語”的數字。也就是說,矩陣如下。

有關如何計算這些數字的文檔不是很詳細。常見問題的交叉驗證(cross-validation)的,一直只寫了,估計誤差。在上表中,所有單元格的總值約為學習數據的10%,因此數據可能被分為10個,90%的數據是學習數據,剩下的10%被預測為未知數據我認為你已經多次做了這件事來計算平均值。
predict
使用預測方法進行預測。
- 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.predict
- 使用OAuth 2.0 ON授權請求
- 輸入項目:在“GCP項目設置”中創建的項目名稱
- 輸入id:與insert方法中指定的id相同
- 輸入申請正文:
{
“input” : {
“csvInstance”:?[
“I’ll be back”
] }
}
- 單擊“執行”
響應中顯示以下內容。

在上面的例子中,我們預測“我會回來”這個詞是什麼詞。由於outputLabel是“英語”,因此可以看出獲得了預測結果“英語”。對於outputMulti,估計每個類別中的概率。由於概率,所有類別的值之和為1,而ouputLabel的概率最高。這次,“英語”已經變為1,所以可以說預測結果非常肯定。
list
通過list方法獲取鏈接到項目的模型列表。
- 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.list
- 使用OAuth 2.0 ON授權請求
- 輸入項目:在“GCP項目設置”中創建的項目名稱
- 單擊“執行”
響應中顯示以下內容。

update
- 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.list
- 使用OAuth 2.0 ON授權請求
- 輸入項目:在“GCP項目設置”中創建的項目名稱
- 輸入id:與insert方法中指定的id相同
- 輸入申請正文:
代碼
{ “output”: “English”, “csvInstance” : [ “This is a pen” ]}
- 單擊“執行”

如果“響應”中顯示“200 OK”,則表示成功。一旦完成,學習將再次開始。使用get方法檢查狀態,如果trainingStatus變為“DONE”,則更新模型並反映在預測中。
delete
使用delete方法刪除創建的模型。
- 從CLOUD MACHINE LEARNING ENGINE 的APIs EXplorer 畫面中選擇prediction.trainedmodels.list
- 使用OAuth 2.0 ON授權請求
- 輸入項目:在“GCP項目設置”中創建的項目名稱
- 輸入id:與insert方法中指定的id相同
- 單擊“執行”
響應中顯示以下內容。

如果成功,將顯示“204 No Content”。您可以通過使用list方法顯示模型列表來檢查模型是否實際被刪除。
摘要
到目前為止,我們已經介紹了一種使用CLOUD MACHINE LEARNING ENGINE的方法。如果您有數據,則可以看到您可以輕鬆進行預測。
Google Prediciton API再一次使用有監督的機器學習算法提供預測功能。在CLOUD MACHINE LEARNING ENGINE中,準備了分析,刪除,獲取,插入,列表,預測和更新等方法,並通過查看get方法獲得的正確答案率和analyze方法獲得的混合矩陣來創建它們。您還可以考慮不同模型的預測精度。
如果您有興趣閱讀本文,為什麼不嘗試使用您發布的數據或您自己的數據?
第一部分和第二部分的文章在這裡