乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      python機(jī)器學(xué)習(xí):用于多分類的線性模型

       星光閃亮圖書館 2019-09-05

      許多線性分類模型只適用于二分類,不能輕易推廣到多類別問題(除了logisitic回歸)。將二分類算法推廣到多分類算法的一種常見的方法是“一對(duì)其余”。在“一對(duì)其余”中對(duì)每個(gè)類別都學(xué)習(xí)一個(gè)二分類模型,將這個(gè)類別與所有其他類別盡量分開,這樣就生成了類別個(gè)數(shù)一樣多多的二分類。

      在測(cè)試點(diǎn)上運(yùn)行所有二分類器來進(jìn)行預(yù)測(cè),在對(duì)應(yīng)類別上分?jǐn)?shù)最高的分類器“勝出”,將這個(gè)類別標(biāo)簽返回作為預(yù)測(cè)結(jié)果。每個(gè)類別都對(duì)應(yīng)一個(gè)二分類器,這樣每個(gè)類別也就有一個(gè)系數(shù)(w)向量和一個(gè)截距(b)。

      多分類logistic回歸背后的數(shù)學(xué)與“一對(duì)其余”方法稍微有所不同。不過也是對(duì)每個(gè)類別都有一個(gè)系數(shù)向量和一個(gè)解決,也使用了相同的預(yù)測(cè)方法。

      下面我們將“一對(duì)其余”方法應(yīng)用在一個(gè)簡(jiǎn)單的三分類數(shù)據(jù)上。我們用到了一個(gè)二維數(shù)據(jù)及,每個(gè)類別的數(shù)據(jù)都是從一個(gè)高斯分布中蔡陽得出,代碼如下:

      import matplotlib.pyplot as plt

      from sklearn.datasets import make_blobs

      x, y = make_blobs(random_state=42) #導(dǎo)入數(shù)據(jù)集

      #以下代碼進(jìn)行繪圖

      mglearn.discrete_scatter(x[:, 0], x[:, 1], y)

      plt.xlabel('Feature 0')

      plt.ylabel('Feature 1')

      plt.legend(['Class 0', 'Class 1', 'Class 2'])

      運(yùn)行結(jié)果如下圖所示:

      python機(jī)器學(xué)習(xí):用于多分類的線性模型

      包含三個(gè)類別的二維玩具集

      現(xiàn)在,我們?cè)谶@個(gè)數(shù)據(jù)集上加上一個(gè)LinearSVC分類器,新增對(duì)應(yīng)代碼如下:

      linear_svm = LinearSVC().fit(x, y) ? ?#線性分類器適配對(duì)應(yīng)的x,y

      print('Coefficient shape: ', linear_svm.coef_.shape)

      print('intercept shape: ', linear_svm.intercept_.shape)

      mglearn.discrete_scatter(x[:, 0], x[:, 1], y)

      line = np.linspace(-15, 15)

      for coef, intercept, color in zip(linear_svm.coef_, linear_svm.intercept_, ['b', 'r', 'g']): ? ?#分類顏色設(shè)定

      plt.plot(line, (line * coef[0] + intercept) / coef[1], c=color)

      plt.ylim(-10, 15)

      plt.xlim(-10, 8)

      plt.xlabel('Feature 0')

      plt.ylabel('feature 1')

      plt.legend(['class 0', 'class 1', 'class 2', 'line class 0', 'line class 1', 'line class 2'], loc=(1.01, 0.3))

      mglearn.plots.plot_2d_classification(linear_svm, x, fill=True, alpha=.7)

      mglearn.discrete_scatter(x[:, 0], x[:, 1], y)

      line = np.linspace(-15, 15)

      for coef, intercept, color in zip(linear_svm.coef_, linear_svm.intercept_, ['b', 'r', 'g']): ?#分類顏色設(shè)定

      plt.plot(line, (line * coef[0] + intercept) / coef[1], c=color)

      plt.ylim(-10, 15)

      plt.xlim(-10, 8)

      plt.xlabel('Feature 0')

      plt.ylabel('feature 1')

      plt.legend(['class 0', 'class 1', 'class 2', 'line class 0', 'line class 1', 'line class 2'], loc=(1.01, 0.3))

      對(duì)應(yīng)的運(yùn)行結(jié)果如下:

      python機(jī)器學(xué)習(xí):用于多分類的線性模型

      三個(gè)“一對(duì)其余”分類器學(xué)到的決策邊界

      有運(yùn)行結(jié)果我們得出,coef_的形狀是(3,2),說明coef_每行包含三個(gè)類別之一的系數(shù)向量每列包含某個(gè)特征(這里的數(shù)據(jù)集有兩個(gè)特征)對(duì)應(yīng)的系數(shù)值。而現(xiàn)在的intercept是一個(gè)一位數(shù)組,保存每個(gè)類別的截距。

      將這三個(gè)二分類器給出的直線可視化后我們可以看到,訓(xùn)練集中所有類別0的點(diǎn)都在于類別0對(duì)應(yīng)的直線上方,這說明這個(gè)二分類器屬于“類別0”的那一側(cè)。類別0可以看出是屬于大于0的異類,而類別1和2應(yīng)該都屬于小于0這一類。

      中間的三角形區(qū)域?qū)儆谀囊活惸?,三個(gè)二分類器都將這一區(qū)域的點(diǎn)華為“其余”,即最接近的那條線對(duì)應(yīng)的類別。

      多分類模型的優(yōu)點(diǎn)、缺點(diǎn)和參數(shù):線性模型的主要參數(shù)是正則化,在回歸模型中叫做alpha,在linearSVC和logistic-Regression中叫做C。alpha值較大或C值較小,說明模型簡(jiǎn)單,特別是對(duì)于回國(guó)模型而言,調(diào)節(jié)這些參數(shù)非常重要。

      另外還需要確認(rèn)使用L1正則化還是L2正則化,默認(rèn)使用L2正則化,但是如果所有特征中只有幾個(gè)是需要的,那么則使用L1正則化。線性模型的訓(xùn)練速度非常快,預(yù)測(cè)速度也很快。可以將其應(yīng)用大非常大的數(shù)據(jù)集,同時(shí)對(duì)于稀疏數(shù)據(jù)也很有效。

      如果你的數(shù)據(jù)包含數(shù)十萬甚至上百萬個(gè)樣本,可能需要研究如何利用LogisticRegression和Ridge模型的solver=‘sag’選項(xiàng),在處理大數(shù)據(jù)時(shí),這一數(shù)據(jù)別默認(rèn)值更快。

      線性模型的另一個(gè)優(yōu)點(diǎn)是利用我們見過的用于回歸和分類的公式,理解如何進(jìn)行預(yù)測(cè)是相對(duì)容易的。

      缺點(diǎn)是:我們很多時(shí)候并不清楚為什么會(huì)是這樣,如果你的數(shù)據(jù)集中包含高度相關(guān)的特征,這一問題尤為突出。這種情況很難對(duì)其系數(shù)做出解釋。

      如果特征量大于樣本數(shù)量,線性模型的表現(xiàn)都非常好。它也常用于非常大的數(shù)據(jù)集,只因?yàn)橛?xùn)練其他模型并不可行。但是在耕地為的空間中,其他模型的泛化性能更好。我們將會(huì)在下節(jié)介紹的樸素貝葉斯分類器等將會(huì)用來處理此類問題。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多