對於標稱型資料來說,preprocessing.labelbinarizer是乙個很好用的工具。比如可以把yes和no轉化為0和1,或是把incident和normal轉化為0和1。當然,對於兩類以上的標籤也是適用的。這裡舉乙個簡單的例子,說明將標籤二值化以及其逆過程。
# -*- coding: utf-8 -*-
from sklearn import preprocessing
from sklearn import tree
# help(preprocessing.labelbinarizer)#取消注釋可以檢視詳細用法
# 特徵矩陣
featurelist=[[1,0],[1,1],[0,0],[0,1]]
# 標籤矩陣
labellist=['yes', 'no', 'no', 'yes']
# 將標籤矩陣二值化
lb = preprocessing.labelbinarizer()
dummy=lb.fit_transform(labellist)
# print(dummy)
# 模型建立和訓練
clf = tree.decisiontreeclassifier()
clf = clf.fit(featurelist, dummy)
p=clf.predict([[0,1]])
# print(p)#取消注釋可以檢視p的值
# 逆過程
yesorno=lb.inverse_transform(p)
print(yesorno)
LabelBinarizer的標籤二值化
對於標稱型資料來說,preprocessing.labelbinarizer是乙個很好用的工具。比如可以把yes和no轉化為0和1,或是把incident和normal轉化為0和1。當然,對於兩類以上的標籤也是適用的。這裡舉乙個簡單的例子,說明將標籤二值化以及其逆過程。coding utf 8 fr...
區域性二值化 Sauvola二值化演算法
借鑑 原理 分塊處理,根據當前塊內的均值,方差等資訊得出區域性閾值 但擔心有突變,分塊不好怎麼辦呢?sauvola是一種考慮區域性均值亮度的影象二值化方法,以區域性均值為基準在根據標準差做些微調.演算法實現上一般用積分圖方法來實現的.步驟1 計算區域畫素積分和和積分平方和 步驟2 計算標準差,標準差...
最優二值化
昨天要做乙個最優二值化,原qr圖如下 對其做最優二值化,即在其直方圖兩個灰度波峰之間的的波谷用來做二值化的閾值。也就是下圖中所示的小紅點。在連續變數中可以用求導的方式來獲得波峰和波谷的位置,但是對於離散變數,要如何求這個小紅點的位置捏?方法一 可以設計這樣乙個檢測結構 用這個結構對直方圖上的灰度1 ...