最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

分享15?個(gè)python中的?Scikit-Learn?技能

 更新時(shí)間:2022年03月03日 10:16:48   作者:Python學(xué)習(xí)與數(shù)據(jù)挖掘  
這篇文章主要介紹了分享15?個(gè)python中的?Scikit-Learn?技能,Scikit-Learn?是一個(gè)非常棒的?python?庫,用于實(shí)現(xiàn)機(jī)器學(xué)習(xí)模型和統(tǒng)計(jì)建模,有降維、特征選擇、特征提取、集成技術(shù)等特征,下文相關(guān)內(nèi)容需要的朋友可以參考一下

前言:

Scikit-Learn 是一個(gè)非常棒的 python 庫,用于實(shí)現(xiàn)機(jī)器學(xué)習(xí)模型和統(tǒng)計(jì)建模。通過它,我們不僅可以實(shí)現(xiàn)各種回歸、分類、聚類的機(jī)器學(xué)習(xí)模型,它還提供了降維、特征選擇、特征提取、集成技術(shù)和內(nèi)置數(shù)據(jù)集的功能。

今天我將詳細(xì)地介紹一下 Scikit-Learn,相信通過本文你會(huì)對(duì)它有更深刻的理解與運(yùn)用,

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

學(xué)習(xí)算法時(shí),我們都希望有一些數(shù)據(jù)集可以練手。Scikit learn 附帶一些非常棒的數(shù)據(jù)集,如iris數(shù)據(jù)集、房價(jià)數(shù)據(jù)集、糖尿病數(shù)據(jù)集等。

這些數(shù)據(jù)集非常容易獲取、同時(shí)也易于理解,你可以直接在其上實(shí)現(xiàn)ML模型,非常適合初學(xué)者。

你可以按如下方式即可獲取:

import sklearn
from sklearn import datasets
import pandas as pd
dataset = datasets.load_iris()
df = pd.DataFrame(dataset.data, columns=dataset.feature_names)

同樣,你可以用同樣的方式導(dǎo)入其他數(shù)據(jù)集。

2、數(shù)據(jù)拆分

Sklearn 提供了拆分?jǐn)?shù)據(jù)集以進(jìn)行訓(xùn)練和測試的功能。拆分?jǐn)?shù)據(jù)集對(duì)于預(yù)測性能的無偏見評(píng)估至關(guān)重要,可以定義訓(xùn)練和測試數(shù)據(jù)集中的數(shù)據(jù)比例。

我們可以按如下方式拆分?jǐn)?shù)據(jù)集:

from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=2, random_state=4)

train_test_split 的幫助下,我們對(duì)數(shù)據(jù)集進(jìn)行了拆分,使得訓(xùn)練集有 80% 的數(shù)據(jù)和測試集有 20% 的數(shù)據(jù)。

3、線性回歸

當(dāng)輸出變量為連續(xù)變量且與因變量呈線性關(guān)系時(shí),使用監(jiān)督機(jī)器學(xué)習(xí)模型,它可以通過分析前幾個(gè)月的銷售數(shù)據(jù)來預(yù)測未來幾個(gè)月的銷售。

借助sklearn,我們可以輕松實(shí)現(xiàn)線性回歸模型,如下所示:

from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
regression_model = LinearRegression()
regression_model.fit(x_train, y_train)
y_predicted = regression_model.predict(x_test)
rmse = mean_squared_error(y_test, y_predicted)
r2 = r2_score(y_test, y_predicted)

首先LinerRegression()創(chuàng)建一個(gè)線性回歸的對(duì)象,然后我們在訓(xùn)練集上擬合模型。最后,我們在測試數(shù)據(jù)集上預(yù)測了模型。 "rmse"和"r_score"可用于檢查模型的準(zhǔn)確性。

4、邏輯回歸

邏輯回歸也是一種監(jiān)督回歸算法,就像線性回歸一樣。唯一的區(qū)別是輸出變量是分類的。它可用于預(yù)測患者是否患有心臟病。

借助 sklearn,我們可以輕松實(shí)現(xiàn) Logistic 回歸模型,如下所示:

from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
logreg = LogisticRegression()
logreg.fit(x_train, y_train)
y_predicted = logreg.predict(x_test)
confusion_matrix = confusion_matrix(y_test, y_pred)
print(confusion_matrix)
print(classification_report(y_test, y_pred))

混淆矩陣和分類報(bào)告用于檢查分類模型的準(zhǔn)確性。

5、決策樹

決策樹是一個(gè)強(qiáng)大的工具,可用于分類和回歸問題。它由根和節(jié)點(diǎn)組成,根代表分裂的決定,節(jié)點(diǎn)代表輸出變量值。當(dāng)因變量與自變量不遵循線性關(guān)系時(shí),決策樹很有用。

用于分類的決策樹實(shí)現(xiàn):

from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import confusion_matrix
from sklearn.tree import export_graphviz
from sklearn.externals.six import StringIO?
from IPython.display import Image?
from pydot import graph_from_dot_data
dt = DecisionTreeClassifier()
dt.fit(x_train, y_train)
dot_data = StringIO()
export_graphviz(dt, out_file=dot_data, feature_names=iris.feature_names)
(graph, ) = graph_from_dot_data(dot_data.getvalue())
y_pred = dt.predict(x_test)

我們使用 DecisionTreeClassifier() 對(duì)象擬合模型,并使用進(jìn)一步的代碼來可視化 Python 中的決策樹實(shí)現(xiàn)。

6、Bagging

Bagging是一種使用訓(xùn)練集中的隨機(jī)樣本訓(xùn)練相同類型的多個(gè)模型的技術(shù)。不同模型的輸入是相互獨(dú)立的。

對(duì)于前一種情況,可以使用多個(gè)決策樹進(jìn)行預(yù)測,而不僅僅是一個(gè)被稱為隨機(jī)森林的決策樹。

7、Boosting

Boosting 多個(gè)模型的訓(xùn)練方式是,一個(gè)模型的輸入取決于前一個(gè)模型的輸出。在 Boosting 中,對(duì)預(yù)測錯(cuò)誤的數(shù)據(jù)給予更多的優(yōu)先權(quán)。

8、隨機(jī)森林

隨機(jī)森林是一種 bagging 技術(shù),它使用成百上千的決策樹來構(gòu)建模型,用于分類和回歸問題。比如:貸款申請人分類、識(shí)別欺詐活動(dòng)和預(yù)測疾病。

在 python 中實(shí)現(xiàn)如下:

from sklearn.ensemble import RandomForestClassifier
num_trees = 100
max_features = 3
clf = RandomForestClassifier(n_estimators=num_trees, max_features=max_features)
clf.fit(x_train,y_train)
y_pred=clf.predict(x_test)
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))

9、XGBoost

XGBoost 是一種提升技術(shù),可提供梯度提升決策樹的高性能實(shí)現(xiàn)。它可以自行處理丟失的數(shù)據(jù),支持正則化并且通常比其他模型給出更準(zhǔn)確的結(jié)果。

在 python 中實(shí)現(xiàn)如下:

from xgboost import XGBClassifier
from sklearn.metrics import mean_squared_error
xgb = XGBClassifier(colsample_bytree = 0.3, learning_rate = 0.1,max_depth = 5, alpha = 10, n_estimators = 10)
xgb.fit(x_train,y_train)
y_pred=xgb.predict(x_test)
rmse = np.sqrt(mean_squared_error(y_test, preds))
print("RMSE: %f" % (rmse))

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

SVM是一種監(jiān)督機(jī)器學(xué)習(xí)算法,通過找到最好的超平面來進(jìn)行分類,它通常被用于許多應(yīng)用程序,例如人臉檢測、郵件分類等。

