自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

機(jī)器學(xué)習(xí):使用 Python 進(jìn)行分類

人工智能 機(jī)器學(xué)習(xí) 后端
機(jī)器學(xué)習(xí)(ML)就是,分析一組數(shù)據(jù)以預(yù)測結(jié)果。Python 被認(rèn)為是 ML 的最佳編程語言選擇之一。在本文中,我們將討論使用 Python 進(jìn)行分類的機(jī)器學(xué)習(xí)。

假設(shè)你想教孩子區(qū)分蘋果和橙子。有多種方法可以做到這一點(diǎn)。你可以讓孩子觸摸這兩種水果,讓他們熟悉形狀和柔軟度。你還可以向她展示蘋果和橙子的多個(gè)例子,以便他們可以直觀地發(fā)現(xiàn)差異。這個(gè)過程的技術(shù)等價(jià)物被稱為機(jī)器學(xué)習(xí)。

機(jī)器學(xué)習(xí)教計(jì)算機(jī)解決特定問題,并通過經(jīng)驗(yàn)變得更好。這里討論的示例是一個(gè)分類問題,其中機(jī)器被賦予各種標(biāo)記示例,并期望使用它從標(biāo)記樣本中獲得的知識來對未標(biāo)記樣本進(jìn)行標(biāo)記。機(jī)器學(xué)習(xí)問題也可以采用回歸的形式,其中期望根據(jù)已知樣本及其解決方案來預(yù)測給定問題的實(shí)值real-valued解決方案。分類Classification和回歸Regression被廣泛稱為監(jiān)督學(xué)習(xí)supervised learning。機(jī)器學(xué)習(xí)也可以是無監(jiān)督unsupervised的,機(jī)器識別未標(biāo)記數(shù)據(jù)中的模式,并形成具有相似模式的樣本集群。機(jī)器學(xué)習(xí)的另一種形式是強(qiáng)化學(xué)習(xí)reinforcement learning,機(jī)器通過犯錯(cuò)從環(huán)境中學(xué)習(xí)。

分類

分類是根據(jù)從已知點(diǎn)獲得的信息來預(yù)測一組給定點(diǎn)的標(biāo)簽的過程。與一個(gè)數(shù)據(jù)集相關(guān)的類別或標(biāo)簽可以是二元的,也可以是多元的。舉例來說,如果我們必須給與一個(gè)句子相關(guān)的情緒打上標(biāo)簽,我們可以把它標(biāo)記為正面、負(fù)面或中性。另一方面,我們必須預(yù)測一個(gè)水果是蘋果還是橘子的問題將有二元標(biāo)簽。表
1 給出了一個(gè)分類問題的樣本數(shù)據(jù)集。

在該表中,最后一列的值,即貸款批準(zhǔn),預(yù)計(jì)將基于其他變量進(jìn)行預(yù)測。在接下來的部分中,我們將學(xué)習(xí)如何使用 Python 訓(xùn)練和評估分類器。

年齡

信用等級

工作

擁有房產(chǎn)

貸款批準(zhǔn)

35

32

22

一般

42

表 1

訓(xùn)練和評估分類器

為了訓(xùn)練分類器classifier,我們需要一個(gè)包含標(biāo)記示例的數(shù)據(jù)集。盡管本節(jié)不涉及清理數(shù)據(jù)的過程,但建議你在將數(shù)據(jù)集輸入分類器之前閱讀各種數(shù)據(jù)預(yù)處理和清理技術(shù)。為了在 Python 中處理數(shù)據(jù)集,我們將導(dǎo)入 ??pandas?? 包和數(shù)據(jù)幀DataFrame結(jié)構(gòu)。然后,你可以從多種分類算法中進(jìn)行選擇,例如決策樹decision tree、支持向量分類器support vector classifier、隨機(jī)森林random forest、XG boost、ADA boost 等。我們將看看隨機(jī)森林分類器,它是使用多個(gè)決策樹形成的集成分類器。

    from sklearn.ensemble import RandomForestClassifier
from sklearn import metrics

classifier = RandomForestClassifier()

#creating a train-test split with a proportion of 70:30
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)

classifier.fit(X_train, y_train) # 在訓(xùn)練集上訓(xùn)練分類器

y_pred = classifier.predict(X_test) # 用未知數(shù)據(jù)評估分類器

print("Accuracy: ", metrics.accuracy_score(y_test, y_pred)) # 用測試計(jì)劃中的實(shí)際值比較準(zhǔn)確率

