色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

帶你入門(mén)常見(jiàn)的機(jī)器學(xué)習(xí)分類(lèi)算法——邏輯回歸、樸素貝葉斯、KNN、SVM、決策樹(shù)

電子工程師 ? 來(lái)源:lq ? 2019-05-06 09:29 ? 次閱讀

【導(dǎo)讀】眾所周知,Scikit-learn(以前稱(chēng)為scikits.learn)是一個(gè)用于Python編程語(yǔ)言的免費(fèi)軟件機(jī)器學(xué)習(xí)庫(kù)。它具有各種分類(lèi),回歸和聚類(lèi)算法,包括支持向量機(jī),隨機(jī)森林,梯度增強(qiáng),k-means和DBSCAN,旨在與Python數(shù)值和科學(xué)庫(kù)NumPy和SciPy互操作。本文將帶你入門(mén)常見(jiàn)的機(jī)器學(xué)習(xí)分類(lèi)算法——邏輯回歸、樸素貝葉斯、KNN、SVM、決策樹(shù)。

邏輯回歸 (Logistic regression)

邏輯回歸,盡管他的名字包含"回歸",卻是一個(gè)分類(lèi)而不是回歸的線性模型。邏輯回歸在文獻(xiàn)中也稱(chēng)為logit回歸,最大熵分類(lèi)或者對(duì)數(shù)線性分類(lèi)器。下面將先介紹一下sklearn中邏輯回歸的接口

class sklearn.linear_model.LogisticRegression(penalty='l2', dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver='warn', max_iter=100, multi_class='warn', verbose=0, warm_start=False, n_jobs=None)

常用參數(shù)講解:

penalty:懲罰項(xiàng)。一般都是"l1"或者"l2"。

dual:這個(gè)參數(shù)僅適用于使用liblinear求解器的"l2"懲罰項(xiàng)。 一般當(dāng)樣本數(shù)大于特征數(shù)時(shí),這個(gè)參數(shù)置為False。

C:正則化強(qiáng)度(較小的值表示更強(qiáng)的正則化),必須是正的浮點(diǎn)數(shù)。

solver:參數(shù)求解器。一般的有{‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’}。

multi_class:多分類(lèi)問(wèn)題轉(zhuǎn)化,如果使用"ovr",則是將多分類(lèi)問(wèn)題轉(zhuǎn)換成多個(gè)二分類(lèi)為題看待;如果使用"multinomial",損失函數(shù)則會(huì)是整個(gè)概率分布的多項(xiàng)式擬合損失。

不常用的參數(shù)這里就不再介紹,想要了解細(xì)節(jié)介紹,可以sklearn的官網(wǎng)查看。

案例:

這里我使用sklearn內(nèi)置的數(shù)據(jù)集——iris數(shù)據(jù)集,這是一個(gè)三分類(lèi)的問(wèn)題,下面我就使用邏輯回歸來(lái)對(duì)其分類(lèi):

from sklearn.datasets import load_irisfrom sklearn.linear_model import LogisticRegressionX, y = load_iris(return_X_y=True)clf = LogisticRegression(random_state=0, solver='lbfgs', multi_class='multinomial').fit(X, y)

上面我就訓(xùn)練好了一個(gè)完整的邏輯回歸模型,我們可以用predict這個(gè)函數(shù)對(duì)測(cè)試集進(jìn)行預(yù)測(cè)。

clf.predict(X[:2, :])

如果想知道預(yù)測(cè)的概率,可以通過(guò)predict_proba這個(gè)函數(shù)來(lái)進(jìn)行預(yù)測(cè)。

clf.predict_proba(X[:2, :])

如果想知道我們預(yù)測(cè)的準(zhǔn)確性,可以通過(guò)score這個(gè)函數(shù)來(lái)判斷我們的模型好壞。

clf.score(X, y)

樸素貝葉斯

樸素貝葉斯方法是一組基于貝葉斯定理的監(jiān)督學(xué)習(xí)算法,在給定類(lèi)變量值的情況下,樸素假設(shè)每對(duì)特征之間存在條件獨(dú)立性。下面我將介紹幾種樸素貝葉斯的方法。

