對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訓練結果進行儲存(joblib或pickle或cPickle的使用問題記錄)
>>> from sklearn import svm >>> from sklearn import datasets >>> clf =
MapReduce 統計手機使用者的上行流量,下行流量,總流量,並對輸出的結果進行倒序排序。(二),劃分省份,輸出到不同的檔案
在(一)的基礎上,寫一個自己的partitioner就好了。 分割槽的預設實現HashPartitioner,它根據key的hashcode和Interger. 在Reduce過程中,可以根據實際需求(比如按某個維度進行歸檔,類似於資料庫的分組),把Map完的資
MapReduce 統計手機使用者的上行流量,下行流量,總流量,並對輸出的結果進行倒序排序。(一)
首先,要知道hadoop自帶的LongWritable 是沒辦法儲存三個變數,即使用者的上行流量,下行流量,總流量。 這個時候,沒辦法,你就要去寫一個屬於你自己的介面,去實現能夠放入這三個資料。 MapReduce中傳輸自定義資料型別(Bean->setter+
使用conlleval.pl對CRF測試結果進行評價的方法
val 環境 進行 操作 神器 測試 方法 標簽 tps 基於CRF做命名實體識別系列 用CRF做命名實體識別(一) 用CRF做命名實體識別(二) 用CRF做命名實體識別(三) 評測 用CRF做完命名實體識別我們測試之後得到的結果就是預測的標簽,並不能直接得到F1值等評測結
(java)leetcode717 1位元與2位元字元 即根據不同的長度對字元進行解碼(1-bit and 2-bit Characters)
題目描述: 有兩種特殊字元。第一種字元可以用一位元0來表示。第二種字元可以用兩位元(10 或 11)來表示。 現給一個由若干位元組成的字串。問最後一個字元是否必定為一個一位元字元。給定的字串總是由0結束。 示例1: 輸入: bits = [1, 0, 0]
使用ms17-010對win7進行滲透(傳說中的永恆之藍)
本實驗在虛擬機器環境下進行! 準備虛擬機器兩臺: 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
java對List型列表進行排序(通過內部類對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物件來繪製要顯示的文