1. 程式人生 > >對sklearn訓練結果進行儲存(joblib或pickle或cPickle的使用問題記錄)

對sklearn訓練結果進行儲存(joblib或pickle或cPickle的使用問題記錄)

>>> 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)

方案1

>>> import pickle
>>> s = pickle.dumps(clf)
>>> clf2 = pickle.loads(s)
>>> clf2.predict(X[0:1])
array([0])
>>> 
y[0] 0 或者: #儲存 import cPickle with open('filename.pkl', 'wb') as f: cPickle.dump(forest, f) #讀取 with open('filename.pkl', 'rb') as f: forest = cPickle.load(f)

方案2

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

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

但是有一個問題需要注意,即32位python和64位python並不能無縫連線使用,即如果用32python儲存,然後用64位python進行讀取大概率會報錯,反之亦然:

報錯如下:

ValueError: Buffer dtype mismatch, expected 'SIZE_t' but got 'int' 

記錄這個是因為工作的時候遇到這個問題,費了不少勁。
如果想檢視自己的python是32位還是64位的,可以這樣:

In [287]: import platform
In [288]: platform.architecture()
Out[288]: ('32bit', 'WindowsPE')

相關推薦

sklearn訓練結果進行儲存joblibpicklecPickle的使用問題記錄

>>> from sklearn import svm >>> from sklearn import datasets >>> clf =

MapReduce 統計手機使用者的上行流量,下行流量,總流量,並輸出的結果進行倒序排序。,劃分省份,輸出到不同的檔案

在(一)的基礎上,寫一個自己的partitioner就好了。   分割槽的預設實現HashPartitioner,它根據key的hashcode和Interger.  在Reduce過程中,可以根據實際需求(比如按某個維度進行歸檔,類似於資料庫的分組),把Map完的資