雖然這個(gè)程序使用準(zhǔn)確性作為性能指標(biāo),但應(yīng)該使用多種指標(biāo)的組合,因?yàn)楫?dāng)測試集不平衡時(shí),準(zhǔn)確性往往會(huì)產(chǎn)生非代表性的結(jié)果。例如,如果模型對每條記錄都給出了相同的預(yù)測,而用于測試模型的數(shù)據(jù)集是不平衡的,即數(shù)據(jù)集中的大多數(shù)記錄與模型預(yù)測的類別相同,我們就會(huì)得到很高的準(zhǔn)確率。

調(diào)整分類器

調(diào)優(yōu)是指修改模型的超參數(shù)hyperparameter值以提高其性能的過程。超參數(shù)是可以改變其值以改進(jìn)算法的學(xué)習(xí)過程的參數(shù)。

以下代碼描述了隨機(jī)搜索超參數(shù)調(diào)整。在此,我們定義了一個(gè)搜索空間,算法將從該搜索空間中選擇不同的值,并選擇產(chǎn)生最佳結(jié)果的那個(gè):

    from sklearn.model_selection import RandomizedSearchCV
#define the search space
min_samples_split = [2, 5, 10]
min_samples_leaf = [1, 2, 4]
grid = {‘min_samples_split’ : min_samples_split, ‘min_samples_leaf’ : min_samples_leaf}
classifier = RandomizedSearchCV(classifier, grid, n_iter = 100)
# n_iter 代表從搜索空間提取的樣本數(shù)
# result.best_score 和 result.best_params_ 可以用來獲得模型的最佳性能,以及參數(shù)的最佳值
classifier.fit(X_train, y_train)

投票分類器

你也可以使用多個(gè)分類器和它們的預(yù)測來創(chuàng)建一個(gè)模型,根據(jù)各個(gè)預(yù)測給出一個(gè)預(yù)測。這個(gè)過程(只考慮為每個(gè)預(yù)測投票的分類器的數(shù)量)被稱為硬投票。軟投票是一個(gè)過程,其中每個(gè)分類器產(chǎn)生一個(gè)給定記錄屬于特定類別的概率,而投票分類器產(chǎn)生的預(yù)測是獲得最大概率的類別。

下面給出了一個(gè)創(chuàng)建軟投票分類器的代碼片段:

    soft_voting_clf = VotingClassifier(
estimators=[(‘rf’, rf_clf), (‘a(chǎn)da’, ada_clf), (‘xgb’, xgb_clf), (‘et’, et_clf), (‘gb’, gb_clf)],
voting=’soft’)
soft_voting_clf.fit(X_train, y_train)

這篇文章總結(jié)了分類器的使用,調(diào)整分類器和結(jié)合多個(gè)分類器的結(jié)果的過程。請將此作為一個(gè)參考點(diǎn),詳細(xì)探討每個(gè)領(lǐng)域。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2022-08-15 15:16:20

機(jī)器學(xué)習(xí)圖片深度學(xué)習(xí)

2022-06-09 09:14:31

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

2020-02-03 08:00:00

機(jī)器學(xué)習(xí)人工智能AI

2019-09-30 10:12:21

機(jī)器學(xué)習(xí)數(shù)據(jù)映射

2018-06-14 14:05:48

機(jī)器學(xué)習(xí)大數(shù)據(jù)卡通上色

2022-10-30 15:00:40

小樣本學(xué)習(xí)數(shù)據(jù)集機(jī)器學(xué)習(xí)

2024-10-30 16:59:57

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

2023-02-06 18:28:09

機(jī)器學(xué)習(xí)模型

2018-01-04 13:07:43

Python機(jī)器學(xué)習(xí)情感分析

2017-06-22 09:53:01

機(jī)器學(xué)習(xí)Python樸素貝葉斯

2022-02-13 00:27:34

機(jī)器學(xué)習(xí)數(shù)字隱私技術(shù)

2021-03-10 14:21:33

人工智能機(jī)器學(xué)習(xí)算法

2019-01-23 11:45:47

機(jī)器學(xué)習(xí)人工智能機(jī)器人

2020-12-24 06:54:45

Python機(jī)器學(xué)習(xí)多類分類邏輯回歸

2017-09-17 23:14:41

機(jī)器學(xué)習(xí)人工智能設(shè)計(jì)

2022-09-20 23:42:15

機(jī)器學(xué)習(xí)Python數(shù)據(jù)集

2020-12-25 15:24:24

人工智能

2016-01-11 10:44:38

惡意軟件惡意軟件分析

2024-04-17 08:00:00

2021-06-17 10:27:03

人工智能AI機(jī)器學(xué)習(xí)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號