课程实录:结构化数据建模与交通流量预测实战
李閆龍 发布于2021-05 浏览:4401 回复:0
1
收藏

主题:结构化数据建模与交通流量预测实战

 

        本次百度EasyDL打造的【零门槛AI开发实训营】聚焦个产业级经典项目,场景覆盖自动驾驶、智慧农业、视频流车辆行人检测、垃圾分类等实用案例,从AI开发流程入手,讲解不同环节需要关注的技术重点,配合模型开发实战演示,为企业AI应用开发者提供零门槛上手AI项目开发的实用课程!

 

课程亮点:
零门槛:EasyDL零门槛AI开发平台,无需算法基础即可上手。
重实战:多个产业级AI项目开发实战,课后作业加强巩固,学习更高效。
讲技术:每个项目精讲一个技术点或应用场景,快速获取核心重点知识。
可落地:每节课配合不同部署方式讲解,贯穿企业模型开发应用全流程。

 

        饼干:大家晚上好,欢迎来到Easy DL零门槛AI开发实训营第六讲,结构化数据建模与交通流量预测实战,下面由我和柠檬老师为大家带来课程。本次是Easy DL零门槛AI开发实训营最后一期了,朋友们可以扫描右侧的二维码观看回看。
        本节课的同学会有一些专项福利,一是完成听课打卡与作业提交,赠送10小时V100训练时长,社群不定时好礼掉落,参与社群互动,抽取多款百度定制的极客周边。

 

下面我将从三个方面来讲解
    1.表格预测:表格预测应用场景及其技术解析
    2.时序预测:时序预测应用场景及其技术解析
    3.实操演练:从训练到部署打造时序预测模型
我们标题是结构化预测,分为表格预测和时序预测,后面会一一讲解。
 

 

  
        下面进入表格预测应用场景及其技术解析。首先看一下什么是表格预测。看这个泰坦尼克数据集为例,这里像Survived:是否存活,Name:乘客名字,Sex:乘客性别,Age:乘客年龄。大家需要仔细思考一下你的目标到底是什么,正常不太可能预测额乘客的名字是什么,或者说乘客的ID,一般不会预测这些,这个是需要根据实际场景做一些判断,选择正确的目标链。

 

        表格预测有很多场景,精准营销,比如电商场景下根据你的消费记录挖掘你的一些特征喜好,从而达到精准推销商品或者精准广告投放。在房价预测方面根据立即的一些房价变化规律,预测一下房价或者其他商品的价格,为自己的商业活动提供一些支持。信用评分,比如金融机构会分析一些客户的历史数据,给出客户的信用状况,从而决定是否贷款等等。第四就是个性化推荐,比如刷抖音和信息流都遇到个性化推荐,从中遇到了表格预测的能力,预测出了大家的喜好,点击率高的视频和文本。

        Easy DL表格预测数据,我们提供了这样一个pipeline,输入到Easy DL表格中会自动做一些数据清洗,预置了很多模型,选择特别适合你的模型进行训练,然后进行参数优化,到处模型进行模型评估,之后将模型部署在服务器上,用云端的方式调用服务,得到模型的输出。

 

支持多种机器学习模型:Xgboost、Catboost、LightGBM、Wide&Deep、Neural Network、K-Nearest Neighbors、xDeepFM。
    支持多种模型集成:WeightedEnsemble、Stacking、Baggign。