MapReduce 統計手機使用者的上行流量,下行流量,總流量,並輸出的結果進行倒序排序。

  首先,要知道hadoop自帶的LongWritable 是沒辦法儲存三個變數,即使用者的上行流量,下行流量,總流量。 這個時候,沒辦法,你就要去寫一個屬於你自己的介面,去實現能夠放入這三個資料。 MapReduce中傳輸自定義資料型別(Bean->setter+

使用conlleval.plCRF測試結果進行評價的方法

val 環境 進行 操作 神器 測試 方法 標簽 tps 基於CRF做命名實體識別系列 用CRF做命名實體識別(一) 用CRF做命名實體識別(二) 用CRF做命名實體識別(三) 評測 用CRF做完命名實體識別我們測試之後得到的結果就是預測的標簽,並不能直接得到F1值等評測結

javaleetcode717 1位元與2位元字元 即根據不同的長度字元進行解碼1-bit and 2-bit Characters

題目描述: 有兩種特殊字元。第一種字元可以用一位元0來表示。第二種字元可以用兩位元(10 或 11)來表示。 現給一個由若干位元組成的字串。問最後一個字元是否必定為一個一位元字元。給定的字串總是由0結束。 示例1: 輸入: bits = [1, 0, 0]

使用ms17-010win7進行滲透傳說中的永恆之藍

本實驗在虛擬機器環境下進行! 準備虛擬機器兩臺: Kali Win7 64位 (要將防火牆關閉) 先看看兩臺機器的ip地址是多少 kali的ip是 192.168.0.102 win7的ip是192.168.0.101 接著進行埠掃描

查詢出多多的結果進行再分組

有時候查出的資料需要進行再次分組, (List<Object> 分組為   Map<String,List<Object>)   以下就是 根據資料庫中查出來資料物件的一個欄位的作為key, 將資料根據這個欄位進行分組, 常用於

OJ - 75 0,1,2進行排序Sort Color

題目:給定一個數組,數組裡面的元素取值為:[0, 2],把這個陣列排序。 1.第一種做法:計數排序,因為數組裡面的元素都是正數,可以直接索引到,所以我們直接可以開一個size為3的陣列,用來儲存0,1,2的個數。最後再直接覆寫原來的陣列即可。 void sortColors(ve

樹狀結果進行脫敏

package com.paic.icore.agr.common.utils; import com.paic.icore.agr.common.exception.ServiceException; import com.paic.icore.agr.common.ex

MapReduce 統計手機使用者的上行流量,下行流量,總流量,並輸出的結果進行倒序排序。

首先,要知道hadoop自帶的LongWritable 是沒辦法儲存三個變數,即使用者的上行流量,下行流量,總流量。 這個時候,沒辦法,你就要去寫一個屬於你自己的介面,去實現能夠放入這三個資料。 這裡定義為flowbean,實現WritableComparable

本文部分轉載 一.scanf函式的機理 scanf()不是以行單位輸入內容進行解釋,而是連續字元流進行解釋換行字元也視為一個字元。scanf()連續地從流讀入字元,並且和格式說明符

本文部分轉載 一.scanf函式的機理   scanf()不是以行單位對輸入內容進行解釋,而是對連續字元流進行解釋(換行字元也視為一個字元)。scanf()連續地從流讀入字元,並且對和格式說明符(%d)相匹配的部分進行變換處理。例如,當格式說明符為%d 的時候,輸入123

jquery如何獲得option的值和option進行操作jq顯示、隱藏option標籤

選中一規格值,另一欄的規格列表隱藏該規格值           if(spec=="spec1"){             $("#s

javaList型列表進行排序通過內部類compare(**)方法重寫

Collections.sort(upgradeUsefulList, new Comparator<List<Object>>(){     public int compare(List&l

python專案篇-Django中資料查詢結果進行排序的方法

在Django 應用中,根據某欄位的值對檢索結果排序,比如說,按字母順序。 那麼,使用 order_by() 這個方法就可以搞定了。 >>> Publisher.objects.order_by("name") [<Publisher: Apress>,

利用樸素貝葉斯分類算法搜狐新聞進行分類python

cno new 資產 jieba分詞 寶寶 .cn 官網 info targe 數據來源 https://www.sogou.com/labs/resource/cs.php介紹:來自搜狐新聞2012年6月—7月期間國內,國際,體育,社會,娛樂等18個頻道的新聞數據,提供

[Rtsp]RTSP實時攝像頭視訊流進行轉換FFmpeg+FFserver)

1.一、問題描述 輸入資料為來自攝像頭的RTSP視訊流,然後利用FFmpeg將其輸出到FFserver監聽的服務(Feed)上,然後客戶端(vlc)可以播放FFserver廣播的經過轉換後的視訊流(Streams)。 通過FFserver的配置檔案來配置視訊流的轉換引數(幀大小,幀頻等) 2.二、實

arcengine 連線sde,並sde內資料進行管理增刪改

1、連線sde,用的是連線檔案,怎麼建立連線檔案,arcgis 工具箱, 如果service引數使用的預設的埠號5151,則必須在建立連線檔案之前必須建立和開啟sde服務,而如果使用sde:sqlserver:ip地址或計算機名,則不需要建立和開啟服務。 locati

在ListView中動態新增EditText並其中的資料進行儲存和由於複用引起的Editext中的內容顯示異常的解決方案

public class AddAdapter extends BaseAdapter { private Context context; //需要增加的條目用一個Map儲存 private Map edItem; //記錄增加的條目數,作為下標給deItem賦值,可以不要

springmvc+mybatis登入驗證2.0更新了使用session來進行儲存使用者值,登出後清除session,並進行了攔截器的設定

本次在之前的文章實現登入註冊的基礎上又進行了新的升級,主要是採用了session和攔截器來對功能進行完善 新的Controller層 package lyb.com.controller; import java.util.ArrayList; import java.u

Android群英傳--現有控制元件進行拓展動態的文字閃動效果

利用linearGradient Shader和Matrix來實現一個動態的文字閃動效果。 要想實現這一個效果,可以充分利用Android 中Paint物件的Shader渲染器。通過一個不斷變化的linearGradient,並使用帶有該屬性的Paint物件來繪製要顯示的文