我有一个相当大的数据集(> 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中的这个区域指的是什么?
发布于 2020-02-11 20:22:37
在深入机器学习之前,理解这些概念很重要:
target列:这就是我们面临的问题。请检查以下链接,了解更多信息:problem types.True或False,你可能想要在每次你的模型犯错误时受到惩罚,因为如果他选择True作为答案,他可能会得到50%的正确,这是一个具有0.5精度的模型,它只回答True,这是不正确的。我希望这篇文章能帮助你理解better.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等。
https://stackoverflow.com/questions/60167533
复制相似问题