支持多种超参搜索算法:随机搜索、进化算法、贝叶斯算法。

        看一下内置的机器学习模型,内置了常用的学习模型和XGBoost和PP飞桨的模型,这是Deep模型的实力图,左侧是FM,右侧是DNA,FM更注重记忆性,DNA泛化性更好,DNA无特征交叉更加的频繁,但是比较黑盒,可解释性较差,但泛化性更好,两者互补能达到更好的效果,这是现在主流的表格预测的解决方案或者说模型。

 

        在Easy DL上任务类型可以选择二分类,多分类和回归,如果不清楚你是什么类型也可以选择自动,我们会自动推断你的任务类型。二分类比较好理解,目标列有且只有两个值,典型应用场景包括客户流失,是否欺诈,是否违约,点击率,转化率等等。多分类目标包含多种值及并且一般情况下美中值个数大于2个,比如疾病预测等等。

 

        特征有四个类别的区分,类别特征进入模型训练一般会有一个onehot处理,还有会做ordinal处理,它是带有一些程度在利民,比如我喜欢篮球的程度是喜欢、一般和不喜欢,如果用0123表述的话,数值代表一定的程度,所以用这个表示特征。文本特征主要是通过统计去转换类型类别或者数值类别。在NDA场景,我们也会通过一些(英文)方式转化成NLP特征,进入模型训练。数值特征,在应用当中一般会首先进行标准化和归一化,拉平不同数值的平均值和方差,比如身高和体重数值如果不标准化和归一化,数值不在一个量级上面,一般都这样操作。时间特征,在表格预测中一般会做一些统计或者累加,比如数据是每天每小时的,会统计这一天或这一个星期做的事情,比如每周一周二是聚合的特征,根据实际场景进行操作。还是以下面这个泰坦尼克数据为例,这个就是性别特征,这是类别特征,这是数值特征。

        特征工程,预置了缺失值处理操作,比如对于数值型提供了中为书,平均数操作,类别的提供了像(英文),直接通过NaN操作,分厢是将连续值转化为离散值,等距分厢,等频分箱。特征变换,一般需要做标准化和归一化,这里有一个傅里叶变化,可以得到跟频率相关的特征及是根据实际的数据集分析。特征交叉,提供多项式交叉和笛卡尔积,特征降维和特征筛讯,根据特征重要性选择哪些特征是最重要的,或者通过一些PC方式降维,提升模型的速度。

 

        刚才讲了那么多,现在看一下如何提高模型效果,首先为了降低大家上手难度,推出了自动的特征工程,右手是二分类的数据集,包括类别特征,数值特征等等,如果你区分不了,提供了自动特征推断的能力。类别推断完成以后提供了自动提取的能力,对特征分别进行提取。为了得到更多的特征,我们也提供了特征交叉,可以自动组合生成高阶特征。最后我们会进行特征训练或者特征降维,按特征重要性筛选比较有用的特征,也可以通过模型的方式选择,比如通过(英文)得到输入,也可以是一个特征交叉的感觉。

        超参搜索,像(英文)的模型有一些(英文)的参数可以调,树模型有一些叶子节点树或深度可以调,参数的调整人工是费时费力,我们提供了自动的超参搜索的能力。我以调整学习率和调整模型复杂度调整,学习率过大很难搜到最小值,调整模型复杂度一般通过约束模型的大小,这些都是自适应的,你们不再需要手动调整这些范式的大小或者树的深度等等。

        我们提醒了模型的融合能力,顾名思义就是把多个模型的能力集中到一起,左侧是Weightedensembles的模型,右侧通过Stacking的模型,达到模型效果提升的作用。

        说了提升效果的地方,怎么看到模型的评估指标,这边提供了一个详细的界面,对分类问题我们提供了混淆矩阵和准确率等评估指标,包括可以看到AUC或者PR曲线,提供了平均绝对误差等指标查看模型的效果。这边还提供了特征重要性的展示,帮助你理解数据的特征和目标链的关系是怎样的,可以尽可能挖掘一些重要的特征。表格预测的分享就到这里,后面由柠檬老师带来持续预测的应用和基本方法。

 

        柠檬:Hello,大家晚上好,我是柠檬,现在由我开给大家讲解一下时序预测的应用及基本方法。
        什么是时序预测,时间序列就是指同一个变量按照时间的先后顺序排列的数列。在我们平时经常接触到的时间序列比如温度、股票的价格,都是属于时间序列。那么时序预测呢,就是通过我们历史的数据来对未来的趋势做预测的一个过程。

        其实在我们的日常生活中,有很多关于时序预测的应用。

        比如天气预测,在古代的时候人类就已经在做这样一件事情了,不过那时候是比较粗略的预测方式。现在科技发展了之后,我们现在可以通过卫星云图,以及各种传感器,来获得更精确的预测结果。

        股票预测的话,与我们的钱包息息相关,屏幕前的小伙伴们可能比我还熟悉,我这里就不班门弄斧了。

        再比如销量预测的一个场景中,我们可以通过提前一周或一个月做一个预测销量,来做供应链的管理。特别对于一些保质期比较短的食品的供应管理,如果我们进货太少可能造成库存不足,如果进货太多,商品没有卖出去,商品变质导致经济损失。

        还有航空,酒店这些价格的预测。我们刚经历过五一,可以发现那个时间段的机票价格和酒店价格是平时的好几倍。对于商家来说,在节假日肯定是供不应求的状态,所以他们会提高自己的价格,来保证利益的最大化。对于我们消费者来说,我们也可以根据往年的数据,提前半年甚至一年判断出哪个时间段能够买到低价机票,然后去定制旅行计划。所以说其实时序预测与我们日常生活是息息相关。

        当我们知道我们需要做预测之后,首先要明确自己的问题,我是需要预测一整个店铺的做销量呢,还是要针对一个产品预测呢,这就是需要你根据自己的实际需求来定义你自己的问题。另一个是时间粒度,你是需要每一天,每一周还是每个月预测一次。对于供应链管理的话,就需要提前一天或者一周去做一个规划,一般不会以一年为预测目标。还有你定义的问题的时候也取决于你的数据样本的数量。比如说我这家店只开了一年,我用去年的数据预测明年一整年的销量,那我们其实就没有多少历史数据,用模型来进行预测肯定是不太靠谱的。
        这里还有一个预测范围,分为短期,中期和长期预测三种。短期的话,通常用于供应链管理,以及天气预测,这就是属于短期的一个预测。中期的话,一般是月度,季度的一个预测。长期预测的话,一般是要做一个长期规划,比如公司未来10年规划就是属于长期预测的范畴。

 

        刚才我们饼干老师有说到表格预测中的回归预测,它和时序预测之间是有区别和联系的,联系就是我们的目标列都是一个数值类型的,但是预测方式又有一些不同。回归预测的假设是每一个样本都是独立的,通过自变量预测应变量,而时序预测有强烈的前后依赖关系。可以将过去的所有变量都作为输入去预测未来的目标。这里我给出了两种方式的一个输入输出情况。这两个表其实是一样的,输出目标也是一样的,都是2012年10月2号晚上8点的一个交通流量,我们主要对比输入数据的不同,在时序预测时候可以输入晚上八点前的数据,红色框都可以是我们的输入数据,如果当前时刻的一些值是已知的,知道当前的天气是晴天,我们也可以把这些数据作为模型的输入。这里需要注意的一点是,当我们模型只输入蓝色框里面的数据的时候,也就是目标列的历史数据,那么这种输入方式模型我们可以叫做自回归输入。

        根据不同的业务场景,我们又可以对时序预测进行一些分类。按照预测步长可以把时序预测分为单步预测和多步预测。单步预测就是只能预测未来一个时间单元的输出,比如传统的arima模型,机器学习模型xgboost都是属于单步预测模型。多步预测是指我们预测未来好几个时间单元的值,以柠檬的销量,我不光要预测明天的销量,我还要去预测后天大后天的销量,就是属于多步预测的问题。

        这里给大家提一个小问题,我要预测柠檬未来一整周的销量,是属于多步预测还是单步预测呢?

        其实两个都可以,如果我们的时间粒度就是一周,说明我们训练模型的时候输入的标签就是柠檬每周的总销量,那么我们可以认为这个任务是一个单步预测的任务。如果我们是通过预测柠檬未来一周每天的销量,然后累加成一周的总销量的话,那么这个问题属于多步预测的问题。一般来说,我们的时间粒度越小的话,数据随机性就越强,预测难度会更大,如果粒度越大,就越倾向于趋势项,所以我们在定义问题的时候,选择适当的时间粒度也是非常重要的一点。

        如果按照输入变量区分的话,又可以分为自回归预测和协变量预测这两种,自回归的方式指的是我们只能输入历史的目标值,传统的时序预测方法通常都是自回归的预测方式。协变量预测则是能够输入其他的特征值,来帮助模型预测。比如说销量预测的场景中,商品的销量和它的价格或者促销活动,以及节假日都是密切相关的,五一的时候火车票的销量就一定会比平时要高很多。这里也举了一个例子,右边这张图是用电量和温度的一个对应图。可以看到最左边温度很高的时候,我们的用电量也出现了大幅度的增长。然后中间的地方温度比较低的时候,用电量也是有一个增长的。我们可以得出一个结论:当温度过高或过低的时候,人们可能会采用一些保持温度的方式,所以用电量就会增加。如果能够把温度也作为特征输入到模型中,能够帮助我们的模型去进行预测用电量,理论上是可以得到更好的预测结果的。那么协变量如何选择呢? 首先我们这个变量要对目标列有一定的影响,另外就是在预测区间是能够获取到的。目前xgboost等机器学习的方法以及一些深度学习模型方法都是能支持协变量输入的。这里大家可以举一些常见的时间序列以及他们的协变量的例子。

        我们还可以根据时序的个数对时序预测任务进行分类,分为单组预测和多组预测。单组预测就是指我们这一个模型只能预测一条时间序列,传统的时序预测模型都是属于单组预测模型。
        比如说我们有一家水果店,我要预测多种水果的销量,我用单组预测模型必须分别构建多个模型去训练,到预测的时候,我就用苹果模型预测苹果的销量,香蕉模型去预测香蕉销量,这种情况一般会更加推荐用多组预测的模型,就是我只需要用同一个模型输入各个商品历史的时间序列,预测的时候输入这个商品这一段时间的销量,就可以得到这个商品的预测值,传统的时间序列预测方法(英文)属于单组预测的方式,多组XGboost都是支持多组预测的。

       我们刚才讲了时序预测的一些分类,那么如果我们自己要做时序预测的话,通常是以这样一个流程进行的。首先是预处理,再是特征工程,最后是模型的选择与预测。

        首先讲一下数据的预处理,这里和表格预测里面的预处理手段有一些不同的地方。首先是数据切分,表格预测通常是用一个随机切分的方式进行的,但是在时序预测里如果我们以随机切分的方式的话,因为当前是不可能知道未来的值,所以这样会造成数据穿越的问题,所以在时序预测的数据集切分的时候,是采用一种前后切分的方式进行的。然后是样本的采样,比如我们的数据是每小时采样一次的,但是我们的预测目标是每天的值,这个时候我们可以把每天的值做一个总和的计算,然后变成每天的数据。当然这个是需要根据我们自己的任务目的去自行操作的,一般降采样指的是我隔多少点采一次,比如我上一点是昨天的12:00,如果降采样到天粒度,我下一个点就是取今天的12:00。时序数据有时候因为一些意外情况会有一些缺失值,机器学习对缺失值的处理一般是填充中位数,平均数之类的值。但是时间序列是一个有强烈的前后关系的一个数据,所以我们可以把数据按照时间前后排序后,然后用离缺失值最近的时间点的值做一个填充。当然这个地方如果我们再严格一些,为了避免数据穿越,我们就把离缺失值最近的过去的数据拿过来填到缺失值上面。下面这个图就是表达的这个意思,这样处理之后我们的数据的采样频率就是均匀的。

        然后我们再来讲一下时序预测常用的一些特征工程,比较重要的是这几个,第一个是时间特征,年月日等等,其中星期几和是否节假日这个特征,对于某些受人为干扰比较大的时序非常重要,比如餐厅的客流量,销量等等,我们可以把这种叫做事件驱动型的时间序列。顾名思义就是指受事件影响的时序。但是这种特征对于天气这类的时序影响不是很大,不可能说明天是周末,是晴天的概率就会增加,这些都是不受人为干扰的一些时序。然后是目标值的滚动窗口聚合特征,假设我们的窗口是7天,也就是说我预测的时候可以看到过去7天内的数据。那么我们可以对这个数据进行聚合计算,提取方差,中位数,最大最小值之类的特征,作为模型的输入,这些特征在一定程度上可以大致表达我们目标的一个分布情况。比如说均值,其实最简单的时序预测方法有一个就是通过历史的均值来作为预测结果的。然后是滞后特征,我们刚才说自回归的方式就是通过历史的目标值来预测未来的目标,滞后特征的操作就是直接把历史的数据平移到现在,相当于是自回归的输入方式。当然对于滞后特征,我们还可以先做一些其他的操作,比如我先做差分计算,或者先计算了趋势,再移动到当前节点。还有其他的一些特征,比如同比和环比是非常重要的特征,我们计算比例特征也是很好的手段。

        做完特征工程后我们就应该选择模型了,这里就简单介绍两种方法。首先介绍一下机器学习的方法。现在机器学习领域的话像xgboost这种树集成的模型效果是显而易见的,也是比赛里面常用的模型之一。优点,他有一个重要的优点就是模型的可解释性比较高,xgboost的输入特征都是通过我们刚才说的特征工程来构建的,所以我们知道每个特征的含义,然后树模型也能输出每个特征的重要程度,所以这一点其实是非常有优势的,我们可以有针对性地进行调整。缺点,但是它也有一些缺点,比如说特征工程比较繁琐,然后还有一点是对于有趋势的时序,因为模型本身是基于树的,他的预测结果都是树节点的训练数据的平均值,所以他在做预测的时候,得到的结果不可能会超过训练数据的范围。刚才有提到xgboost是单点输出的,如果不进行改造,就只能进行单步预测。
        要把单步预测改造成多步预测,一般有递归和非递归两种方式递归的方式就是把上一个模型的输出加入到当前模型中。这个缺点也很明显,就是会引入累积误差,因为我们的输入其实也是一个预测的数据,一旦有一个步骤输出的结果误差比较大,一步错步步错,后面的输出就都不好了。另外一个是非递归的方式,我们预测几天就构造几个模型。然后分别预测未来每一天的目标值。当然这个方式也有一个缺点就是我们预测很长的步长时,我们构建的模型数量就会很多。

        另外一种是deeplearning 的方式,在时序预测这个领域,他也有一些模型是可以比较好用的。深度学习模型的话可以学习到更深层次的特征,而且他的表征能力非常强,天然支持多输出,这样的话,我们就可以非常方便地使用深度学习模型来进行多步的时序预测。这里我讲一下deepar模型,这个模型是亚马逊提出来的,他们是针对于销量预测这个场景来做的模型。首先呢,在销量预测场景中我们通常是需要对多个商品进行销量预测的,属于多组预测的问题。但是每种商品的销量的量级都是不一样的,比如饮料我每天至少卖出100瓶,但是电饭锅我只能卖出1个。差异非常明显。Deepar的话会自动把不同商品的销量归一化到同一个尺度。另外还有一点是,他支持冷启动问题,就是说我们新上了一个果汁,这个商品没有什么历史数据,如果我们用单组预测的模型,那么肯定没有办法很好地去做预测,deepar是可以结合其他的类似商品对新商品进行预测的。还有深度学习的一些模型,比如一维卷机,还有将传统的时序模型和深度学习结合的一些深度学习网络。这里我就不细讲了,感兴趣的同学可以自己去搜索一下。

        刚才说了时序预测的一些通用流程。可以发现其实过程还是挺繁琐的。在实际场景中,我们的预测任务一般会比较复杂,既要支持多组预测,又要支持多步预测,还要支持协变量输入。所以,EasyDL推出了自动时序预测的功能。他支持我们对店铺里面单个SKU进行预测,目前的话最多支持两组分组列,比如我对不同商店的不同商品进行预测,那么我们可以把这两组作为分组列。后台会自动按照我们选定的分组列去对时序数据进行抽取,把混沌在同一张表中的多个时序抽取出来。然后EasyDL会自动对每组时序进行预处理以及做一些自动的特征工程。构造好特征之后,自动根据验证集结果选择适合的模型,最后我们输入历史数据就可以得到预测结果了,整个过程中我们使用者只是需要在Easy DL平台上面上传时序预测数据,选择适当的参数,等到模型训练结束的时候再输入历史数据就能够得到预测结果了。
        那么要使用EasyDL来训练模型,怎么提升效果呢。首先是时间列的格式,刚才我们说到在一些场景中,时间特征的提取对模型预测非常重要,所以我们对时间列的格式做了一些要求,目前这些黑色的格式都是支持的。同时我们也有发现一些错误的案例,我这里简单的列举了几个错误,以及他们的错误原因。还有就是窗口大小和事件频率的一个选择,如果选择了很小的window-size,模型的输入特征可能不能够很好地表达目标值,那么模型的效果就会不好,再就是模型的窗口太大,我们的数据量比较少的情况下,构造的样本数量会比较少,这样我们的模型也是不能得到很好的训练效果的。另外一个是合适的时间频率,我们的时间频率应该保持和输入的数据一致,虽然EasyDL时序预测支持一定范围内的降采样和过采样,但是降采样会导致数据量变少,过采样又都是对缺失值进行填充的。所以这些都不是特别合理的情况。目前我们上传数据之后,会帮我们做一个自动的时间频率的推断,但是这不一定准确,所以我们还是需要先明确我们的时间频率的。