1、高斯樸素貝葉斯 (GaussianNB)

高斯樸素貝葉斯的原理可以看這篇文章:

http://i.stanford.edu/pub/cstr/reports/cs/tr/79/773/CS-TR-79-773.pdf

這里,我將介紹如何使用sklearn來(lái)實(shí)現(xiàn)GaussianNB。

from sklearn import datasetsiris = datasets.load_iris()from sklearn.naive_bayes import GaussianNBgnb = GaussianNB()y_pred = gnb.fit(iris.data, iris.target).predict(iris.data)print("Number of mislabeled points out of a total %d points : %d" % (iris.data.shape[0],(iris.target != y_pred).sum()))

2、多項(xiàng)式樸素貝葉斯 (MultinomialNB/MNB)

這里我隨機(jī)生成一組數(shù)據(jù),然后使用MultinomialNB算法來(lái)學(xué)習(xí)。

import numpy as npX = np.random.randint(50, size=(1000, 100))y = np.random.randint(6, size=(1000))from sklearn.naive_bayes import MultinomialNBclf = MultinomialNB()clf.fit(X, y)print(clf.predict(X[2:3]))

3、 互補(bǔ)樸素貝葉斯 (ComplementNB/CMB)

ComplementNB是標(biāo)準(zhǔn)多項(xiàng)式樸素貝葉斯(MNB)算法的一種改進(jìn),特別適用于不平衡數(shù)據(jù)集。具體來(lái)說(shuō),ComplementNB使用來(lái)自每個(gè)類(lèi)的補(bǔ)充的統(tǒng)計(jì)信息來(lái)計(jì)算模型的權(quán)重。CNB的發(fā)明者通過(guò)實(shí)驗(yàn)結(jié)果表明,CNB的參數(shù)估計(jì)比MNB的參數(shù)估計(jì)更穩(wěn)定。此外,在文本分類(lèi)任務(wù)上,CNB通常比MNB表現(xiàn)得更好(通常是相當(dāng)大的優(yōu)勢(shì))。

CNB的sklearn接口:

class sklearn.naive_bayes.ComplementNB(alpha=1.0, fit_prior=True, class_prior=None, norm=False)

常用參數(shù)講解:

alpha:加性(拉普拉斯/Lidstone)平滑參數(shù)(無(wú)平滑為0)。

fit_prior:是否學(xué)習(xí)類(lèi)先驗(yàn)概率。若為假,則使用統(tǒng)一先驗(yàn)。

class_prior:類(lèi)的先驗(yàn)概率。如果指定,則不根據(jù)數(shù)據(jù)調(diào)整先驗(yàn)。

norm:是否執(zhí)行權(quán)重的第二次標(biāo)準(zhǔn)化。

案例:

import numpy as npX = np.random.randint(50, size=(1000, 100))y = np.random.randint(6, size=(1000))from sklearn.naive_bayes import ComplementNBclf = ComplementNB()clf.fit(X, y)print(clf.predict(X[2:3]))

4、伯努利樸素貝葉斯 (BernoulliNB)

BernoulliNB實(shí)現(xiàn)了基于多元伯努利分布的數(shù)據(jù)的樸素貝葉斯訓(xùn)練和分類(lèi)算法。BernoulliNB可能在某些數(shù)據(jù)集上表現(xiàn)得更好,特別是那些文檔較短的數(shù)據(jù)集。BernoulliNB的sklearn與上面介紹的算法接口相似。

案例:

import numpy as npX = np.random.randint(50, size=(1000, 100))y = np.random.randint(6, size=(1000))from sklearn.naive_bayes import BernoulliNBclf = BernoulliNB()clf.fit(X, Y)print(clf.predict(X[2:3]))

K-Nearest Neighbors(KNN)

KNN基于每個(gè)查詢點(diǎn)的最近鄰居來(lái)實(shí)現(xiàn)學(xué)習(xí),其中k是用戶指定的一個(gè)整數(shù)值。是最經(jīng)典的機(jī)器學(xué)習(xí)算法之一。

