31、scikit-learn常見(jiàn)的5個(gè)機(jī)器學(xué)習(xí)監(jiān)督分類(lèi)算法

您不需要了解并使用scikit-learn中的所有算法,至少在開(kāi)始時(shí),選擇一個(gè)或兩個(gè)(或少數(shù))并僅使用這些算法。

在這篇文章中,您將看到5個(gè)監(jiān)督分類(lèi)算法應(yīng)用于scikit-learn庫(kù)提供的小標(biāo)準(zhǔn)數(shù)據(jù)集。

Logistic回歸

Logistic回歸將邏輯模型與數(shù)據(jù)擬合,并對(duì)事件的概率(0到1之間)進(jìn)行預(yù)測(cè)。

該配方顯示了邏輯回歸模型與鳶尾花數(shù)據(jù)集的擬合。因?yàn)檫@是一個(gè)多類(lèi)分類(lèi)問(wèn)題,邏輯回歸使得預(yù)測(cè)在0和1之間,所以使用了一對(duì)一方案(每個(gè)類(lèi)一個(gè)模型)。

# Logistic Regression
from sklearn import datasets
from sklearn import metrics
from sklearn.linear_model import LogisticRegression
# load the iris datasets
dataset = datasets.load_iris()
# fit a logistic regression model to the data
model = LogisticRegression()
model.fit(dataset.data, dataset.target)
print(model)
# make predictions
expected = dataset.target
predicted = model.predict(dataset.data)
# summarize the fit of the model
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

樸素貝葉斯

樸素貝葉斯使用貝葉斯定理來(lái)模擬每個(gè)屬性與類(lèi)變量的條件關(guān)系。

該方法顯示了樸素貝葉斯模型與鳶尾花數(shù)據(jù)集的擬合。

# Gaussian Naive Bayes
from sklearn import datasets
from sklearn import metrics
from sklearn.naive_bayes import GaussianNB
# load the iris datasets
dataset = datasets.load_iris()
# fit a Naive Bayes model to the data
model = GaussianNB()
model.fit(dataset.data, dataset.target)
print(model)
# make predictions
expected = dataset.target
predicted = model.predict(dataset.data)
# summarize the fit of the model
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

k-最近鄰

k-最近鄰(kNN)方法通過(guò)將類(lèi)似情況定位到給定數(shù)據(jù)實(shí)例(使用相似性函數(shù))并返回最相似數(shù)據(jù)實(shí)例的平均或大部分來(lái)進(jìn)行預(yù)測(cè)。kNN算法可用于分類(lèi)或回歸。

該配方顯示了使用kNN模型對(duì)鳶尾花數(shù)據(jù)集進(jìn)行預(yù)測(cè)。

# k-Nearest Neighbor
from sklearn import datasets
from sklearn import metrics
from sklearn.neighbors import KNeighborsClassifier
# load iris the datasets
dataset = datasets.load_iris()
# fit a k-nearest neighbor model to the data
model = KNeighborsClassifier()
model.fit(dataset.data, dataset.target)
print(model)
# make predictions
expected = dataset.target
predicted = model.predict(dataset.data)
# summarize the fit of the model
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

分類(lèi)和回歸樹(shù)

分類(lèi)和回歸樹(shù)(CART)是通過(guò)進(jìn)行分割來(lái)構(gòu)建的,這些分割可以最好地分離正在進(jìn)行的類(lèi)或預(yù)測(cè)的數(shù)據(jù)。CART算法可用于分類(lèi)或回歸。

此配方顯示使用CART模型對(duì)鳶尾花數(shù)據(jù)集進(jìn)行預(yù)測(cè)。

# Decision Tree Classifier
from sklearn import datasets
from sklearn import metrics
from sklearn.tree import DecisionTreeClassifier
# load the iris datasets
dataset = datasets.load_iris()
# fit a CART model to the data
model = DecisionTreeClassifier()
model.fit(dataset.data, dataset.target)
print(model)
# make predictions
expected = dataset.target
predicted = model.predict(dataset.data)
# summarize the fit of the model
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

支持向量機(jī)

支持向量機(jī)(SVM)是一種在轉(zhuǎn)換后的問(wèn)題空間中使用點(diǎn)的方法,它最好將類(lèi)分成兩組。一對(duì)一方法支持多個(gè)類(lèi)的分類(lèi)。SVM還通過(guò)使用最小允許誤差量對(duì)函數(shù)建模來(lái)支持回歸。

該配方顯示了使用SVM模型對(duì)鳶尾花數(shù)據(jù)集進(jìn)行預(yù)測(cè)。

# Support Vector Machine
from sklearn import datasets
from sklearn import metrics
from sklearn.svm import SVC
# load the iris datasets
dataset = datasets.load_iris()
# fit a SVM model to the data
model = SVC()
model.fit(dataset.data, dataset.target)
print(model)
# make predictions
expected = dataset.target
predicted = model.predict(dataset.data)
# summarize the fit of the model
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容