1. 程式人生 > >sklearn學習筆記 三 整合方法AdaBoost

sklearn學習筆記 三 整合方法AdaBoost

sklearn.ensemble模組提供了很多整合方法,AdaBoost、Bagging、隨機森林等。本文使用的是AdaBoostClassifier。

AdaBoostClassifier這個函式,一共有5個引數:

引數說明如下:

  • base_estimator:可選引數,預設為DecisionTreeClassifier。理論上可以選擇任何一個分類或者回歸學習器,不過需要支援樣本權重。我們常用的一般是CART決策樹或者神經網路MLP。預設是決策樹,即AdaBoostClassifier預設使用CART分類樹DecisionTreeClassifier,而AdaBoostRegressor預設使用CART迴歸樹DecisionTreeRegressor。另外有一個要注意的點是,如果我們選擇的AdaBoostClassifier演算法是SAMME.R,則我們的弱分類學習器還需要支援概率預測,也就是在scikit-learn中弱分類學習器對應的預測方法除了predict還需要有predict_proba。
  • algorithm:可選引數,預設為SAMME.R。scikit-learn實現了兩種Adaboost分類演算法,SAMME和SAMME.R。兩者的主要區別是弱學習器權重的度量,SAMME使用對樣本集分類效果作為弱學習器權重,而SAMME.R使用了對樣本集分類的預測概率大小來作為弱學習器權重。由於SAMME.R使用了概率度量的連續值,迭代一般比SAMME快,因此AdaBoostClassifier的預設演算法algorithm的值也是SAMME.R。我們一般使用預設的SAMME.R就夠了,但是要注意的是使用了SAMME.R, 則弱分類學習器引數base_estimator必須限制使用支援概率預測的分類器。SAMME演算法則沒有這個限制。
  • n_estimators:整數型,可選引數,預設為50。弱學習器的最大迭代次數,或者說最大的弱學習器的個數。一般來說n_estimators太小,容易欠擬合,n_estimators太大,又容易過擬合,一般選擇一個適中的數值。預設是50。在實際調參的過程中,我們常常將n_estimators和下面介紹的引數learning_rate一起考慮。
  • learning_rate:浮點型,可選引數,預設為1.0。每個弱學習器的權重縮減係數,取值範圍為0到1,對於同樣的訓練集擬合效果,較小的v意味著我們需要更多的弱學習器的迭代次數。通常我們用步長和迭代最大次數一起來決定演算法的擬合效果。所以這兩個引數n_estimators和learning_rate要一起調參。一般來說,可以從一個小一點的v開始調參,預設是1。
  • random_state:整數型,可選引數,預設為None。如果RandomState的例項,random_state是隨機數生成器; 如果None,則隨機數生成器是由np.random使用的RandomState例項

Methods

Compute the decision function of X.
fit(X, y[, sample_weight])Build a boosted classifier from the training set (X, y).
Get parameters for this estimator.
Predict classes for X.
Predict class log-probabilities for X.
Predict class probabilities for X.
score(X, y[, sample_weight])Returns the mean accuracy on the given test data and labels.
Set the parameters of this estimator.
Compute decision function of X for each boosting iteration.
Return staged predictions for X.
Predict class probabilities for X.
staged_score(X, y[, sample_weight])Return staged scores for X, y.
(1)decision_function(X)

Compute the decision function of X.

Parameters:

X : {array-like, sparse matrix} of shape = [n_samples, n_features]

The training input samples. Sparse matrix can be CSC, CSR, COO,DOK, or LIL. DOK and LIL are converted to CSR.

Returns:

score : array, shape = [n_samples, k]

The decision function of the input samples. The order ofoutputs is the same of that of the classes_ attribute.Binary classification is a special cases with k == 1,otherwise k==n_classes. For binary classification,values closer to -1 or 1 mean more like the first or secondclass in classes_, respectively.

decision_function(X)

    
計算X的決定函式。
    
引數:

    
X:shape = [n_samples,n_features]的{陣列狀,稀疏矩陣}

        
訓練輸入樣本。稀疏矩陣可以是CSC,CSR,COO,DOK或LIL。 DOK和LIL被轉換為CSR。

    
返回:

    
score:array,shape = [n_samples,k]

輸入樣本的決策功能。輸出的順序與classes_屬性的順序相同。二元分類是k == 1的特殊情況,否則是k == n_classes。對於二元分類,接近-1或1的值分別意味著更類似於classes_中的第一個或第二個類。

