簡體   English   中英

我如何在機器學習中使用不同的數據集測試我的 model

[英]how can i test my model using different dataset in machine learning

我是機器學習的新手,我正在使用 CountVectorizer model 創建一個小項目。 我將我的數據分成 80% -20%。 80% 用於訓練 model,20% 用於測試 model。 我的 model 可以在 20% 的測試數據上正常運行,但是我可以用來在類似於訓練數據集的不同數據集上測試我的 model 嗎?

我正在使用 joblib 進行轉儲並加載我的 model。

from joblib import dump, load
dump(pipe, filename)

loaded_model = load('filename')

我的問題是我如何使用不同的數據集直接測試我的 model?

是的,您可以使用 model 來測試類似的數據集。

但是,您必須牢記根據 model 的預處理步驟。

當您訓練 model 時,它在特定維度上進行了訓練,輸入的大小將是 AxB 矩陣。 當你有一個新的測試句子或新的數據集時,你必須先做同樣的預處理,否則會拋出維度不匹配錯誤。

例子:

假設您有以下計數向量器 object

cv = CountVectorizer()

那么你必須先把它放在你的訓練數據集上,比如說

X = dataframe['text_column_name']
X = cv.fit_transform(X) # Fit the Data

完成此操作后,每當您有新句子時,請說

test_sentence = "this is a test sentence"

那么您必須按以下方式使用 cv object

model_input = cv.transform([test_sentence]).toarray()

然后你可以做出預測:

model.predict(model_input)

即使您希望測試數據框或其他文件格式中的新數據集,也必須遵循此方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM