国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【機(jī)器學(xué)習(xí)基礎(chǔ) 3】 sklearn庫

這篇具有很好參考價(jià)值的文章主要介紹了【機(jī)器學(xué)習(xí)基礎(chǔ) 3】 sklearn庫。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、sklearn庫簡介

二、sklearn庫安裝

三、關(guān)于機(jī)器學(xué)習(xí)

四、sklearn庫在機(jī)器學(xué)習(xí)中的應(yīng)用

1、數(shù)據(jù)預(yù)處理

2、特征提取

3、模型選擇與評估

五、常用的sklearn函數(shù)

1、數(shù)據(jù)集劃分

2、特征選擇

3、特征縮放

4、模型訓(xùn)練

5、模型預(yù)測


一、sklearn庫簡介

????????Scikit-learn(簡稱sklearn)是一個(gè)用于機(jī)器學(xué)習(xí)的Python庫,它包含了許多常用的機(jī)器學(xué)習(xí)算法、預(yù)處理技術(shù)、模型選擇和評估工具等,可以方便地進(jìn)行數(shù)據(jù)挖掘和數(shù)據(jù)分析。 Scikit-learn建立在NumPy、SciPy和Matplotlib之上。

二、sklearn庫安裝

pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple/

比如我們要安裝 sklearn 1.1.1版本,那么:
pip install scikit-learn==1.1.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

注意:我們在sklearn庫的學(xué)習(xí)和練習(xí)過程中,所需的 sklearn 版本不一定要最新 or 最好的,因?yàn)槔锩婵赡軙幸恍〇|西在新版本被移除了,比如:load_boston(波士頓房價(jià)數(shù)據(jù))在最新版已被移除,因此建議安裝 sklearn 1.1.1版本

三、關(guān)于機(jī)器學(xué)習(xí)

在認(rèn)識sklearn庫前,我們要知道機(jī)器學(xué)習(xí)一般分為四個(gè)基本的步驟:

????????① 數(shù)據(jù)的收集和準(zhǔn)備 → 包括數(shù)據(jù)的清洗、變換、歸一化和特征提取等操作;

????????② 模型選擇和訓(xùn)練 → 選擇一個(gè)合適的機(jī)器學(xué)習(xí)模型,并使用收集的數(shù)據(jù)對其進(jìn)行訓(xùn)練(什么問題選擇什么模型);

????????③ 模型評估 → 訓(xùn)練完成后對模型在新數(shù)據(jù)上的表現(xiàn)進(jìn)行評估;

????????④ 模型部署和優(yōu)化 → 將模型部署到實(shí)際環(huán)境中,并對其進(jìn)行優(yōu)化,包括壓縮、加速、調(diào)參;

在這四個(gè)步驟中,最寶貴的是數(shù)據(jù)的收集和準(zhǔn)備(一批好的數(shù)據(jù)蠻貴的)。當(dāng)然,在解決機(jī)器學(xué)習(xí)問題中最困難的是② 模型的選擇,不同的模型更適合不同類型的數(shù)據(jù)和不同的問題。

具體可以看下表:(源自官網(wǎng)Choosing the right estimator — scikit-learn 1.2.2 documentation)

【機(jī)器學(xué)習(xí)基礎(chǔ) 3】 sklearn庫

?

四、sklearn庫在機(jī)器學(xué)習(xí)中的應(yīng)用

1、數(shù)據(jù)預(yù)處理

sklearn.preprocessing模塊提供了一些常用的數(shù)據(jù)預(yù)處理函數(shù),如縮放、標(biāo)準(zhǔn)化、二值化等,可以用來對原始數(shù)據(jù)進(jìn)行處理和轉(zhuǎn)換,使其更適合機(jī)器學(xué)習(xí)算法的處理。

例如:

from sklearn import preprocessing
import numpy as np

# 創(chuàng)建一些隨機(jī)數(shù)據(jù)
data = np.random.rand(5, 2)

# 標(biāo)準(zhǔn)化數(shù)據(jù)
scaler = preprocessing.StandardScaler().fit(data)
scaled_data = scaler.transform(data)

print(scaled_data)

樣例輸出:

[[-0.36369316 -0.88624935]
 [ 1.60663227  0.65821309]
 [-0.94306714 -0.8578848 ]
 [ 0.67229355  1.65105326]
 [-0.97216552 -0.56513221]]

2、特征提取

sklearn.feature_extraction模塊提供了一些常用的特征提取函數(shù),如文本特征提取、圖像特征提取等,可以用來從原始數(shù)據(jù)中提取有用的特征,以便用于機(jī)器學(xué)習(xí)算法的處理。

例如:

from sklearn.feature_extraction.text import CountVectorizer

# 創(chuàng)建一些文本數(shù)據(jù)
corpus = [
    'This is the first document.',
    'This is the second second document.',
    'And the third one.',
    'Is this the first document?',
]

# 提取文本特征
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(corpus)

print(X.toarray())

樣例輸出:

[[0 1 1 1 0 0 1 0 1]
 [0 1 0 1 0 2 1 0 1]
 [1 0 0 0 1 0 1 1 0]
 [0 1 1 1 0 0 1 0 1]]

3、模型選擇與評估

sklearn.model_selection模塊提供了一些常用的模型選擇和評估工具,如交叉驗(yàn)證、網(wǎng)格搜索、評估指標(biāo)等,可以用來選擇最優(yōu)的模型和調(diào)整模型參數(shù),以及評估模型的性能。

例如:

from sklearn.model_selection import GridSearchCV
from sklearn import svm, datasets

# 加載數(shù)據(jù)
iris = datasets.load_iris()

# 定義模型和參數(shù)
parameters = {'kernel': ('linear', 'rbf'), 'C': [1, 10]}

svc = svm.SVC()

# 進(jìn)行網(wǎng)格搜索
clf = GridSearchCV(svc, parameters)
clf.fit(iris.data, iris.target)

# 輸出最優(yōu)模型參數(shù)和得分
print(clf.best_params_)
print(clf.best_score_)

樣例輸出:

{'C': 1, 'kernel': 'linear'}
0.9800000000000001

五、常用的sklearn函數(shù)

1、數(shù)據(jù)集劃分

????????函數(shù):train_test_split

????????用途:將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,以便用于模型的訓(xùn)練和評估。

樣例:

from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris

# 加載數(shù)據(jù)集
iris = load_iris()

# 劃分?jǐn)?shù)據(jù)集
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)

print(X_train.shape, X_test.shape, y_train.shape, y_test.shape)

樣例輸出:

(120, 4) (30, 4) (120,) (30,)

2、特征選擇

????????函數(shù):SelectKBest

????????用途:選擇與目標(biāo)變量最相關(guān)的K個(gè)特征,以提高模型的性能和效率。

樣例:

from sklearn.datasets import load_breast_cancer
from sklearn.feature_selection import SelectKBest, f_classif
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

# 加載數(shù)據(jù)集
data = load_breast_cancer()

# 劃分?jǐn)?shù)據(jù)集
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42)

# 特征選擇
selector = SelectKBest(score_func=f_classif, k=10)
X_train_new = selector.fit_transform(X_train, y_train)
X_test_new = selector.transform(X_test)

# 訓(xùn)練模型
clf = SVC()
clf.fit(X_train_new, y_train)

# 評估模型
score = clf.score(X_test_new, y_test)

print("Accuracy:", score)

????????上述示例中,首先加載了一個(gè)乳腺癌數(shù)據(jù)集,然后使用train_test_split函數(shù)將數(shù)據(jù)集劃分為訓(xùn)練集和測試集。接下來,使用SelectKBest函數(shù)進(jìn)行特征選擇,選擇了10個(gè)最相關(guān)的特征,然后將訓(xùn)練集和測試集中的特征向量轉(zhuǎn)換為只包含選擇的特征向量的新特征向量。最后,使用支持向量機(jī)模型訓(xùn)練新的特征向量和目標(biāo)變量,然后使用測試集評估模型性能。

3、特征縮放

????????函數(shù):StandardScaler

????????用途:將特征縮放到均值為0、方差為1的范圍內(nèi),以便提高模型的訓(xùn)練速度和準(zhǔn)確性

