sk-learn 学习官方笔记1

加载示例数据集

scikit-learn提供了一些标准数据集,例如 用于分类的 虹膜数字数据集和波士顿房价回归数据集

在下文中,我们从shell中启动一个Python解释器,然后加载irisdigits数据集。我们的符号约定是 $表示shell提示符,而>>>表示Python解释器提示符:

$ python
>>>  from  sklearn  import  datasets
>>> iris  =  datasets.load_iris()
>>> digits  =  datasets.load_digits() 

以下是一些推荐的方法,将标准柱状数据加载到scikit-learn可用的格式中:

  • pandas.io 提供了从常见格式(包括CSV,Excel,JSON和SQL)读取数据的工具。数据框也可以从元组或者字典列表中构建。Pandas可以平滑地处理异类数据,并提供用于操作和转换成适合scikit-learn的数字数组的工具。
  • scipy.io 专注于科学计算环境中经常使用的二进制格式,例如.mat和.arff
  • numpy / routines.io 用于将列数据标准加载到numpy数组中

模型持久化

可以通过使用Python的内置持久化模型(即pickle)将模型保存在scikit中:

>>>  from  sklearn  import  svm
>>>  from  sklearn  import  datasets
>>> clf  =  svm.SVC()
>>> iris  =  datasets.load_iris()
>>> X, y  =  iris.data, iris.target
>>> clf.fit(X, y) 
SVC(C = 1.0 , cache_size = 200 , class_weight = None , coef0 = 0.0 ,
   decision_function_shape = None , degree = 3 , gamma = 'auto' , kernel = 'rbf' ,
   max_iter = - 1 , probability = False , random_state = None , shrinking = True ,
   tol = 0.001 , verbose = False )
 
>>>  import  pickle
>>> s  =  pickle.dumps(clf)
>>> clf2  =  pickle.loads(s)
>>> clf2.predict(X[ 0 : 1 ])
array([ 0 ])
>>> y[ 0 ]
0 

在scikit的具体情况下,使用joblib替换pickle(joblib.dumpjoblib.load)可能会更有意思,这对大数据更有效,但只能持久化到磁盘而不是一串:

>>>  from  sklearn.externals  import  joblib
>>> joblib.dump(clf,  'filename.pkl' )  

之后,您可以加载持久化模型(可能在另一个Python进程中):

>>> clf  =  joblib.load( 'filename.pkl' )  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值