百科问答小站 logo
百科问答小站 font logo



请问参加数学建模,打算用python的话,需要完整的学习python所有内容,还是只要学一部分就够了? 第1页

  

user avatar   can-meng-zhong-de-che-xian 网友的相关建议: 
      

不需要。

我本人就是使用Python打数学建模的。我的团队只用Python和C++。当然也会用CAD和matlab来做边角料。

长话短说。数学建模你需要Python给你提供数据分析与挖掘的能力。那些Python的高级玩法更多涉及库的制作,软件工程,数学建模用不到。

给个学习的建议,先学完Python的基础语法并知道面向对象的编程思想,然后便是学习Python强大的第三方库。

1. numpy和matplotlib,这是Python内部的矩阵库和可视化库。下面所有库都是基于numpy开发的。

2. 有时间可以去看看scipy,这个库里面有许多科学计算的API。

3. shapely也不错,里面有很多计算几何的API,今年APMCM的A题我就用它轻松完成了孵化曲线的绘制(其中还用了一些数据结构的思想,所以有条件学一下基本的数据结构对打代码大有裨益)。

4. 如果是和表格类型数据处理有关的题目,试试pandas,它提供了处理表格类型数据全面便捷的API,非常方便。

5. 如果你会一些传统机器学习算法,可以使用sklearn来快速实现它们,当然如果手头数据比较少。如果你手头数据很多,不妨试试pytorch,tensorflow或者paddlepaddle(个人推荐pytorch,比较好上手)。使用这些基于静态图或是动态图的深度学习框架,你能够快速实现一个DNN的前馈网络搭建与训练。

玩Python第三方库的诀窍个人感觉就是善用搜索引擎与翻翻官方文档。比如你哪天想要玩SVD,那么就在网络上搜索“如何用Python实现SVD”,看那些前辈用了什么库,怎么实现的。(也就是善于调库啦,当然你首先得知道有什么库)

如果你想进阶,那么Python的高级用法需要自学(网上系统的资料少得可怜)。比如class及其魔法方法,装饰器用法,itertools库的使用,内置函数的使用(比如map,filter),Python功能包的制作与发布(我个人打数模习惯先根据题目内容写一个工具集)。这些会让你的代码结构更加精简(比如实现一个hanming code,如果你知道这些高级用法就可以把行数从5行缩短到1行)。

好好玩吧!(本蒟蒻去赶数据结构了)

关于AMPCM那个孵化曲线的内容,可以参考我清明写的一篇文章:




  

相关话题

  怎样将一个24的n次方复杂度的计算优化? 
  Python中如果判断一个文件是不是jpg的图片? 
  怎样计算两个不同事物的灰色关联度? 
  为什么n维欧式空间中的单位球面(n-1 sphere)的表面积和体积,在 n 趋于 ∞ 时,都趋于0? 
  GitHub 上有哪些,简单、易学的 Python 项目? 
  「8 万行的 Python 程序用 4 万行 Java 重写了」,说明了什么? 
  c++如此繁琐,为什么大学不直接开展python课程? 
  是不是机器学习的框架都偏向 Python ?如果是,为什么? 
  vlang,nim等新兴语言未来是否有可能掀翻go,rust,Python等老牌热门语言的霸主地位? 
  为什么现在部分985高校还是给大一上C语言课? 

前一个讨论
假如把明朝和清朝调换一下会发生什么?
下一个讨论
如何从零开始准备大学生数学建模比赛?





© 2024-11-15 - tinynew.org. All Rights Reserved.
© 2024-11-15 - tinynew.org. 保留所有权利