KNN的skearn的接口如下:

class sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, weights='uniform', algorithm='auto', leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=None, **kwargs)

常用參數(shù)講解:

n_neighbors:鄰居數(shù),是KNN中最重要的參數(shù)。

algorithm:計(jì)算最近鄰的算法,常用算法有{‘a(chǎn)uto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}。

案例:

from sklearn import datasetsiris = datasets.load_iris()from sklearn.neighbors import KNeighborsClassifierneigh = KNeighborsClassifier(n_neighbors=3)neigh.fit(iris.data, iris.target) print(neigh.predict((iris.data))print(neigh.predict_proba((iris.data))

支持向量機(jī) (SVM)

支持向量機(jī)(SVMs)是一套用于分類(lèi)、回歸和異常值檢測(cè)的監(jiān)督學(xué)習(xí)方法。這里我將只介紹分類(lèi)方法。支持向量機(jī)的優(yōu)點(diǎn)是:在高維空間中有效;在維數(shù)大于樣本數(shù)的情況下仍然有效,因此對(duì)于小數(shù)據(jù)集,SVM可以表現(xiàn)出良好的性能。

SVM在sklearn上有三個(gè)接口,分別是 LinearSVC, SVC, 和 NuSVC。最常用的一般是SVC接口。

SVC的sklearn接口:

class sklearn.svm.SVC(C=1.0, kernel=’rbf’, degree=3, gamma=’auto_deprecated’, coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape=’ovr’, random_state=None)

常用參數(shù)講解:

C:錯(cuò)誤項(xiàng)的懲罰參數(shù)C

kernel:核函數(shù)的選擇。常用的核函數(shù)有:‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’。

probability:預(yù)測(cè)時(shí)是否使用概率估計(jì)。

案例:

import numpy as npX = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])y = np.array([1, 1, 2, 2])from sklearn.svm import SVCclf = SVC(C=1,kernel='rbf',gamma='auto')clf.fit(X, y) print(clf.predict([[-0.8, -1]]))

拓展:SVM解決二分類(lèi)問(wèn)題具有得天獨(dú)厚的優(yōu)勢(shì),然而對(duì)于解決多分類(lèi)問(wèn)題卻很困難。常見(jiàn)的解決方案是“一對(duì)一”的方法解決多分類(lèi)問(wèn)題。具體地,假設(shè) 這個(gè)是一個(gè) n_class的分類(lèi)問(wèn)題,則會(huì)構(gòu)建 n_class*(n_class-1)/2個(gè)二分類(lèi),來(lái)解決這個(gè)多分類(lèi)問(wèn)題。

X = [[0], [1], [2], [3]]Y = [0, 1, 2, 3]clf = svm.SVC(gamma='scale', decision_function_shape='ovo')clf.fit(X, Y) dec = clf.decision_function([[1]])dec.shape[1] # 4 classes: 4*3/2 = 6clf.decision_function_shape = "ovr"dec = clf.decision_function([[1]])dec.shape[1] # 4 classes

決策樹(shù)

決策樹(shù)作為十大經(jīng)典算法之一,能夠很好的處理多分類(lèi)問(wèn)題。

決策樹(shù)的sklearn接口:

class sklearn.tree.DecisionTreeClassifier(criterion=’gini’, splitter=’best’, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None, random_state=None, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, class_weight=None, presort=False)

常用參數(shù)講解:

criterion:該函數(shù)用于衡量分割的依據(jù)。常見(jiàn)的有"gini"用來(lái)計(jì)算基尼系數(shù)和"entropy"用來(lái)計(jì)算信息增益。

max_depth:樹(shù)的最大深度。

min_samples_split:分割內(nèi)部節(jié)點(diǎn)所需的最小樣本數(shù)。

min_samples_leaf:葉節(jié)點(diǎn)上所需的最小樣本數(shù)。

案例:

from sklearn.datasets import load_irisfrom sklearn.model_selection import cross_val_scorefrom sklearn.tree import DecisionTreeClassifierclf = DecisionTreeClassifier(random_state=0)iris = load_iris()clf.fit(iris.data, iris.target)clf.predict(iris.data)clf.predict_proba(iris.data)