?樣例:

from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler

# 加載數(shù)據(jù)集
iris = load_iris()

# 縮放數(shù)據(jù)集
scaler = StandardScaler()
X_scaled = scaler.fit_transform(iris.data)

print(X_scaled[:5])

樣例輸出:

[[-0.90068117  1.01900435 -1.34022653 -1.3154443 ]
 [-1.14301691 -0.13197948 -1.34022653 -1.3154443 ]
 [-1.38535265  0.32841405 -1.39706395 -1.3154443 ]
 [-1.50652052  0.09821729 -1.2833891  -1.3154443 ]
 [-1.02184904  1.24920112 -1.34022653 -1.3154443 ]]

4、模型訓(xùn)練

????????函數(shù):fit

????????用途:對數(shù)據(jù)進(jìn)行訓(xùn)練,以得到一個(gè)機(jī)器學(xué)習(xí)模型。

?樣例:

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier

# 加載數(shù)據(jù)集
iris = load_iris()

# 訓(xùn)練決策樹模型
clf = DecisionTreeClassifier()
clf.fit(iris.data, iris.target)

print(clf)

5、模型預(yù)測

????????函數(shù):predict

????????用途:對新數(shù)據(jù)進(jìn)行預(yù)測,以得到模型的輸出結(jié)果。

樣例:

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier

# 加載數(shù)據(jù)集
iris = load_iris()

# 訓(xùn)練決策樹模型
clf = DecisionTreeClassifier()
clf.fit(iris.data, iris.target)

# 預(yù)測新數(shù)據(jù)
y_pred = clf.predict([[5.1, 3.5, 1.4, 0.2]])

print(y_pred)

輸出:

[0]

?文章來源地址http://www.zghlxwxcb.cn/news/detail-471024.html