(2)fit(X, y, sample_weight=None)

Build a boosted classifier from the training set (X, y).

Parameters:

X : {array-like, sparse matrix} of shape = [n_samples, n_features]

The training input samples. Sparse matrix can be CSC, CSR, COO,DOK, or LIL. DOK and LIL are converted to CSR.

y : array-like of shape = [n_samples]

The target values (class labels).

sample_weight : array-like of shape = [n_samples], optional

Sample weights. If None, the sample weights are initialized to1 / n_samples.

Returns:

self : object

Returns self.

fit(X,y,sample_weight =無)

    
從訓練集(X,y)中構建一個助推分類器。
    
引數:

    
X:shape = [n_samples,n_features]的{陣列狀,稀疏矩陣}

        
訓練輸入樣本。稀疏矩陣可以是CSC,CSR,COO,DOK或LIL。 DOK和LIL被轉換為CSR。

    
y:陣列 - 像shape = [n_samples]

        
目標值(類標籤)。

    
sample_weight:類似於shape = [n_samples]的陣列,可選

        
樣品重量。如果無,則樣本權重將初始化為1 / n_samples。

    
返回:

    
自我:物件

返回自我。

(3) predict(X)

Predict classes for X.

The predicted class of an input sample is computed as the weighted meanprediction of the classifiers in the ensemble.

Parameters:

X : {array-like, sparse matrix} of shape = [n_samples, n_features]

The training input samples. Sparse matrix can be CSC, CSR, COO,DOK, or LIL. DOK and LIL are converted to CSR.

Returns:

y : array of shape = [n_samples]

The predicted classes.

預測(X)

    
預測X的類。

    
輸入樣本的預測類別被計算為集合中分類器的加權平均預測。
    
引數:

    
X:shape = [n_samples,n_features]的{陣列狀,稀疏矩陣}

        
訓練輸入樣本。稀疏矩陣可以是CSC,CSR,COO,DOK或LIL。 DOK和LIL被轉換為CSR。

    
返回:

    
y:形狀陣列= [n_samples]

        
預測的類。

相關推薦

sklearn學習筆記 整合方法AdaBoost

sklearn.ensemble模組提供了很多整合方法,AdaBoost、Bagging、隨機森林等。本文使用的是AdaBoostClassifier。AdaBoostClassifier這個函式,一共有5個引數:引數說明如下:base_estimator:可選引數,預設為D

Java設計模式學習筆記() 工廠方法模式

前言 本篇是設計模式學習筆記的其中一篇文章,如對其他模式有興趣,可從該地址查詢設計模式學習筆記彙總地址 1. 簡介 上一篇部落格介紹了簡單工廠模式,簡單工廠模式存在一個很嚴重的問題: 就是當系統需要引入新產品時,由於靜態工廠方法通過所傳入引數的不同來建立不同的產品,這必定要修改工廠類的原始碼,這將違背&quo

csdn學習筆記:meta元表、元方法 __index, __newindex、rawset、rawget

