sklearn 0.17 版本 方法過時問題
發現問題
最早使用的是0.15 版本的sklearn 後來更換的開發環境,使用了0.17版本,但是出現了無法執行的問題,在一番搜尋之後在stackoverflow上找到了答案
DeprecationWarning: Directsupport for sequence of sequences multilabel representation will be unavailable from version 0.17. Use sklearn.preprocessing.MultiLabelBinarizer to convert to a label indicator representation.
之前的程式碼是這樣寫的,直接使用提取出來的標籤進行fit
cvt = CountVectorizer(tokenizer=self.tokenizer, min_df=4, stop_words=self.stop_words)
self.classifier = Pipeline([('vectorizer', cvt),
('clf', OneVsRestClassifier(SGDClassifier(loss='hinge', alpha=1e-5, eta0=0.25, n_iter=50,), n_jobs=12))])
words, tags = self .inputData(self.train_file)
self.classifier.fit(words, tags)
pickle.dump(self.classifier, open("zzz.pickle", 'wb'))
解決方案
使用 MultiLabelBinarizer 先將多標籤進行多標籤二值化,然後將轉換的編碼表儲存下來
然後再使用之前的方式,使用訓練資料對模型進行fit,然後再把真正的模型dump下來,這樣就可以成功運行了。
感覺是sklearn升級時候不再支援使用原始的資料格式進行fit,必須要提前進行多標籤二值化
words, tags_unique, tags_normal = self .inputData(self.train_file)
tags_handled = list(tags_unique)
print "\t".join(tags_handled)
mlb = MultiLabelBinarizer(classes=tags_handled)
tags_train_mlb = mlb.fit_transform(tags_normal)
pickle.dump(mlb, open("mlb_ind.pickle", 'wb'))
# text.CountVectorizer:將文字轉換為每個詞出現的個數的向量
# text.TfidfVectorizer:將文字轉換為tfidf值的向量
# text.HashingVectorizer:文字的特徵雜湊
cvt = CountVectorizer(tokenizer=self.tokenizer, min_df=4, stop_words=self.stop_words)
# OneVsRestClassifier:1 - rest多分類(多標籤)策略
# OneVsOneClassifier:1 - 1 多分類策略
# OutputCodeClassifier:1個類用一個二進位制碼錶示
clf = OneVsRestClassifier(SGDClassifier(loss='hinge', alpha=1e-5, eta0=0.25, n_iter=50, n_jobs=12))
self.classifier = Pipeline([
('vectorizer', cvt),
# ('tfidf', TfidfTransformer()),
('clf', clf)])
self.classifier.fit(words, tags_train_mlb)
pickle.dump(self.classifier, open("zzz17.pickle", 'wb'))
print("#### classifier dumped!")
此外有一點需要注意,使用上面訓練的模型進行predict之後,要使用多標籤二值化的編碼表進行反向轉換從而得到真正的計算值
predict = model.predict([company])
mlb = pickle.load(open("mlb_ind.pickle","rb"))
result = mlb.inverse_transform(predict)
相關推薦
sklearn 0.17 版本 方法過時問題
發現問題 解決方案 發現問題 最早使用的是0.15 版本的sklearn 後來更換的開發環境,使用了0.17版本,但是出現了無法執行的問題,在一番搜尋之後在stackoverflow上找到了答案 DeprecationWarni
Android6.0+解決getColor()方法過時
最近發現看到別人編譯程式碼的時候都是用的6.0往上的版本,我還在用5.0的,瞬間有點傷感啊,傷感自己不能與時俱進,玻璃心啊,不多說了,今天做一下筆記,關於getResources().getColor()方法過時的替代方法,在Android的6.0以上的編譯環境中getCo
sklearn.learning_curve 和 cross_validation 0.18版本廢棄警告及解決方法
D:\ProgramData\Anaconda3\lib\site-packages\sklearn\cross_validation.py:41:DeprecationWarning: This module was deprecated in version 0.18 i
NHibernte 4.0.3版本中,使用Queryover().Where().OrderBy().Skip().Take()方法分頁獲取數據失敗
osi ber modal str 問題 res tor 獲取數據 max 問題代碼如下: var result=repository.QueryOver<modal>() .Where(p=>p.Code==Code)
8.0.11版本Mysql遇到MySQL 服務無法啟動的解決方法
p s 解決方法 details eba 引號 iss 位數 -- 修改密碼 轉:https://blog.csdn.net/iyayaqiqi/article/details/80536110 系統環境:win10(1803),64位 MySQL版本:8.0.11免安
Hibernate 版本問題,註解使用@Entity以及AnnotationConfiguration()方法過時問題。
將 Configuration cfg = new AnnotationConfiguration(); 改成 Configuration cfg = new Configuration(); 3.×的版本開始就是全面用Configutation替代了AnnotationConfig
python3.x中移除了cPickle模組;pycharm執行後出現no module named cv2解決方法;scikit-learn 0.18以及0.20版本中的cross_validati
1.python3.x中移除了cPickle模組,可以使用pickle模組代替。最終我們將會有一個透明高效的模組。 2、pycharm執行後出現no module named cv2解決方法 在win 7 上成功安裝OpenCV之後,發現在PowerShell上能成功使用OpenC
Android 5.0以上版本去掉Button自帶陰影效果的方法
關鍵程式碼: style=”?android:attr/borderlessButtonStyle” 具體配置: <Button android:layout_width="wra
解決Android 5.0以上版本Button自帶陰影效果的方法
今天跟UI對介面,發現一個按鈕使用系統自帶的button會自動有一個陰影。然而在4.x上卻沒有這個問題。直覺就是因為MD導致的Android版本差異。 果斷Google,在stackoverflow上
加密庫 libsodium 1.0.17 釋出,Bug 修復版本
libsodium 1.0.17 已釋出,更新如下: Bug fix: sodium_pad() didn't properly support block sizes >= 256 bytes. JS/WebAssembly: some
arcgis10.0以後版本,已知座標,生成shp檔案 ---經驗證,此部落格記錄步驟較繁瑣,ArcGIS Desktop有更簡單的方法
arcgis10.0以後版本沒有Write Features To Text File,Create Features From Text File首先要生成這兩個工具,參考連結如下:http://wenku.baidu.com/link?url=3-WqIKo00_KbG9
Android-6.0-23的getColor()過時替代方法
getColor方法在6.0中已經過時: @[email protected] getColor(@ColorResint id)throwsNotFoundException{retu
HBase1.0以上版本號的API改變
reg hbase value col min sea ron factor valueof HBase1.0以上版本號已經廢棄了 HTableInterface,HTable,HBaseAdmin等API的使用。新增了一些API來實現之前的功能: Connect
Kafka 0.11版本新功能介紹 —— 空消費組延時rebalance
次數 新功能 ins 效果 可控 size style soft font 在0.11之前的版本中,多個consumer實例加入到一個空消費組將導致多次的rebalance,這是由於每個consumer instance啟動的時間不可控,很有可能超出coordinato
maven工程:Missing artifact com.sun:tools:jar:1.5.0:system 解決方法
end rop jdk 一個 blog enc files mave system 修改maven的pom文件指定 a.定義屬性<properties><java.home>C:\Program Files\Java\jdk1.6.0_21<
react-native 0.31.0 低版本在Android上報網絡的錯誤錯
pla efi oid repl var manager img native manage 修改工程裏 DashengChefuMerchant/node_modules/react-native/Libraries/Utilities/UIManager.js if
sklearn參數優化方法
arc 噪聲 valid iat 劃分數 sco jobs 模型 images 學習器模型中一般有兩個參數:一類參數可以從數據中學習估計得到,還有一類參數無法從數據中估計,只能靠人的經驗進行指定,後一類參數就叫超參數 比如,支持向量機裏的C,Kernel,gama,樸素貝葉
Apache Kafka 0.11版本新功能簡介
多個 spa 實現 cer true assign 線程 cto headers Apache Kafka近日推出0.11版本。這是一個裏程碑式的大版本,特別是Kafka從這個版本開始支持“exactly-once”語義(下稱EOS, exactly-once semant
從源碼剖析PopupWindow 兼容Android 6.0以上版本點擊外部不消失
並且 gif upd 兼容 addview 初始 一個地方 || ping PopupWindow可以說是Google坑最多的一個控件,使用PopupWindow的時候沒有遇到幾個坑你都不好意思說你用過它,說一個可能大多數人都遇到過的一個坑:那就是我們想觸摸PopupWin
React-Native到0.44版本後Navigator 不能用的問題
base targe 問題 all pan ria been github pre 新升級 到0.46版本以後 Navigator 不能使用報錯。 ‘Navigator is deprecated and has been removed from this packag