历史总是惊人的相似,这里记录的是我第二次美赛的参赛经验,第一次的文章在这里
赛前
赛前我大概花了一个星期时间恶补了Python机器学习,看了两本书,一本是周志华的《机器学习》,另一本是《机器学习实战》。看了周志华老师的书,我感觉看到了国内计算机书籍的希望!而《机器学习实战》这本书原文是外国人写的,国人翻译的,写的也不错,里面有很多机器学习算法的实例代码,这本书并没有使用sklearn
库的函数,都是自己手动实现的,强烈推荐!
为什么要恶补机器学习的知识?因为我就是冲着这次C题来的,每年的C题官方都会给很多数据,可以看成是数据分析题,机器学习的作用之一不就是数据分析么?
1月25日
早上5点40就起床了,赛题一发布我就直奔C题,题目大意是说美国正在经历阿片类药物危机,要你研究以及分析阿片类药物的使用情况以及设定一个策略控制阿片类药物的使用。下面附上我第一天的代码吧
第一天也没干什么,就是大概给每种药物进行了中文备注,方便理解,以及随便查看了一些数据之间的变化趋势
1月26日
为了解决第一问,我用了各种模型去跑数据,其中包含随机森林、神经网络、KNN、贝叶斯......,虽然能跑出结果,但是经过仔细思考后这些模型都被一一否决了。下面是代码
后来做第一问我用的是GM(1,1)
+ K-Means
,两个有点烂大街的算法吧,但是效果还不错
唯一的败笔应该就是传播模型的建立,这里我并没有用元胞自动机,而是直接给出与距离成反比
的结论。实在是败笔,模型太简单了,下面是代码
阈值的选取是基于一个神奇的说法:"如果某个数值超过第一四分位数(Q1)或第三四分位数(Q3),我们可以认为其是离群点",在此基础上我们将Q3乘上一个系数$\alpha$,得到的值即为我们选定的阈值,实在是玄学,现在想想,有点站不住脚,下面附上代码
1月27日
利用题目提供的美国人口普查社会经济数据,估计阿片类药物的使用是否与其中某些因素有关,这里我随便找了些因素,画了他们的变化趋势图,肉眼观察,然后利用相关性分析,分析该因素与阿片类药物使用的相关系数,下面附上代码
这里穿插使用了一个新的回归模型——StepWise Regression,通过算法剔除不重要的变量,保留重要的变量,然后得到一个N元线性方程,利用此线性方程预测TotalDrugReports后3年的数据,并将此数据作为真实数据重新带入GM(1,1)进行预测,完成模型的修正
1月28日
今天基本上没写什么代码,开始写论文了(我没写,都是队友写的)
论文Summary
后记
比赛结束了,匆匆忙忙的,整合论文的过程中出现了很多失误,感觉这次大概率与H无缘了。十分感谢两位队友,要是没有他们,我也不能偷懒休息。而且在此过程中我发现一个很厉害的大佬——"万同学","万同学"作为非计算机专业的学生,仅仅在我只讲过一遍算法思路的情况下,就能将论文写的非常出色,逻辑清晰,而且记性还好,不得了,不得了。最后还要感谢金老师在建模过程中给予我们的指导
大概率明年我还要参加,明年比赛的时候应该是考研复试的准备阶段,希望到那时我能变得更强,冲一个M
想知道在anaconda里写模型测试,是直接写代码吗?还是需要把模型调用进去或者加模型代码?(小白弱智问题@(哈哈)
就和普通的IDE写代码一样,只不过anaconda提前帮你下好了某些库而已@(呵呵)
太强了@(真棒)
学习了 谢谢博主
没事
作者你好,我想问一下,在数学建模中应用机器学习甚至是深度学习的东西合适吗,想知道作者你应用后的最终结果怎么样
最后S奖,今年我美赛也用到了深度学习,其实我一直在考虑到底要不要用因为DL算是不可解释的东西,数学建模建立的模型就是要解释的,这两者有点冲突
但是我最后还是没办法,今年也用了
国赛呢,不知道阅卷的专家会怎么看待用人工智能算法的,我也在纠结
国赛省三
哦好的,谢谢你的回答
1月27日神经网络预测那的neigh是什么,我这一直报错@(小乖)
这过去3年的代码,我是真不记得了
博主原版论文能看看嘛
毕业太多年了,早就弄没了
呜呜呜,感觉博主的方法挺好的,想着能借鉴一下子