首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >机器学习-如何根据过去的特征预测一组固定字段

机器学习-如何根据过去的特征预测一组固定字段
EN

Stack Overflow用户
提问于 2020-02-11 19:10:06
回答 1查看 46关注 0票数 0

我有一个相当大的数据集(> 100k行),其中包含物流运输的信息。(出口出货量)

数据集如下所示:

代码语言:javascript
复制
|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 codeorigin来预测何时添加新发货。

示例

以下面的新预订为例:

代码语言:javascript
复制
|shipper|consignee                    |origin|destination                                  |
|-------|-----------------------------|------|---------------------------------------------|
|1234567|948292                       |USMOB |?                                            |

如何训练模型来预测destination?ML中的这个区域指的是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-02-11 20:22:37

在深入机器学习之前,理解这些概念很重要:

  • Dataset:这是您的数据集合,其中包含我们想要键入的列和target列:这就是我们面临的问题。请检查以下链接,了解更多信息:problem types.
  • Metric:这是为了评估我们模型的性能,您必须选择一个才能正确评估它。例如,如果你有TrueFalse,你可能想要在每次你的模型犯错误时受到惩罚,因为如果他选择True作为答案,他可能会得到50%的正确,这是一个具有0.5精度的模型,它只回答True,这是不正确的。我希望这篇文章能帮助你理解better.
  • Cross Validation:crossvalidation sklearn.
  • Train和post splits:我们把我们的数据集拆分成几个片段,我们将把一部分数据用于train,另一部分用于test或评估我们的模型。

在下面的示例中,可以使用流行的库sklearn来完成大部分操作:

代码语言:javascript
复制
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,寻找包含示例的笔记本或内核,在这些示例中,人们可以处理某种类型的数据集,并获得给定问题的基准,您可能会学到新的主题,如OneHotEncodingFeatureExtractions等。

还有ara库可以帮你完成这项工作,或者自动化它,可以解决分类问题,请查看MLBlocksATM

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60167533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档