在 python 中實(shí)現(xiàn)為:

from sklearn import svm
from sklearn import metrics
clf = svm.SVC(kernel='linear')
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))

11、混淆矩陣

混淆矩陣是用于描述分類模型性能的表格。混淆矩陣以如下4項(xiàng)的幫助下進(jìn)行分析:

真陽性(TF)

這意味著模型預(yù)測為正,實(shí)際上為正。

真陰性(TN)

這意味著模型預(yù)測為負(fù),實(shí)際上為負(fù)。

誤報(bào)(FP)

這意味著模型預(yù)測為正,但實(shí)際上為負(fù)。

假陰性(FN)

這意味著模型預(yù)測為負(fù),但實(shí)際上為正。

Python 可以實(shí)現(xiàn)

from sklearn.metrics import confusion_matrix
confusion_matrix = confusion_matrix(y_test, y_pred)
print(confusion_matrix)

12、K-均值聚類

K-Means 聚類是一種用于解決分類問題的無監(jiān)督機(jī)器學(xué)習(xí)算法。無監(jiān)督算法是數(shù)據(jù)集中沒有標(biāo)簽或輸出變量的算法。

在聚類中,數(shù)據(jù)集根據(jù)特征分成不同的組,稱為集群。k-means 聚類有很多應(yīng)用,例如市場分割、文檔聚類、圖像分割。

它可以在python中實(shí)現(xiàn)為:

from sklearn.cluster import KMeans
import statsmodels.api as sm
kmeans = KMeans(3)
means.fit(x)
identified_clusters = kmeans.fit_predict(x)

13、DBSCAN 聚類

DBSCAN 也是一種無監(jiān)督聚類算法,它根據(jù)數(shù)據(jù)點(diǎn)之間的相似性進(jìn)行聚類。 在 DBSCAN 中,只有當(dāng)指定半徑的簇中的點(diǎn)數(shù)最少時(shí),才會(huì)形成簇。

DBSCAN 的優(yōu)勢在于它對(duì)異常值具有魯棒性,即它可以自行處理異常值,這與 k 均值聚類不同。DBSCAN 算法用于創(chuàng)建熱圖、地理空間分析、溫度數(shù)據(jù)中的異常檢測。

它可以實(shí)現(xiàn)為:

from sklearn.cluster import DBSCAN
from sklearn import metrics
from sklearn.preprocessing import StandardScaler
db = DBSCAN(eps=0.3, min_samples=10).fit(X)
core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
core_samples_mask[db.core_sample_indices_] = True
labels = db.labels_
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
print(labels)

14、標(biāo)準(zhǔn)化和規(guī)范化

標(biāo)準(zhǔn)化

標(biāo)準(zhǔn)化是一種縮放技術(shù),我們將屬性的均值設(shè)為 0,將標(biāo)準(zhǔn)差設(shè)為 1,從而使值以具有單位標(biāo)準(zhǔn)差的均值為中心。 它可以做為 X’= (X-μ)/σ

正常化

歸一化是一種使值的范圍從 0 到 1 的技術(shù),它也稱為最小-最大縮放。 歸一化可以通過給定的公式 X= (X -Xmin)/(Xmax-Xmin) 來完成。

from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler

Python 提供了 StandardScaler 函數(shù)用于實(shí)現(xiàn)標(biāo)準(zhǔn)化,MinMaxScaler 函數(shù)用于規(guī)范化。

15、特征提取

特征提取是從數(shù)據(jù)中提取特征的方法。如果將數(shù)據(jù)轉(zhuǎn)換為數(shù)字格式,我們只能將數(shù)據(jù)傳遞給機(jī)器學(xué)習(xí)模型。Scikit-Learn 提供了將文本和圖像轉(zhuǎn)換為數(shù)字的功能。

Bag of Words 和 TF-IDF 是 scikit-learn 提供的自然語言處理中最常用的將單詞轉(zhuǎn)換為數(shù)字的方法。