重要:在表和元表的__index 和 __newindex 都沒有需要操作的key時,賦值table操作會呼叫__newindex, 取值操作會呼叫__index    元表設定setmetatable t1 = {}; t2 = {}; print("t1=",

《C語言程式設計:現代方法(第2版)(K.N.King 著)》學習筆記:C語言基本概念(2)

2.3 註釋 每一個程式都應該包含識別資訊,即程式名、編寫日期、作者、程式的用途以及其他相關資訊。C語言把這類資訊放在註釋(comment)中。 符號 /* 標記註釋的開始,而符號 */ 則標記註釋

csdn學習筆記:meta元表、元方法 __index, __newindex、rawset、rawget

重要:在表和元表的__index 和 __newindex 都沒有需要操作的key時,賦值table操作會呼叫__newindex, 取值操作會呼叫__index  元表設定setmetatable t1 = {}; t2 = {}; print("t1=",t1);

OpenGL學習筆記()---FreeImage顏色顯示錯亂的解決方法

一、簡介      看Nehe的教程學習OpenGL看到載入圖片時用到了FreeImage,跟著寫了下,發現圖片顏色是錯亂的。 如圖: 除錯的時候發現自己的少了一段程式碼: if ((imageType == FIT_BITMAP) && (Free

jvm學習筆記()類檔案結構、java方法數65535上限的原因

瞭解class類檔案結構,對於學習smali也是有必要的!一、class類檔案的結構(8位位元組,一個位元組佔8位,以位元組為基礎單位的二進位制流)儲存結構:class檔案是一組以位元組(8位)為基礎單位的二進位制流,各資料嚴格按照順序緊湊排列在class檔案中,中間沒有任何

kafka學習筆記()spring boot整合kafka0.9.0.1(使用配置類)

spring boot 版本:1.5.6引入關於kafka的相關jar         <dependency>          <groupId>org.springframework.kafka</groupI

2016-8-5 Unity學習筆記(常用方法

1.Destory內容 Destory方法 可刪除所有繼承自 Object 類的元件 使用方法: Destory(gameObject); Destor

Linux學習筆記():系統執行級與執行級的切換

查看 用戶操作 回車 water hat ntsysv tde 文件表 config 1.Linux系統與其它的操作系統不同,它設有執行級別。該執行級指定操作系統所處的狀態。Linux系統在不論什麽時候都執行於某個執行級上,且在不同的執行級上執行的程序和服務都不同,所要

【Unity 3D】學習筆記十:遊戲元素——遊戲地形

nbsp 3d遊戲 strong 直觀 分辨率 == 摩擦力 fill 世界 遊戲地形 在遊戲的世界中,必然會有非常多豐富多彩的遊戲元素融合當中。它們種類繁多。作用也不大同樣。一般對於遊戲元素可分為兩種:經經常使用。不經經常使用。經常使用的元素是遊戲中比較重要的元素。一

Sklearn學習筆記

kernel alt min res clu png .com ear gre 主要記python工具包sklearn的學習內容: 鏈接點擊這裏。 一、Regression   1.1. Generalized Linear Models   1.2. Line

MYSQL學習筆記:日期和時間函數

div content minute name top fonts table hmm 指定 MYSQL學習筆記三:日期和時間函數 1. 獲取當前日期的函數和獲取當前時間的函數 /*獲取當前日期的函數和獲取當前時間的函數。將日期以‘YYYY-MM-DD‘或者’YYYYM

Hadoop權威指南學習筆記

支持 第三方 handle line src factory 模式 多個 重要 HDFS簡單介紹 聲明:本文是本人基於Hadoop權威指南學習的一些個人理解和筆記,僅供學習參考。有什麽不到之處還望指出,一起學習一起進步。 轉載請註明:http://blog.cs

NLTK學習筆記():NLTK的一些工具

ast 關註 code 值範圍 通過 自動 ive 叠代器 emma 主要總結一下簡單的工具:條件頻率分布、正則表達式、詞幹提取器和歸並器。 條件分布頻率 《自然語言學習》很多地方都用到了條件分布頻率,nltk提供了兩種常用的接口:FreqDist 和 Condit

Tomcat學習筆記()

containe 請求 container connect 技術 http 簡單 img 容器 Tomcat連接器 tomcat連接器是tomcat的一個核心組件,在tomcat4中的實現原理如下 1.實現Connector接口 2.創建Reques

mybatis學習筆記()-- 優化數據庫連接配置

bsp pro 新建 數據 配置信息 onf ron XML oca 原來直接把數據庫連接配置信息寫在conf.xml配置中,如下 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configura

Odoo10學習筆記:模型(結構化的應用數據)、視圖(用戶界面設計)

其他 描述 用戶界面 列表 支持 字段 界面設計 允許 學習 一:模型 1:創建模型 模型屬性:模型類可以使用一些屬性來控制它們的一些行為: _name :創建odoo模型的內部標識符,必含項。 _description :當用戶界面顯示模型時,一個方便用戶的模型記錄標題。

tensorflow學習筆記():實現自編碼器

sea start ear var logs cos soft 編碼 red 黃文堅的tensorflow實戰一書中的第四章,講述了tensorflow實現多層感知機。Hiton早年提出過自編碼器的非監督學習算法,書中的代碼給出了一個隱藏層的神經網絡,本人擴展到了多層,改進

CSS學習筆記:自定義單選框,復選框,開關

sla checked 移動 transform 第一個 16px 位移 block back 一點一點學習CCS,這次學習了如何自定義單選框,復選框以及開關。 一、單選框 1、先寫好body裏面的樣式,先寫幾個框 1 <body> 2 <d