机器学习--项目实际过程中的经验

《统计学方法》 李航著 《机器学习》 周志华著 清华出版社 《剑指offer》 何海涛著

一次读取大文件可能把内存爆掉, 所以可以采取分块读取

import pandas as pd

path = './diabetes.csv'
data = pd.read_csv(path,sep=',',engine = 'python',iterator=True)
loop = True
chunk_size = 1024
chunks = []
index = 0
while loop:
    try:
        print(index)
        chunk = data.get_chunk(chunk_size)
        chunks.append(chunk)    
        index+=1
    except StopIteration as siterEx:
        loop = False
        print('the end...')
        
print('start to combine...')
data = pd.concat(chunks,ignore_index=True)
data.head()
numpy.random.rand(5,10)  # 5 行 10 列 随机生成
numpy.random.randn(5,10) # 5 行 10 列 呈正态分布 随机
numpy 对矩阵降维用 .ravel    或 .flattern()   可以 对比 spark 的 RDD 
pandas 处理 NaN 数据 填充 用 fillna()

numpy 处理 nan 数据 填充用 nan_to_num  (  auc = np.nan_to_num(metrics.auc(fpr,tpr))

pandas 输出格式不友好,那么就转成 html 然后用浏览器查看表格 df.to_html()

直接用 psycopg2  读取列是个问题, 建议改用 SQLAlchemy 获取他高级点的 ORM 框架
在做模型训练的时候,尤其是在训练集上做交叉验证,通常想要将模型保存下来,然后放到独立的测试集上测试,下面介绍的是Python中训练模型的保存和再使用。

scikit-learn已经有了模型持久化的操作,导入joblib即可

from sklearn.externals import joblib
1
模型保存
>>> os.chdir("workspace/model_save")
>>> from sklearn import svm
>>> X = [[0, 0], [1, 1]]
>>> y = [0, 1]
>>> clf = svm.SVC()
>>> clf.fit(X, y)  
>>> clf.fit(train_X,train_y)
>>> joblib.dump(clf, "train_model.m")
1
2
3
4
5
6
7
8
通过joblib的dump可以将模型保存到本地,clf是训练的分类器

模型从本地调回
>>> clf = joblib.load("train_model.m")
1
通过joblib的load方法,加载保存的模型。

然后就可以在测试集上测试了

clf.predit(test_X) #此处test_X为特征集

636379-20180905143418927-531185016.png

转载于:https://www.cnblogs.com/Frank99/p/9528012.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值