總結(jié)

本文介紹了幾種常見(jiàn)的機(jī)器學(xué)習(xí)分類(lèi)算法,如邏輯回歸,樸素貝葉斯,KNN,SVM,以及決策樹(shù)算法。同時(shí),也用sklearn的python接口展示了各個(gè)算法使用案例。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8406

    瀏覽量

    132566
  • 決策樹(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    96

    瀏覽量

    13548
  • 樸素貝葉斯
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    3375

原文標(biāo)題:15分鐘帶你入門(mén)sklearn與機(jī)器學(xué)習(xí)——分類(lèi)算法篇

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    機(jī)器學(xué)習(xí)中常用的決策樹(shù)算法技術(shù)解析

    決策樹(shù)是最重要的機(jī)器學(xué)習(xí)算法之一,其可被用于分類(lèi)回歸問(wèn)題。本文中,我們將介紹
    發(fā)表于 10-12 16:39 ?1306次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>中常用的<b class='flag-5'>決策樹(shù)</b><b class='flag-5'>算法</b>技術(shù)解析

    常見(jiàn)算法優(yōu)缺點(diǎn)比較

    ,并從優(yōu)中擇優(yōu)。但是每次都進(jìn)行這一操作不免過(guò)于繁瑣,下面小編來(lái)分析下各個(gè)算法的優(yōu)缺點(diǎn),以助大家有針對(duì)性地進(jìn)行選擇,解決問(wèn)題。1.樸素
    發(fā)表于 12-02 15:40

    機(jī)器學(xué)習(xí)樸素講解

    秦剛剛的機(jī)器學(xué)習(xí)成長(zhǎng)之路之樸素
    發(fā)表于 05-15 14:41

    機(jī)器學(xué)習(xí)分類(lèi)

    各種機(jī)器學(xué)習(xí)的應(yīng)用場(chǎng)景分別是什么?例如,k近鄰,決策樹(shù)
    發(fā)表于 09-10 10:53

    介紹支持向量機(jī)與決策樹(shù)集成等模型的應(yīng)用

    本文主要介紹支持向量機(jī)、k近鄰、樸素分類(lèi)決策樹(shù)
    發(fā)表于 09-01 06:57

    人工智能算法有哪些?

    很像一棵樹(shù)的枝干,故稱(chēng)決策樹(shù)。隨機(jī)森林在機(jī)器學(xué)習(xí)中,隨機(jī)森林是一個(gè)包含多個(gè)決策樹(shù)分類(lèi)器, 并且
    發(fā)表于 03-05 14:15

    樸素常見(jiàn)機(jī)器學(xué)習(xí)算法的介紹及其優(yōu)缺點(diǎn)比較

    偏差和方差與模型復(fù)雜度的關(guān)系使用下圖更加明了: 當(dāng)模型復(fù)雜度上升的時(shí)候,偏差會(huì)逐漸變小,而方差會(huì)逐漸變大。 常見(jiàn)算法優(yōu)缺點(diǎn) 1.樸素
    發(fā)表于 09-29 16:18 ?7次下載
    <b class='flag-5'>樸素</b><b class='flag-5'>貝</b><b class='flag-5'>葉</b><b class='flag-5'>斯</b>等<b class='flag-5'>常見(jiàn)機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>算法</b>的介紹及其優(yōu)缺點(diǎn)比較

    機(jī)器學(xué)習(xí)樸素應(yīng)用教程

    今天介紹機(jī)器學(xué)習(xí)中一種基于概率的常見(jiàn)分類(lèi)方法,樸素
    發(fā)表于 11-25 12:49 ?1386次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>之<b class='flag-5'>樸素</b><b class='flag-5'>貝</b><b class='flag-5'>葉</b><b class='flag-5'>斯</b>應(yīng)用教程

    樸素算法的后延概率最大化的認(rèn)識(shí)與理解

    樸素法是基于貝葉斯定理與特征條件獨(dú)立假設(shè)的分類(lèi)方法。最為廣泛的兩種分類(lèi)模型是
    發(fā)表于 11-30 17:11 ?3318次閱讀
    <b class='flag-5'>樸素</b><b class='flag-5'>貝</b><b class='flag-5'>葉</b><b class='flag-5'>斯</b><b class='flag-5'>算法</b>的后延概率最大化的認(rèn)識(shí)與理解

    基于概率的常見(jiàn)分類(lèi)方法--樸素

    本文介紹機(jī)器學(xué)習(xí)中一種基于概率的常見(jiàn)分類(lèi)方法,樸素
    的頭像 發(fā)表于 02-03 14:37 ?5231次閱讀
    基于概率的<b class='flag-5'>常見(jiàn)</b>的<b class='flag-5'>分類(lèi)</b>方法--<b class='flag-5'>樸素</b><b class='flag-5'>貝</b><b class='flag-5'>葉</b><b class='flag-5'>斯</b>

    機(jī)器學(xué)習(xí)樸素

    學(xué)習(xí)過(guò)概率的人一定知道貝葉斯定理,在信息領(lǐng)域內(nèi)有著無(wú)與倫比的地位。算法是基于貝葉斯定理的一類(lèi)算法
    發(fā)表于 05-29 09:01 ?891次閱讀

    數(shù)據(jù)挖掘常用算法

    本視頻主要詳細(xì)介紹了數(shù)據(jù)挖掘常用算法,分別是樸素邏輯
    的頭像 發(fā)表于 04-10 16:32 ?1.3w次閱讀

    決策樹(shù)的結(jié)構(gòu)/優(yōu)缺點(diǎn)/生成

    決策樹(shù)(DecisionTree)是機(jī)器學(xué)習(xí)中一種常見(jiàn)算法,它的思想非常樸素,就像我們平時(shí)利用
    發(fā)表于 03-04 10:11 ?8291次閱讀

    樸素分類(lèi) 樸素算法的優(yōu)點(diǎn)

    樸素方法是在
    的頭像 發(fā)表于 10-02 17:14 ?9311次閱讀

    對(duì)樸素算法原理做展開(kāi)介紹

    在眾多機(jī)器學(xué)習(xí)分類(lèi)算法中,本篇我們提到的樸素
    的頭像 發(fā)表于 01-16 10:11 ?1700次閱讀
    對(duì)<b class='flag-5'>樸素</b><b class='flag-5'>貝</b><b class='flag-5'>葉</b><b class='flag-5'>斯</b><b class='flag-5'>算法</b>原理做展開(kāi)介紹
    主站蜘蛛池模板: 免费黄色网址在线观看| 国产精品熟女人妻| 涩涩网站在线看| 国产人妻精品午夜福利免费不卡 | 日本精油按摩| 国产h视频在线观看免费| 亚洲bt区| 久久婷婷五月免费综合色啪| 97视频在线免费| 日本激情网址| 国产免费高清mv视频在线观看 | 国产亚洲tv在线观看| 野花香HD免费高清版6高清版| 六月婷婷国产精品综合| H揉捏娇喘乳叫床NP调教视频| 手机在线免费观看毛片| 国内高清在线观看视频| 做a爱片的全过程| 区久久AAA片69亚洲| 国产最新精品亚洲2021不卡| 中文字幕福利视频在线一区| 琪琪午夜福利免费院| 国产精品欧美一区二区在线看| 一本久道久久综合婷婷五月| 欧美ZC0O人与善交的最新章节| 国产AV亚洲精品久久久久软件 | 好大好硬好湿再深一点网站| 91福利在线观看| 色男人的天堂久久综合| 精品高潮呻吟99AV无码视频| 99久久99久久久精品齐齐鬼色| 少妇的肉体AA片免费| 久久99精品AV99果冻传媒| GOGOGO高清免费播放| 午夜免费体验30分| 妈妈的职业3完整版在线播放| 单亲妈妈3韩国电影免费观看| 亚洲精品视频免费在线观看| 女仆翻身大作战| 国产精品美女久久久久浪潮AV| 中文字幕精品在线观看|