色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是集成學習算法-1

汽車電子技術 ? 來源:Python數據分析之旅 ? 作者:cauwfq ? 2023-02-24 16:37 ? 次閱讀

pYYBAGP4ddOASnWvAAFVu-TyjY8864.png

一.集成學習簡介

簡介:構建并結合多個學習器來完成任務
圖解:

poYBAGP4deSAEp17AACDUkRVfyY532.png
按照個體學習器劃分分類:
   (1)同質集成:只包含同種類型算法,比如決策樹集成全是決策樹
   (2)異質集成:包含不同種類型算法,比如同時包含神經網絡和決策樹
按照運行方式分類:
   (1)并行運行:bagging
   (2)串行運行:boosting

二.Bagging

簡介:并行式集成學習方法
采樣方法:自助采樣法。假設采集m個樣本,我們先采集一個樣本然后將其放回初始樣本,下次有可能再次采集到,如此重復采集m次即可
思想:并聯形式,可以快速得到各個基礎模型,它們之間互不干擾,并且使用相同參數,只是輸入不同。對于回歸算法求平均,對于分類算法進行投票法
代表性算法:隨機森林
偏差-方差角度:由于是基于泛化性能比較強的學習器來構建很強的集成,降低方差
圖解:

poYBAGP4dgiASxxBAADi6XNfTsE611.png

三.Boosting

簡介:串行式集成學習方法
思想:對于訓練集中的每個樣本建立權值wi,對于分類錯誤樣本會在下一輪的分類中獲得更大的權重,也就是說每次新的計算結果都要利用上次返回的結果,如此迭代循環往復
代表性算法:AdaBoost和GBDT
偏差-方差角度:由于是基于泛化性能比較弱的學習器來構建很強的集成,降低偏差
圖解:

poYBAGP4dieASa51AAEbUWV5gog311.png

四.Bagging與Boosting區別

1.樣本選擇
  Bagging采取Bootstraping的是隨機有放回的取樣
  Boosting的每一輪訓練的樣本是固定的,改變的是每個樣本的權重
2.樣本權重
  Bagging采取的是均勻取樣,且每個樣本的權重相同
  Boosting根據錯誤率調整樣本權重,錯誤率越大的樣本權重會變大
3.預測函數
  Bagging預測函數權值相同
  Boosting中誤差越小的預測函數其權值越大
4.并行計算
  Bagging 的各個預測函數可以并行生成
  Boosting的各個預測函數必須按照順序迭代生成

五.預測居民收入

項目背景:該數據從美國1994年人口普查數據庫抽取而來,可以用來預測居民收入是否超過50K/year。該數據集類變量為年收入是否超過,屬性變量包含年齡,工種,學歷,職業,人種等重要信息,14個屬性變量中有7個類別型變量
import pandas as pd
import numpy as np
import seaborn as sns
%matplotlib inline

#讀取文件
data_train=pd.read_csv('./income_census_train.csv')
#查看數據
data_train.head()

poYBAGP4dkuABjN6AADrj2iSIdQ359.png

#數據查看與處理

#數值型特征的描述與相關總結
data_train.describe()

poYBAGP4dmmAD7FWAAExEk23c9E472.png
#非數值型
data_train.describe(include=['O'])

pYYBAGP4dnmAUX3vAACQZuxIZLM668.png

#刪除序列數據
data = data_train.drop(['ID'],axis = 1)
#查看數據
data.head()

pYYBAGP4domAKErgAAD1cgxgOLk566.png

#數據轉換

from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
# 將oject數據類型進行類別編碼
for feature in data.columns:
    if data[feature].dtype == 'object':
        data[feature] = pd.Categorical(data[feature]).codes

#標準化處理
X = np.array(X_df)
y = np.array(y_df)
scaler = StandardScaler()
X = scaler.fit_transform(X)

fromsklearn.treeimportDecisionTreeClassifier
from pyecharts.charts import Scatter
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.charts import Page

#初始化
tree = DecisionTreeClassifier(random_state=0)
tree.fit(X, y)

#顯示每個屬性的相對重要性得分
relval = tree.feature_importances_


#構建數據
importances_df = pd.DataFrame({
    'feature' : data.columns[:-1],
    'importance' : relval
})  
importances_df.sort_values(by = 'importance', ascending = False, inplace = True)

    
#作圖
bar = Bar()
bar.add_xaxis(importances_df.feature.tolist())
bar.add_yaxis(
    'importance', 
    importances_df.importance.tolist(), 
    label_opts = opts.LabelOpts(is_show = False))