概括:

這篇文章相信地介紹了scikit-learn 的15個(gè)最重要的特性以及 python 代碼實(shí)現(xiàn)。

到此這篇關(guān)于分享15 個(gè)python中的 Scikit-Learn 技能的文章就介紹到這了,更多相關(guān) Scikit-Learn 技能內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python socket模塊ftp傳輸文件過程解析

    Python socket模塊ftp傳輸文件過程解析

    這篇文章主要介紹了Python socket模塊ftp傳輸文件過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Django頁面數(shù)據(jù)的緩存與使用的具體方法

    Django頁面數(shù)據(jù)的緩存與使用的具體方法

    這篇文章主要介紹了Django頁面數(shù)據(jù)的緩存與使用的具體方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 在Python中用GDAL實(shí)現(xiàn)矢量對(duì)柵格的切割實(shí)例

    在Python中用GDAL實(shí)現(xiàn)矢量對(duì)柵格的切割實(shí)例

    這篇文章主要介紹了在Python中用GDAL實(shí)現(xiàn)矢量對(duì)柵格的切割實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python函數(shù)的高級(jí)應(yīng)用詳解

    python函數(shù)的高級(jí)應(yīng)用詳解

    這篇文章主要為大家介紹了python函數(shù)的高級(jí)應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Python實(shí)現(xiàn)獲取照片的地理定位信息

    Python實(shí)現(xiàn)獲取照片的地理定位信息

    這篇文章主要為大家詳細(xì)介紹了如何使用 Python 的 PIL(Python Imaging Library)庫實(shí)現(xiàn)從 JPEG 圖像中獲取經(jīng)緯度信息,需要的可以參考一下
    2023-05-05
  • 使用OpenCV獲取圖像某點(diǎn)的顏色值,并設(shè)置某點(diǎn)的顏色

    使用OpenCV獲取圖像某點(diǎn)的顏色值,并設(shè)置某點(diǎn)的顏色

    這篇文章主要介紹了使用OpenCV獲取圖像某點(diǎn)的顏色值,并設(shè)置某點(diǎn)的顏色,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 解決python3.x安裝numpy成功但import出錯(cuò)的問題

    解決python3.x安裝numpy成功但import出錯(cuò)的問題

    這篇文章主要介紹了解決python3.x安裝numpy成功但import出錯(cuò)的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 通過實(shí)例解析Python調(diào)用json模塊

    通過實(shí)例解析Python調(diào)用json模塊

    這篇文章主要介紹了通過實(shí)例解析Python調(diào)用json模塊,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python實(shí)現(xiàn)帶參數(shù)與不帶參數(shù)的多重繼承示例

    Python實(shí)現(xiàn)帶參數(shù)與不帶參數(shù)的多重繼承示例

    這篇文章主要介紹了Python實(shí)現(xiàn)帶參數(shù)與不帶參數(shù)的多重繼承,結(jié)合具體實(shí)例形式對(duì)比分析了Python實(shí)現(xiàn)帶參數(shù)與不帶參數(shù)的多重繼承相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • Python協(xié)程的用法和例子詳解

    Python協(xié)程的用法和例子詳解

    這篇文章主要為大家詳細(xì)介紹了Python協(xié)程的用法和例子,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09

最新評(píng)論

雷山县| 松原市| 新民市| 沾化县| 潢川县| 田阳县| 洪湖市| 七台河市| 石屏县| 临武县| 米易县| 晋州市| 丰镇市| 理塘县| 定西市| 育儿| 车致| 西乌珠穆沁旗| 辽中县| 瓦房店市| 红原县| 佛山市| 五台县| 连云港市| 枝江市| 固安县| 上饶县| 松原市| 融水| 秦皇岛市| 定日县| 金平| 贞丰县| 怀安县| 龙州县| 金昌市| 景泰县| 金乡县| 古田县| 突泉县| 鲁甸县|