[英]Machine Learning - How to predict set of fixed fields based on past features
我有一個相當大的數據集(> 100k 行),其中包含物流運輸的信息。 (出口貨物)
數據集如下所示:
|shipper|consignee |origin|destination |
|-------|-----------------------------|------|---------------------------------------------|
|6409292|288882 |USSFO |CNPVG |
|6409292|288882 |USSFO |CNPVG |
|6409292|182724 |USSFO |HKHKG |
|6409292|182724 |USSFO |HKHKG |
|8201922|948292 |USSFO |FRCDG |
|8201922|948292 |USSFO |FRCDG |
|8201922|948292 |USSFO |FRNIC |
|8201922|291222 |USEWR |AEDXB |
所以我們這里有一份過去發貨的清單。 它顯示了托運人和收貨人之間的關系,以及貨物的來源和目的地。
根據這些過去的數據,我希望能夠通過查看consignee code
和origin
來預測何時添加新貨件。
以以下新預訂為例:
|shipper|consignee |origin|destination |
|-------|-----------------------------|------|---------------------------------------------|
|1234567|948292 |USMOB |? |
如何訓練模型來預測destination
? ML 中的這個領域是指什么?
在深入研究機器學習之前,理解概念很重要:
數據集:這是您的數據集合,其中包含我們要預測的列和target
列。
問題類型:這是我們面臨的問題。 請查看以下鏈接,了解更多相關信息: 問題類型。
指標:這是評估我們模型的性能,您必須選擇一個才能正確評估它。 例如,如果你有True
或False
你可能想要在每次你的模型犯錯時受到懲罰,就好像他選擇True
作為答案一樣,他可能會得到 50% 的正確,那是一個0.5
准確度的模型,因為它只回答是不正確的True
。 我希望這篇文章可以幫助您更好地理解。
訓練和測試分割:我們將我們的數據集分割成一塊,我們將使用數據的一部分來train
和其他部分來test
或評估我們的模型。
大部分可以使用流行的庫sklearn
來完成,如下例所示:
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import make_scorer, accuracy_score
from sklearn.model_selection import cross_val_score, train_test_split
dataset = load_iris()
X_train, X_test, y_train, y_test = train_test_split(
dataset.data, dataset.target, test_size=0.3, random_state=0)
# No corss validation
model = RandomForestClassifier()
model.fit(X_train, y_train)
predictions = model.predict(X_test)
accuracy_score(y_test, predictions)
# With cross validation
model = RandomForestClassifier()
accuracy_scorer = make_scorer(accuracy_score)
scores = cross_val_score(model, X_train, y_train, scoring=accuracy_scorer)
scores.mean()
這個例子只是一個非常簡單的數據處理和簡單的例子,並且在大多數情況下以0.9
准確度解決了問題。 您可能需要更多地潛水才能解決包含更多列的問題。 我的建議是深入研究kaggle並尋找帶有示例的筆記本或內核,其中人們處理某種數據集並獲得給定問題的基線,您可能會學習新主題,例如OneHotEncoding
FeatureExtractions
等等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.