bar.set_global_opts(
    title_opts = opts.TitleOpts(title = '糖尿病數據各特征重要程度'),
    xaxis_opts = opts.AxisOpts(axislabel_opts = opts.LabelOpts(rotate = 30)),
    datazoom_opts = [opts.DataZoomOpts()]
)
    
bar.render('diabetes_importances_bar.html')
bar.render_notebook()

poYBAGP4drmAKe7pAABr-dpozAk777.png

#特征篩選
from sklearn.feature_selection import RFE

# 使用決策樹作為模型
lr = DecisionTreeClassifier()
names = X_df.columns.tolist()

#將所有特征排序,篩選前10個重要性較高特征
selector = RFE(lr, n_features_to_select = 10)
selector.fit(X,y.ravel())

#得到新的dataframe
X_df_new = X_df.iloc[:, selector.get_support(indices = False)]
X_df_new.columns

poYBAGP4ds-AS0A_AAA0k45HxzQ823.png

from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score,confusion_matrix

#標準化
X_new = scaler.fit_transform(np.array(X_df_new)) 
#分離數據
X_train, X_test, y_train, y_test = train_test_split(X_new,y,test_size = 0.3,random_state=0)
#隨機森林分類
model_rf=RandomForestClassifier()
model_rf.fit(X_train,y_train)
#預測
model_rf.predict(X_test)
#輸出準確率
print(round(accuracy_score(y_test,model_rf.predict(X_test)),2))

#總體來說不是很高,后期我們還需要再次提升

poYBAGP4duSAOIobAAAkrEuZZtE098.png

import itertools

#繪制混淆矩陣
def plot_confusion_matrix(cm, classes, title='Confusion matrix', cmap=plt.cm.Blues):
    plt.imshow(cm, interpolation='nearest', cmap=cmap)
    plt.title(title)
    plt.colorbar()
    tick_marks = np.arange(len(classes))
    plt.xticks(tick_marks, classes, rotation=0)
    plt.yticks(tick_marks, classes)
    #設置thresh值
    thresh = cm.max() / 2.
    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):
        plt.text(j, i, cm[i, j],
                 horizontalalignment="center",
                 color="white" if cm[i, j] > thresh else "black")
    #設置布局
    plt.tight_layout()
    plt.ylabel('True label')
    plt.xlabel('Predicted label')
 
 #參考鏈接:https://www.heywhale.com/mw/project/5bfb6342954d6e0010675425/content

#計算矩陣

#計算矩陣
cm = confusion_matrix(y_test,model_rf.predict(X_test))
class_names = [0,1]
#繪制圖形
plt.figure()
#輸出混淆矩陣
plot_confusion_matrix(cm , classes=class_names, title='Confusion matrix')
#顯示圖形
plt.show()

pYYBAGP4dwyAEWQZAABLKFs7zLI107.png
#輸出預測信息,感興趣讀者可以手動驗證一下
print(classification_report(y_test, model_rf.predict(X_test)))

poYBAGP4dxmAOvGIAABrnU4xJ-Q919.png
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 集成
    +關注

    關注

    1

    文章

    176

    瀏覽量

    30231
  • 算法
    +關注

    關注

    23

    文章

    4607

    瀏覽量

    92840
  • 決策樹
    +關注

    關注

    3

    文章

    96

    瀏覽量

    13548
