熱線電話:13121318867

登錄
首頁精彩閱讀機器學習中的非均衡分類問題
機器學習中的非均衡分類問題
2018-04-09
收藏

機器學習中的非均衡分類問題

非均衡分類問題是指在分類器訓練時,正例數目和反例數目不相等(相差很大),或者錯分正反例導致的代價不同(可從代價矩陣觀測)時存在的問題。

而大多數情況下,不同類別的分類代價并不相等,而諸如信用卡欺詐等場景中,正反例的樣本數目相差巨大,這就需要一些新的分類器性能度量方法和技術,來處理上述非均衡問題。

1、分類器性能度量指標

分類器學習常用的錯誤率指標會掩蓋樣例如何被錯分的細節,可以采用更好的性能度量指標1 ——正確率TP/(TP+FP)和召回率TP/(TP+FN)。

實際上,單獨滿足其中一個指標高性能較容易,但構造一個同時高正確率有高召回率的分類器很難。至于具體選擇正確率還是召回率,關鍵在于場景或者說研究問題,例如在購物刷單問題中,正確率遠比召回率更重要。

此外可以采用性能度量指標2 ——ROC曲線,即接收者操作特征曲線。

ROC曲線給出的是當閾值變化時,假陽率和真陽率之間的變化情況。因此,我們可以通過觀察ROC曲線來調節分類器的閾值,使得分類器的性能最好處于ROC曲線的左上角。由ROC曲線衍生的AUC(曲線下的面積)指標給出了分類器的平均性能值。

def plotROC(predStrengths, classLabels):  
        import matplotlib.pyplot as plt  
        cur = (1.0,1.0) # current plot node  
        ySum = 0.0 # for AUC  
        numPosClas = sum(numpy.array(classLabels)==1.0)  
        numNegClas = len(classLabels) - numPosClas  
        yStep = 1/float(numPosClas)  
        xStep = 1/float(numNegClas)  
        sortedIndicies = predStrengths.argsort()  
        fig = plt.figure()  
        fig.clf()  
        ax = plt.subplot(111)  
        for index in sortedIndicies.tolist()[0]:  
            if classLabels[index] == 1.0:  
                delX = 0; delY = yStep;  
            else:  
                delX = xStep; delY = 0;  
                ySum += cur[1]  
            ax.plot([cur[0],cur[0]-delX],[cur[1],cur[1]-delY], c='b')  
            cur = (cur[0]-delX,cur[1]-delY)  
        ax.plot([0,1],[0,1],'b--')  
        plt.xlabel('False positive rate'); plt.ylabel('True positive rate')  
        plt.title('ROC curve for AdaBoost horse colic detection system')  
        ax.axis([0,1,0,1])  
        plt.show()  
        print "the Area Under the Curve is: ",ySum*xStep

2、基于代價敏感的學習方法

一方面,重構訓練數據集。即不改變已有算法,而是根據樣本的不同錯分代價給訓練集中的每一個樣本賦一個權值,接著按權重對原始樣本集進行重構。

另一方面,引入代價敏感因子,設計出代價敏感的分類算法。通??梢詫⒏鞣诸惼鲗W習時的目標函數改造成最小化代價函數,即對小樣本賦予較高的代價,大樣本賦予較小的代價,期望以此來平衡樣本之間的數目差異。

3、改造分類器的訓練數據 —— 過抽樣或者欠抽樣

過抽樣,即保留樣本數目小的類別的所有樣本同時,再進行復制或者進行插值,擴大規模。注意對小樣本數目的類別的樣本們進行插值有可能造成過擬合。

欠抽樣,即欠抽樣或者剔除樣本數目大的類別中的部分樣本,縮小規模。進行剔除時,盡量選擇那些離決策邊界較遠的樣例。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