第一次参加数学建模,和比自己大一级的师哥一起写代码,发现自己很拉,不过这几天写了还是有不少提升的,这一篇把掌握到的代码相关的记录一下。
1dataframe list array格式的转换
dataframe格式的表格很好用,可以直接用pandas库读取excel文件生成。不过有的时候这个形式的数据并不方便利用,所以需要转化为list。有的时候,还需np.array。如
index = v.columns.values.tolist()#取v的列名,转化为list
tip 转化成list后,可以直接用index[i]来调用元素,用len(index)来获取长度,用append或者drop语句来添加元素(dataframe也可以用这俩改变行/列(用axis参数来调整,不过它调用元素需要用类似v[‘列名’]的形式)
2.数据归一化与数据集划分均有现成的代码可供使用,他们来自sklearn库。
3.十折交叉验证:一种常用的训练方法。讲样本分为十份,算法迭代十次,每次取其中一个作为测试集。
4.机器学习代码的一般形式
机器学习几乎每种方法都有现成的方法可以使用,但要按程序来(1)定义这个机器学习方法(2)fit训练模型(3)模型评估(4)拿模型进行预测,输出结果
5.回归模型
lasso回归可以直接用lassoCV来运行。同理岭回归可以用ridgeCV。事实上,几乎所有的回归模型都是一句话的事儿。另外,有一种非常强大的库,可以训练回归、分类模型,同时还可以进行归一化和模型评估等操作,非常强大,就是pycaret。使用教程如下。
机器学习建模工具PyCaret详讲_用药的博客-CSDN博客
6.字典。可以将变量和它的某个性质做成字典,这样可以方便调用。字典中:左侧类似于名字,右侧是它的释义,如是s['k']=0,在字典中的样子是s={……k:0,…… }
7.plt画图技巧
如果想在图中划一条横线,可以画一条每个横坐标取值都相同的折线图,显示出来就是一条横线。
8.想要更改一个excel
有一个库可以实现,叫xlsxwriter。他可以实现对excel表格的建立、更改。