收藏 人收藏

    評論

    相關推薦

    不可錯過 | 集成學習入門精講

    地總結了一些必備知識點~1集成學習——機器學習中的“屠龍寶刀”集成學習方法是使用一系列
    發表于 06-06 10:11

    基于Qualcomm DSP的算法集成案例

    一.簡介上篇博主已經給大家分享了Qualcomm 平臺DSP算法集成的架構和算法原理及其實現的功能,今天我們進一步分享Qualcomm 通用平臺系列的算法
    發表于 09-25 15:41

    基于Qualcomm DSP的算法集成系列

    視覺、視頻、圖像和Camera。Sensor DSP:也叫做SLPI,所有的sensor都鏈接到SLPI上面,它管理所有的Sensor及相關算法。二.DSP算法集成1.
    發表于 09-25 15:44

    AI應用于醫療預測 需集成機器學習與行為算法

    結合機器學習和行為算法的人工智能(AI)虛擬助理軟件愈來愈普遍,隨著資料庫不斷擴展,可以對人類偏好做出愈來愈準確的預測,但當下流行的健康追蹤裝置欲實現醫療預測,也必須集成機器學習與行為
    發表于 01-17 10:58 ?882次閱讀

    基于改進CNN網絡與集成學習的人臉識別算法

    針對復雜卷積神經網絡(CNN)在中小型人臉數據庫中的識別結果容易出現過擬合現象,提出一種基于改進CNN網絡與集成學習的人臉識別算法。改進CNN網絡結合平面網絡和殘差網絡的特點,采用平均池化層代替全
    發表于 05-27 14:36 ?6次下載

    17個機器學習的常用算法

    的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據輸入數據來選擇最合適的算法來獲得最好的結果。 1.監督式學習: 2.非監督式學習: 在
    的頭像 發表于 08-22 09:57 ?2194次閱讀
    17個機器<b class='flag-5'>學習</b>的常用<b class='flag-5'>算法</b>!

    深度學習算法簡介 深度學習算法是什么 深度學習算法有哪些

    深度學習算法簡介 深度學習算法是什么?深度學習算法有哪些?? 作為一種現代化、前沿化的技術,深度
    的頭像 發表于 08-17 16:02 ?8876次閱讀

    什么是深度學習算法?深度學習算法的應用

    什么是深度學習算法?深度學習算法的應用 深度學習算法被認為是人工智能的核心,它是一種模仿人類大腦
    的頭像 發表于 08-17 16:03 ?2145次閱讀

    深度學習算法庫框架學習

    深度學習算法庫框架的相關知識點以及它們之間的比較。 1. Tensorflow Tensorflow是Google家的深度學習框架,已經成為深度學習
    的頭像 發表于 08-17 16:11 ?691次閱讀

    機器學習算法匯總 機器學習算法分類 機器學習算法模型

    機器學習算法匯總 機器學習算法分類 機器學習算法模型 機器
    的頭像 發表于 08-17 16:11 ?1098次閱讀

    機器學習算法總結 機器學習算法是什么 機器學習算法優缺點

    對數據的學習和分析,機器學習能夠自動發現數據中的規律和模式,進而預測未來的趨勢。 機器學習算法優缺點 機器學習
    的頭像 發表于 08-17 16:11 ?1897次閱讀

    機器學習算法入門 機器學習算法介紹 機器學習算法對比

    機器學習算法入門 機器學習算法介紹 機器學習算法對比 機器
    的頭像 發表于 08-17 16:27 ?948次閱讀

    機器學習vsm算法

    (VSM)算法計算相似性。本文將從以下幾個方面介紹機器學習vsm算法1、向量空間模型 向量空間模型是一種常見的文本表示方法,根據文本的詞頻向量將文本映射到一個高維向量空間中。這種方
    的頭像 發表于 08-17 16:29 ?864次閱讀

    機器學習有哪些算法?機器學習分類算法有哪些?機器學習預判有哪些算法

    許多不同的類型和應用。根據機器學習的任務類型,可以將其分為幾種不同的算法類型。本文將介紹機器學習算法類型以及分類算法和預測
    的頭像 發表于 08-17 16:30 ?1985次閱讀

    深度學習算法集成電路測試中的應用

    隨著半導體技術的快速發展,集成電路(IC)的復雜性和集成度不斷提高,對測試技術的要求也日益增加。深度學習算法作為一種強大的數據處理和模式識別工具,在
    的頭像 發表于 07-15 09:48 ?970次閱讀
    主站蜘蛛池模板: 好硬好湿好爽再深一点视频| 美女被爆插| 成人免费在线视频| 永久免费在线看mv| 亚洲精品无码久久久久A片 | FERRCHINA内入内射| 永久免费的无码中文字幕| 亚洲欧美偷拍视频一区| 秀婷程仪公欲息肉婷在线观看| 色翁荡熄月月| 秋霞电影网午夜一级鲁丝片 | 国产手机精品一区二区| 高清国产在线播放成人| 粗暴玩烂货调教| 成人无码精品一区二区在线观看 | 99re热视频这里只有精品| 国产精品国产三级国产AV麻豆| 免费成年人在线视频| 久久久亚洲国产精品主播 | 亚洲男人天堂网| 亚洲欧洲日韩天堂无吗| 亚洲日本天堂在线| 伊人久久大香线蕉无码麻豆| 影音先锋xfplay影院av| 2019夜夜| SM脚奴调教丨踩踏贱奴| 丰满人妻熟女色情A片| 国产盗摄一区二区三区| 国产视频这里只有精品| 精品麻豆一卡2卡三卡4卡乱码 | jlzzzjizzzjlzzz亚洲| 超碰97人人做人人爱少妇| 丰满人妻无码AV系列| 国产亚洲视频在线播放香蕉| 久久99蜜桃精品麻豆| 麻豆区蜜芽区| 日韩视频在线观看| 亚洲AV永久无码精品澳门| 曰产无码久久久久久精品| 99久久精品全部| 囯产精品久久久久久久久免费蜜桃 |