版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本章目錄01
Scikit-learn概述02Scikit-learn主要用法03Scikit-learn案例1.Scikit-learn概述01
Scikit-learn概述02Scikit-learn主要用法03Scikit-learn案例1.Scikit-learn概述Scikit-learn是基于NumPy、SciPy和Matplotlib的開源Python機器學(xué)習(xí)包,它封裝了一系列數(shù)據(jù)預(yù)處理、機器學(xué)習(xí)算法、模型選擇等工具,是數(shù)據(jù)分析師首選的機器學(xué)習(xí)工具包。自2007年發(fā)布以來,scikit-learn已經(jīng)成為Python重要的機器學(xué)習(xí)庫了,scikit-learn簡稱sklearn,支持包括分類,回歸,降維和聚類四大機器學(xué)習(xí)算法。還包括了特征提取,數(shù)據(jù)處理和模型評估三大模塊。2.Scikit-learn主要用法01
Scikit-learn概述02Scikit-learn主要用法03Scikit-learn案例X_train
|
訓(xùn)練數(shù)據(jù).X_test
|
測試數(shù)據(jù).X
|
完整數(shù)據(jù).符號標(biāo)記2.Scikit-learn主要用法y_train
|
訓(xùn)練集標(biāo)簽.y_test
|
測試集標(biāo)簽.y
|
數(shù)據(jù)標(biāo)簽.2.Scikit-learn主要用法導(dǎo)入工具包fromsklearnimportdatasets,
preprocessingfromsklearn.model_selectionimporttrain_test_splitfromsklearn.linear_modelimportLinearRegressionfromsklearn.metricsimport
r2_score基本建模流程2.Scikit-learn主要用法Scikit-learn支持以NumPy的arrays對象、Pandas對象、SciPy的稀疏矩陣及其他可轉(zhuǎn)換為數(shù)值型arrays的數(shù)據(jù)結(jié)構(gòu)作為其輸入,前提是數(shù)據(jù)必須是數(shù)值型的sklearn.datasets模塊提供了一系列加載和獲取著名數(shù)據(jù)集如鳶尾花、波士頓房價、Olivetti人臉、MNIST數(shù)據(jù)集等的工具,也包括了一些toy
data如S型數(shù)據(jù)等的生成工具fromsklearn.datasetsimportload_irisiris=
load_iris()X=
iris.datay=
iris.target加載數(shù)據(jù)2.Scikit-learn主要用法fromsklearn.model_selectionimporttrain_test_splitX_train,X_test,y_train,y_test=train_test_split(X,y,random_state=12,stratify=y,test_size=0.3)將完整數(shù)據(jù)集的70%作為訓(xùn)練集,30%作為測試集,并使得測試集和訓(xùn)練集中各類別數(shù)據(jù)的比例與原始數(shù)據(jù)集比例一致(stratify分層策略),另外可通過設(shè)置
shuffle=True
提前打亂數(shù)據(jù)數(shù)據(jù)劃分訓(xùn)練集測試集數(shù)據(jù)集2.Scikit-learn主要用法使?Scikit-learn進?數(shù)據(jù)標(biāo)準(zhǔn)化fromsklearn.preprocessingimport
StandardScaler構(gòu)建轉(zhuǎn)換器實例scaler=
StandardScaler()擬合及轉(zhuǎn)換scaler.fit_transform(X_train)數(shù)據(jù)預(yù)處理Z-Score標(biāo)準(zhǔn)化
處理后的數(shù)據(jù)均值為0,方差為12.Scikit-learn主要用法使用Scikit-learn進?數(shù)據(jù)變換數(shù)據(jù)預(yù)處理最小最大標(biāo)準(zhǔn)化One-Hot編碼歸一化二值化(單個特征轉(zhuǎn)換)標(biāo)簽編碼缺失值填補多項式特征生成MinMaxScalerOneHotEncoderNormalizerBinarizerLabelEncoderImputerPolynomialFeatures歸一化(最大-最小規(guī)范化)
將數(shù)據(jù)映射到[0,1]區(qū)間2.Scikit-learn主要用法特征選擇fromsklearnimportfeature_selectionas
fsfs.SelectKBest(score_func,
k)
過濾式(Filter),保留得分排名前k的特征(top
k方式)fs.RFECV(estimator, scoring=“r2”)封裝式(Wrap-per),結(jié)合交叉驗證的遞歸特征消除法,自動選擇最優(yōu)特征個數(shù)
fs.SelectFromModel(estimator)
嵌入式(Embedded),從模型中自動選擇特征,任何具有coef_或者feature_importances_的基模型都可以作為estimator參數(shù)傳入2.Scikit-learn主要用法監(jiān)督學(xué)習(xí)算法-回歸fromsklearn.linear_modelimport
LinearRegression構(gòu)建模型實例lr=
LinearRegression(normalize=True)訓(xùn)練模型lr.fit(X_train,
y_train)作出預(yù)測y_pred=
lr.predict(X_test)
LASSO linear_model.LassoRidge linear_model.RidgeElasticNet linear_model.ElasticNet回歸樹 tree.DecisionTreeRegressor2.Scikit-learn主要用法監(jiān)督學(xué)習(xí)算法-分類fromsklearn.treeimportDecisionTreeClassifierclf=DecisionTreeClassifier(max_depth=5)clf.fit(X_train,
y_train)y_pred=clf.predict(X_test)y_prob=
clf.predict_proba(X_test)使用決策樹分類算法解決二分類問題,
y_prob
為每個樣本預(yù)測為“0”和“1”類的概率1.Scikit-learn概述邏輯回歸支持向量機樸素貝葉斯K近鄰linear_model.LogisticRegressionsvm.SVCnaive_bayes.GaussianNBneighbors.NearestNeighbors監(jiān)督學(xué)習(xí)算法-分類2.Scikit-learn主要用法監(jiān)督學(xué)習(xí)算法-集成學(xué)習(xí)sklearn.ensemble模塊包含了一系列基于集成思想的分類、回歸和離群值檢測方法.fromsklearn.ensembleimportRandomForestClassifierclf=RandomForestClassifier(n_estimators=20)clf.fit(X_train,
y_train)y_pred=clf.predict(X_test)y_prob=
clf.predict_proba(X_test)AdaBoost基于梯度提升ensemble.AdaBoostClassifierensemble.AdaBoostRegressorensemble.GradientBoostingClassifierensemble.GradientBoostingRegressor2.Scikit-learn主要用法無監(jiān)督學(xué)習(xí)算法sklearn.cluster模塊包含了一系列無監(jiān)督聚類算法.fromsklearn.clusterimport
KMeans構(gòu)建聚類實例kmeans=KMeans(n_clusters=3,
random_state=0)擬合kmeans.fit(X_train)預(yù)測kmeans.predict(X_test)2.Scikit-learn主要用法無監(jiān)督學(xué)習(xí)算法-降維sklearn.decomposition模塊包含了一系列無監(jiān)督降維算法fromsklearn.decompositionimportPCA導(dǎo)入PCA庫,設(shè)置主成分數(shù)量為3,n_components代表主成分數(shù)量pca=PCA(n_components=3)訓(xùn)練模型pca.fit(X)投影后各個特征維度的方差比例(這里是三個主成分)print(pca.explained_variance_ratio_)投影后的特征維度的方差print(pca.explained_variance_)2.Scikit-learn主要用法無監(jiān)督學(xué)習(xí)算法-聚類DBSCAN層次聚類譜聚類cluster.DBSCANcluster.AgglomerativeClusteringcluster.SpectralClustering2.Scikit-learn主要用法評價指標(biāo)sklearn.metrics模塊包含了一系列用于評價模型的評分函數(shù)、損失函數(shù)以及成對數(shù)據(jù)的距離度量函數(shù).fromsklearn.metricsimportaccuracy_scoreaccuracy_score(y_true,
y_pred)對于測試集而言,y_test即是y_true,大部分函數(shù)都必須包含真實值y_true和預(yù)測值y_pred.2.Scikit-learn主要用法評價指標(biāo)回歸模型評價metrics.mean_absolute_error()
|平均絕對誤差MAEmetrics.mean_squared_error()
|
均方誤差MSEmetrics.r2_score()
|
決定系數(shù)R2.2.Scikit-learn主要用法評價指標(biāo)分類模型評價metrics.accuracy_score()|正確率
metrics.precision_score()
|
各類精確率
metrics.f1_score()|F1值
metrics.log_loss()
|
對數(shù)損失或交叉熵損失
metrics.confusion_matrix
|
混淆矩陣metrics.classification_report
|含多種評價的分類報告2.Scikit-learn主要用法評價指標(biāo)分類模型評價metrics.accuracy_score()|正確率.metrics.precision_score()
|
各類精確率.metrics.f1_score()|F1值.metrics.log_loss()
|
對數(shù)損失或交叉熵損失.metrics.confusion_matrix
|
混淆矩陣.metrics.classification_report
|含多種評價的分類報告.2.Scikit-learn主要用法交叉驗證及超參數(shù)調(diào)優(yōu)fromsklearn.model_selectionimportcross_val_scoreclf=
DecisionTreeClassifier(max_depth=5)scores=cross_val_score(clf,X_train,y_train,cv=5,
scoring=’f1_weighted’)使用5折交叉驗證對決策樹模型進行評估,使用的評分函數(shù)為F1值sklearn提供了部分帶交叉驗證功能的模型類如LassoCV、LogisticRegressionCV等,這些類包含cv參數(shù)2.Scikit-learn主要用法交叉驗證及超參數(shù)調(diào)優(yōu)超參數(shù)調(diào)優(yōu)?網(wǎng)格搜索fromsklearn.model_selectionimportGridSearchCVfromsklearnimport
svmsvc=
svm.SVC()params={‘kernel’:[‘linear’,‘rbf’],‘C’:[1,10]}grid_search=GridSearchCV(svc,params,cv=5)grid_search.fit(X_train,y_train)grid_search.best_params_在參數(shù)網(wǎng)格上進行窮舉搜索,方法簡單但是搜索速度慢(超參數(shù)較多時),且不容易找到參數(shù)空間中的局部最優(yōu)2.Scikit-learn主要用法交叉驗證及超參數(shù)調(diào)優(yōu)超參數(shù)調(diào)優(yōu)?隨機搜索fromsklearn.model
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安卓工程師招聘面試題回答(某大型國企)2025年附答案
- 牧民周日活動方案策劃(3篇)
- 耐克活動營銷方案策劃(3篇)
- 鋁板吊施工方案(3篇)
- 宣傳火鍋活動方案策劃(3篇)
- 自制隔音施工方案(3篇)
- 五四新穎活動策劃方案(3篇)
- 商業(yè)商城活動策劃方案(3篇)
- 紅薯店活動策劃方案(3篇)
- 中國抗體藥物偶聯(lián)物(ADC)研發(fā)熱點與臨床價值分析
- 教科版九年級物理上冊期末測試卷(1套)
- 高一上學(xué)期期末考試英語試卷及答案兩套(附聽力錄音稿)
- 內(nèi)蒙古自治區(qū)通遼市霍林郭勒市2024屆中考語文最后一模試卷含解析
- 復(fù)方蒲公英注射液的藥代動力學(xué)研究
- 溝通技巧與情商提升
- 2024屆新疆維吾爾自治區(qū)烏魯木齊市高三上學(xué)期第一次質(zhì)量監(jiān)測生物試題【含答案解析】
- 公司基層黨建問題清單
- 福州港羅源灣港區(qū)碧里作業(yè)區(qū)4號泊位擴能改造工程環(huán)境影響報告
- 變配電室送電施工方案
- 八年級物理下冊《滑輪》練習(xí)題及答案-人教版
- 江蘇省建設(shè)工程施工項目部關(guān)鍵崗位人員變更申請表優(yōu)質(zhì)資料
評論
0/150
提交評論