到了這里,關(guān)于【機(jī)器學(xué)習(xí)基礎(chǔ) 3】 sklearn庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • sklearn機(jī)器學(xué)習(xí)庫(二)sklearn中的隨機(jī)森林

    sklearn機(jī)器學(xué)習(xí)庫(二)sklearn中的隨機(jī)森林

    集成算法會考慮多個(gè)評估器的建模結(jié)果,匯總之后得到一個(gè)綜合的結(jié)果, 以此來獲取比單個(gè)模型更好的回歸或分類表現(xiàn) 。 多個(gè)模型集成成為的模型叫做集成評估器(ensemble estimator),組成集成評估器的每個(gè)模型都叫做基評估器(base estimator)。通常來說,有三類集成算法:

    2024年02月12日
    瀏覽(22)
  • 機(jī)器學(xué)習(xí)--sklearn(決策樹)

    機(jī)器學(xué)習(xí)--sklearn(決策樹)

    決策樹(Decision Tree)是一種非參數(shù)的有監(jiān)督學(xué)習(xí)方法,它能夠從一系列有特征和標(biāo)簽的數(shù)據(jù)中總結(jié)出決策規(guī)則,并用樹狀圖的結(jié)構(gòu)來呈現(xiàn)這些規(guī)則,以解決分類和回歸問題。 節(jié)點(diǎn) 根節(jié)點(diǎn):沒有進(jìn)邊,有出邊。包含最初的,針對特征的提問。 中間節(jié)點(diǎn):既有進(jìn)邊也有出邊,進(jìn)

    2023年04月18日
    瀏覽(22)
  • 機(jī)器學(xué)習(xí) | sklearn庫

    機(jī)器學(xué)習(xí) | sklearn庫

    目錄 一、樣本及樣本的劃分 1.1 樣本劃分 1.2 劃分樣本的方法 二、導(dǎo)入或創(chuàng)建數(shù)據(jù)集 2.1 導(dǎo)入sklearn自帶的樣本數(shù)據(jù)集 2.2 利用sklearn生成隨機(jī)的數(shù)據(jù)集 2.3 讀入自己創(chuàng)建的數(shù)據(jù)集 三、數(shù)據(jù)預(yù)處理 3.1 數(shù)據(jù)標(biāo)準(zhǔn)化 3.2 sklearn中的數(shù)據(jù)標(biāo)準(zhǔn)化函數(shù) 3.3 正則化函數(shù)Normalizer() 四、數(shù)據(jù)的降

    2024年02月08日
    瀏覽(22)
  • sklearn機(jī)器學(xué)習(xí)思維導(dǎo)圖
  • 機(jī)器學(xué)習(xí)框架sklearn之隨機(jī)森林

    集成學(xué)習(xí)通過建立幾個(gè)模型組合來解決單一預(yù)測問題。它的工作原理是生成多個(gè)分類器/模型,各自獨(dú)立的學(xué)習(xí)和作出預(yù)測。這些預(yù)測最后結(jié)合成組合預(yù)測,因此優(yōu)于任何一個(gè)單分類的做出預(yù)測。 在機(jī)器學(xué)習(xí)中,隨機(jī)森林是一個(gè)包含多個(gè)決策樹的分類器,并且其輸出的類別是

    2023年04月22日
    瀏覽(20)
  • 仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡介與ROS基礎(chǔ)】

    仿真機(jī)器人-深度學(xué)習(xí)CV和激光雷達(dá)感知(項(xiàng)目2)day03【機(jī)器人簡介與ROS基礎(chǔ)】

    ??你好,我是辰chen,本文旨在準(zhǔn)備考研復(fù)試或就業(yè) ??本文內(nèi)容是我為復(fù)試準(zhǔn)備的第二個(gè)項(xiàng)目 ??歡迎大家的關(guān)注,我的博客主要關(guān)注于考研408以及AIoT的內(nèi)容 ?? 預(yù)置知識:基本Python語法,基本linux命令行使用 以下的幾個(gè)專欄是本人比較滿意的專欄 (大部分專欄仍在持續(xù)更新

    2024年01月19日
    瀏覽(22)
  • 頭歌機(jī)器學(xué)習(xí)---sklearn中的kNN算法

    第1關(guān)?使用sklearn中的kNN算法進(jìn)行分類 第2關(guān)?使用sklearn中的kNN算法進(jìn)行回歸

    2024年02月06日
    瀏覽(22)
  • 【機(jī)器學(xué)習(xí)sklearn】第二節(jié):線性回歸和線性分類

    【機(jī)器學(xué)習(xí)sklearn】第二節(jié):線性回歸和線性分類

    作者 ????♂?:讓機(jī)器理解語言か ? 專欄 ??:機(jī)器學(xué)習(xí)sklearn 描述 ??:本專欄主要分享博主學(xué)習(xí)機(jī)器學(xué)習(xí)的筆記和一些心得體會。 寄語 ??:??沒有白走的路,每一步都算數(shù)!??? ????????監(jiān)督學(xué)習(xí)(英語:Supervised learning)是機(jī)器學(xué)習(xí)中最為常見、應(yīng)用最為廣泛的

    2023年04月26日
    瀏覽(22)
  • 猿創(chuàng)征文|Python-sklearn機(jī)器學(xué)習(xí)之旅:我的第一個(gè)機(jī)器學(xué)習(xí)實(shí)戰(zhàn)項(xiàng)目

    目錄 前言 一、從目的出發(fā) 1.導(dǎo)入數(shù)據(jù) 二、項(xiàng)目開啟 1.導(dǎo)入數(shù)據(jù)

    2024年01月24日
    瀏覽(100)
  • 【機(jī)器學(xué)習(xí)】分類器性能度量——混淆矩陣及sklearn實(shí)現(xiàn)

    【機(jī)器學(xué)習(xí)】分類器性能度量——混淆矩陣及sklearn實(shí)現(xiàn)

    記錄一下混淆矩陣的學(xué)習(xí)心得,不寫下來老是容易搞混.. 機(jī)器學(xué)習(xí)中,考量二分類問題的分類器性能時(shí),可以將樣本的實(shí)際類別與分類器預(yù)測類別,劃分為如下 TN, FP, FN, TP 四種結(jié)果,組合起來就是大名鼎鼎的 confusion matrix 混淆矩陣。其中: True,F(xiàn)alse 表示預(yù)測結(jié)果與實(shí)際分類

    2024年02月10日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包