在进入实战之前,我们先来做一轮有奖问答,以下哪些是EasyDL表格数据预测支持的超参搜索算法?
    A.随机搜索
    B.随机森林
    C.进化算法
    D.贝叶斯算法
大家可以在弹幕里发送答案,小助手会根据截屏选回答正确的小伙伴,让我们看看到底谁才是幸运的小伙伴。

        现在有奖问答环节结束,接下来进入实战环节。

        首先登录到Easy DL官方网站,Easy DL现在是支持图像、文本、语音和OCR等应用场景。点击结构化数据的时序预测这个地方,首先要创建数据集,然后输入数据集的名称,这个数据是交通流量预测,我就把这个名称打上,点击完成。这个时候数据集是空的数据集,我们选择上传CSV文件,我们是支持上传CSV和上传压缩包两种方式。点击上传CSV文件,这里需要注意的是第三点,我们的文件内容必须以—N为换行符,逗号为分割符。第五点,文件必须包含有时间列和目标列。看完了之后就可以点击上传,选择数据,打开。这个地方有一个是首行为列名,我们的数据第一行是列名,所以这里默认是是,但是如果数据第一行不是列名,我们需要在这里手动选否,然后确认并返回。

        现在这个数据集是处于导入状态,我之前上传数据集可以先查看一下,这一列是否是节假日,这个是温度,下雨,下雪,这都是天气有关的数值。这一列是时间列,最右边这一列就是目标列。其实这些类别就是在导入的过程中会对数据进行预先判断,如果我们觉得它给我们判断错了的话,我们也可以做这里修改。看完了数据之后,我们就可以进入模型训练的环节了。

        这里我给大家再看一个多组预测的数据样式。首先看到第一列是一个店铺的ID列,第二列是访问时间列,第三列是目标列,后面都是一些跟这个店铺或者这个时间有关的一些数据。

        训练模型,首先是创造模型,输入模型的名称。点击训练,这个时候选择刚才上传的数据集,这个地方有非常多的要自己选的选项,我们选择目标列,就是交通流量,我们也可以对数据进行预览。这里可以看到时间间隔这个选项,我们刚才也看到了时间间隔其实是一个小时,这也是60分钟,没有什么问题,是后台自动帮我们推断了比较适合的时间间隔,这里我们就不需要进行修改。我想要预测未来一天的值,我就可以自动的滑动调整窗口大小和预测的长度。现在模型已经进入到了训练状态,我们先看一下之前的训练的结果,这里给出了几个数值列,通常都会采用的评估指标,下面是评估结果的格式化的展示,蓝色线是我们的真实值,绿色的线是预测值。这里可以看出来,其实预测效果还是比较好的,几乎都是比较接近的状态。下面一张图是误差值,其实在这两个点误差会稍微比较大一些,还可以查看完整的序列的状态。

        看完了之后我们再来看一下校验模型是怎么进行的。我们选择模型之后,选择之前训练好的一个模型,启动校验,这个过程可能会比较长一些,我们看一下别的,这里还有一些,训练进度现在是7%,我们可以查看版本详情,这里是记录了选择的参数以及整个任务时长和训练时长以及目标列。看完之后我们再去校验模型看一下,现在模型已经启动了,我们点击预测,过一会就能够看到右边有一个预测结果出来,预测结果一个是包含时间,另外一个是预测的目标。我们可以稍微看一下输入的数据,目前是支持上传CSV文件,数据是跟我们上传数据的格式是一模一样的,这里我们发现把目标列也作为输入了,这之前有用户问我,为什么预测的时候还要输入目标列,我这里给大家演示一下,是因为我们预测结果和输入的日期上是没有任何重叠关系的,这里布置Jetson,用(英文)打开看一下我们输入数据的样式。可以看到我们的数据大概是长这个样式,这里可以发现一个最后一个数据是2012年10月6号7点作为终止,但是预测结果是2012年10月6号的8点作为起始点,所以我们的输入数据和预测结果,在时间上是没有任何交叉关系的,也就是说我们不用担心目标列也是作为一个预测结果输出的,这样就是一个OK的状态。

        最后我们校验完了就可以发布模型,申请上线,我们可以输入自己定义的模型服务的名称,以及接口名称,如果申请完毕了之后,通过了之后,我们就可以拿这个借口的地址上传刚才看到的那个Jetson的格式数据,我们就能够得到一个预测的结果了。

 

        这边实战环节就到此为止,下面进入QA环节。
 
        A:饼干:首先表示的是特征和目标列的关系,比如在训练模型之前可以用特征和目标列计算一个相似性,如果越靠近1是正相关性越强,负1就是负相关性越强,我们选择特征的时候,就是要选择一些特征重要性比较高的特征。比如举个例子,比如你要去预测手提包是否会买,特征有性别女,身上有一颗痔,这个肯定要选择性别这个数据。还有辅助判断,比如特征前面的(英文)也可以作为特征判断重要的依据,预测这个特征对目标到底有多大的相关性。

        发布到我们这边的模型仓库,我们会起一个模型的服务,我们这个模型布置在百度云的模型仓库里,我们提供的就是API接口,你可以自己使用,发一个HTTP的请求,获取这个模型的输出。

        这个不需要学,大家直接在Easy DL平台上使用就可以,上传数据集,选择对应的目标列,对应的任务类型,点击训练,就可以得到想要的模型,发布模型以后就可以调用,如果发现有些问题就可以继续上传数据做一个模型的迭代,完成这个效果,如果你不太想掌握这个特征工程和模型的细节,推荐大家使用Easy DL平台。如果大家对模型或者对特征工程有一定的了解可以用我们这个BML平台,有脚本调参功能,你可以自己选择特征工程,对于一些小白建议可以使用我们的平台,你要做的就是收集数据,上传数据,点击训练就可以了。
 
        柠檬:是不支持时间序列的异常检测,但是我们也是对异常检测领域进行一些调研,后期是非常有可能上这样的功能。
 
        饼干:训练模型我们会提供云服务的能力。

        傅里叶变换是在时序预测里用的比较少,在表格预测里用的多一点,只是用傅里叶变换抽一个特征而已,抽一个时间序列,比如它的频率点特征值是多少,就是以特征的形式加入到这个模型训练当中,可能跟时序预测关系不大,就是表格预测特征变化的手段。

        很多的模型算法相当于机器学习比较成熟,都是开源的,比如(英文)XGBoost,大家也可以找到一些(英文),模型的细节都可以透露,在AI这个领域数据是最重要的,模型只是一些细节的修改,大家准备好数据也是可以得到比较好的模型的效果。
 
        柠檬:对未来多长时间单元的一个输入,假设(英文)是3,我们就能够看到3个时间单元的数据,但是我这里建议(英文)是要跟数据相匹配,比如最好是以天为时间单元的话,我最好是以7天及以上作为一个(英文)。
   
        Q:部署方式只能是公有云吗?
        A:饼干:目前是支持公有云,之前类似于之前的分类、分割也支持端上的部署,包括支持Windows部署,还有API,后续也会支持私有化。我们先可以在模型上试一下,后面就可以在端模型进行应用了。

        目前是开放了20G的表格数据,这个已经是比较大的量了。


        时间也差不多了,我们实战营最后一节课结束,大家可以继续关注,我们后续会不断开这样的实战营活动,帮助大家了解AI应用AI,把AI进行落地。今天最后一节课到此结束,后面柠檬老师会继续为大家带来分享。
 

收藏
点赞
1
个赞
TOP
切换版块