记录一次数学建模

好久没更博客了……今天来更一发吧
五一节没出去玩,就呆在学校里参加了数学建模比赛,其实说是建模,其实我压根没有自己涉及建立模型,大部分时间都用在怎么使用pandas 和 sklearn 库上面了,用的是 adaboost 的模型。

题目我也不放了,反正水的一逼
从利用pandas 读取文件开始讲吧

import pandas as pd
因为要读的是个excel文件,所有使用
data = pd.read_excel(path)
同理还可以读csv文件等等
pd.read_csv(path)

pandas有两种主要的底层数据结构,分别是Dataframe,和series
我用Dataframe用的多一点,

datamat = pd.DataFrame(data)

这条命令是将读取的数据转化为可操作的 Dataframe ,也是一种矩阵数据结构

如果要找到这个 矩阵的 i 行,j列 ,就可以用

x = datamat.iat[i,j]

如果要找矩阵的 i行 到j行

newdata = datamat[i;j]

如果要找矩阵的 i 列到j 列

newdata2 = datamat[[j:j] 注意,这里的i,j 不是矩阵的列数,而是矩阵的那一列的名字

如果要找矩阵中label 的那一列

labels = newdata[[‘label’]]

如果有多个数据表要连起来,可以用

newdata = pd.concat([data1,data2]) ,默认的是不同行直接连接到一起

将数据重新写入数据表可以用这个

save = pd.Dataframe(newdata)
save.to_excel(path)


讲完了pandas ,再来讲讲sklearn吧
其实这是第一次用传统的机器学习算法做项目,发现效果居然不必深度学习差
我用的是PAC降维法 和 基于决策树的adaboost提升方法,具体的原理和推到就不讲了,这里就讲讲在sklearn中如何使用和保存模型吧。

首先

import pandas as pd
from sklearn.externals import joblib
from sklearn.ensemble import AdaBoostClassifier

joblib这个模块是用来保存模型的, AdaboostClassifier 是利用adaboost来分类的模型,还有一个 Adaboostregression 是用来做回归的.

sklearn 中的各个模型都有固定的使用格式
比如我要使用一个Adaboostclassifier
只要三行代码

clc = Adaboostclassifier() # 建立一个分类器
clc.fit(x_train,y_train) #利用x_train,y_train 训练模型
print(clc.score(x_test,y_test)) #这个可以打印出模型在验证集上的准确率
clc.predict([x]) 预测新数据 x

`说实话sklearn的计算速度真是快的惊人,在没有加持gpu并且只有一颗i5的情况下,处理八千条数据只花了十几秒,我再也不说什么深度学习大法好了

有了 clc 这个有参数的模型后想要把它保存起来,用法也非常简单

joblib.dump(clc,save_path)

再次调用的时候也很简单

clc = joblib.load(save_path)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值