中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站默認(rèn)中文字體怎么自己制作網(wǎng)頁(yè)

網(wǎng)站默認(rèn)中文字體,怎么自己制作網(wǎng)頁(yè),手機(jī)wap網(wǎng)站源碼,dreamweaver做網(wǎng)站集成學(xué)習(xí) **集成學(xué)習(xí)(Ensemble learning)**是機(jī)器學(xué)習(xí)中近年來(lái)的一大熱門(mén)領(lǐng)域。其中的集成方法是用多種學(xué)習(xí)方法的組合來(lái)獲取比原方法更優(yōu)的結(jié)果。 使用于組合的算法是弱學(xué)習(xí)算法,即分類(lèi)正確率僅比隨機(jī)猜測(cè)略高的學(xué)習(xí)算法,但是組合之后的效果仍可能高于…

集成學(xué)習(xí)

**集成學(xué)習(xí)(Ensemble learning)**是機(jī)器學(xué)習(xí)中近年來(lái)的一大熱門(mén)領(lǐng)域。其中的集成方法是用多種學(xué)習(xí)方法的組合來(lái)獲取比原方法更優(yōu)的結(jié)果。
使用于組合的算法是弱學(xué)習(xí)算法,即分類(lèi)正確率僅比隨機(jī)猜測(cè)略高的學(xué)習(xí)算法,但是組合之后的效果仍可能高于強(qiáng)學(xué)習(xí)算法,即集成之后的算法準(zhǔn)確率和效率都很高。

三個(gè)臭皮匠,賽過(guò)諸葛亮!!!以弱搏強(qiáng),就是集成學(xué)習(xí)!
在這里插入圖片描述
主要方法包括:

  • Bagging
  • Boosting
  • Stacking

Stacking方法(知識(shí)蒸餾)

==Stacking方法(知識(shí)蒸餾)==是指訓(xùn)練一個(gè)模型用于組合其他各個(gè)模型。

  • 先訓(xùn)練多個(gè)不同的模型,然后把訓(xùn)練得到的各個(gè)模型的輸出作為輸入來(lái)訓(xùn)練一個(gè)模型,以得到一個(gè)最終的輸出。
  • 原理:將多個(gè)不同模型的預(yù)測(cè)結(jié)果作為新的特征,輸入到一個(gè)或多個(gè)元模型(meta-learner)中進(jìn)行訓(xùn)練。
    在這里插入圖片描述

裝袋法(Bagging)

裝袋法(Bagging)又稱(chēng)為Bootstrap Aggregating, 是通過(guò)組合多個(gè)訓(xùn)練集的分類(lèi)結(jié)果來(lái)提升分類(lèi)效果
原理:對(duì)原始數(shù)據(jù)集進(jìn)行多次有放回的抽樣(bootstrap sampling),生成多個(gè)不同的訓(xùn)練數(shù)據(jù)集。
裝袋法由于多次采樣,每個(gè)樣本被選中的概率相同,因此噪聲數(shù)據(jù)的影響下降,所以裝袋法太容易受到過(guò)擬合的影響。
【[數(shù)據(jù)挖掘Python] 26 集成學(xué)習(xí) 1 bagging算法 BaggingClassifier 個(gè)人銀行貸款數(shù)據(jù)】

Bagging算法就是用多個(gè)弱分類(lèi)器(CART)對(duì)劃分的不同數(shù)據(jù)集進(jìn)行分類(lèi),對(duì)于弱分類(lèi)器的結(jié)果進(jìn)行投票或者加權(quán)得到最終的結(jié)果。

Bagging對(duì)鳶尾花數(shù)據(jù)集進(jìn)行分類(lèi)

鳶尾花數(shù)據(jù)集是4個(gè)類(lèi)別。

  1. 導(dǎo)入數(shù)據(jù)集
  2. 對(duì)數(shù)據(jù)集進(jìn)行劃分:· KFold函數(shù)進(jìn)行K折交叉驗(yàn)證
  3. 創(chuàng)建CART決策樹(shù):
cart = DecisionTreeClassifier(criterion='gini', max_depth=3)
cart_result = cart.fit(X, Y)# 訓(xùn)練決策樹(shù)模型
  1. 利用CART模型作為基決策器生產(chǎn)Bagging模型:
    可以設(shè)置基決策器的數(shù)量n_estimators,但不是越多越好哦!
model = BaggingClassifier(estimator=cart, n_estimators=100, random_state=seed)
result = cross_val_score(model, X, Y, cv=kfold)
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasets# 1.獲取數(shù)據(jù)
iris = datasets.load_iris()
X = iris.data
Y = iris.target
seed = 42# 創(chuàng)建K折交叉驗(yàn)證,設(shè)置分割數(shù)為10,打亂數(shù)據(jù),設(shè)置隨機(jī)種子
kfold = KFold(n_splits=10, shuffle=True, random_state=seed)# 2.構(gòu)建模型
# 創(chuàng)建決cart模型基礎(chǔ)模型,設(shè)置使用基尼系數(shù)作為分裂標(biāo)準(zhǔn),樹(shù)的最大深度為3
cart = DecisionTreeClassifier(criterion='gini', max_depth=3)
cart_result = cart.fit(X, Y)# 訓(xùn)練決策樹(shù)模型result = cross_val_score(cart_result, X, Y, cv=kfold)# 使用交叉驗(yàn)證計(jì)算決策樹(shù)模型的分?jǐn)?shù)
print("CART樹(shù)結(jié)果:", result.mean())
#————————————————————————————————————————————————————————————————————————————————
# 創(chuàng)建bagging分類(lèi)器,設(shè)置基礎(chǔ)模型為cart,設(shè)置cart分類(lèi)器數(shù)量為100,設(shè)置隨機(jī)種子
model = BaggingClassifier(estimator=cart, n_estimators=100, random_state=seed)
result = cross_val_score(model, X, Y, cv=kfold)
print("裝袋法提升后結(jié)果:", result.mean())

結(jié)果:

CART樹(shù)結(jié)果: 0.9466666666666667
裝袋法提升后結(jié)果: 0.9600000000000002

提升法:Boosting

原理

提升法(Boosting)與裝袋法(Bagging)相比:每次的訓(xùn)練樣本均為同一組,并且引入了權(quán)重的概念,給每個(gè)單獨(dú)的訓(xùn)練樣本都會(huì)分配個(gè)相同的初始權(quán)重。
在這里插入圖片描述

  1. 從訓(xùn)練集用初始權(quán)重訓(xùn)練出一個(gè)弱學(xué)習(xí)器1

  2. 根據(jù)弱學(xué)習(xí)的學(xué)習(xí)誤差率表現(xiàn)來(lái)更新訓(xùn)練樣本的權(quán)重:
    使得之前弱學(xué)習(xí)器1學(xué)習(xí)誤差率高的訓(xùn)練樣本點(diǎn)的權(quán)重變高,使得這些誤差率高的點(diǎn)在后面的羽學(xué)習(xí)器2中得到更多的重視。

  3. 然后基于調(diào)整權(quán)重后的訓(xùn)練集來(lái)訓(xùn)練弱學(xué)習(xí)器2.,

  4. 如此重復(fù)進(jìn)行,直到弱學(xué)習(xí)器數(shù)達(dá)到事先指定的數(shù)目T,最終將這T個(gè)弱學(xué)習(xí)器通過(guò)集合策略進(jìn)行整合,得到最終的強(qiáng)學(xué)習(xí)器。

Adaboost(Adaptive Boosting)是一種自適應(yīng)增強(qiáng)算法,它集成多個(gè)弱決策器進(jìn)行決策。Adaboost解決二分類(lèi)問(wèn)題,且二分類(lèi)的標(biāo)簽為{-1,1}。
注:一定是{-1,1},不能是{0,1}

它的訓(xùn)練過(guò)程是通過(guò)不斷添加新的弱決策器,使損失函數(shù)繼續(xù)下降,直到添加決策器已無(wú)效,最終將所有決策器集成一個(gè)整體進(jìn)行決策。

理論上Adaboost適用于多種決策器,但實(shí)際中基本都是以決策樹(shù)作為決策器

個(gè)體學(xué)習(xí)器之間存在強(qiáng)依賴(lài)關(guān)系、必須串行生成的序列化方法。

  1. 【提高】那些在前一輪被弱分類(lèi)器【分錯(cuò)】的樣本的權(quán)值
  2. 【減小】那些在前一輪被弱分類(lèi)器【分對(duì)】的樣本的權(quán)值
  3. 【加法模型】將弱分類(lèi)器進(jìn)行【線(xiàn)性組合】

Adaboost

是Boosting算法中最典型的一個(gè)算法!!!
【【五分鐘機(jī)器學(xué)習(xí)】Adaboost:前人栽樹(shù)后人乘涼】

直接上代碼:
Adaboost對(duì)乳腺癌數(shù)據(jù)集進(jìn)行分類(lèi)(良性、惡心)

from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import AdaBoostClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasetsdataset_all = datasets.load_iris()#獲取乳腺癌數(shù)據(jù)集
X = dataset_all.data
Y = dataset_all.targetseed = 42
kfold = KFold(n_splits=10, shuffle=True,random_state=seed)#10折交叉驗(yàn)證
cart = DecisionTreeClassifier(criterion='gini',max_depth=3)#構(gòu)建決策樹(shù)分類(lèi)器,使用基尼系數(shù)(Gini)作為分裂的準(zhǔn)則,并且設(shè)置樹(shù)的最大深度為3
dtree = cart.fit(X, Y)#訓(xùn)練
result = cross_val_score(dtree, X, Y, cv=kfold)#交叉驗(yàn)證分?jǐn)?shù)
print("決策樹(shù)結(jié)果:",result.mean())model = AdaBoostClassifier(estimator=cart, n_estimators=100,random_state=seed)#創(chuàng)建AdaBoost分類(lèi)器,使用決策樹(shù)作為基學(xué)習(xí)器,弱學(xué)習(xí)器數(shù)量為100
result = cross_val_score(model, X, Y, cv=kfold)#交叉驗(yàn)證分?jǐn)?shù)
print("提升法改進(jìn)結(jié)果:",result.mean())

決策樹(shù)結(jié)果: 0.92969924812
提升法改進(jìn)結(jié)果: 0.970112781955

隨機(jī)森林(RandomForest)

原理

隨機(jī)森林與裝袋法采取相同的樣本抽取方式。

  • 裝袋法中的決策樹(shù)每次從所有屬性中選取一個(gè)最優(yōu)的屬性(gini)作為其分支屬性,
  • 而隨機(jī)森林算法每次從所有屬性中隨機(jī)抽取𝑡個(gè)屬性,然后從這𝑡個(gè)屬性中選取一個(gè)最優(yōu)的屬性作為其分支屬性,
  • 這樣就使得整個(gè)模型的隨機(jī)性更強(qiáng),從而使模型的泛化能力更強(qiáng)。
  • 隨機(jī)森林算法使用的弱分類(lèi)決策樹(shù)通常為CART算法。
  • 【【五分鐘機(jī)器學(xué)習(xí)】隨機(jī)森林(RandomForest):看我以弱搏強(qiáng)】

代碼實(shí)現(xiàn)

隨機(jī)森林對(duì)鳶尾花數(shù)據(jù)進(jìn)行分類(lèi),輸出每個(gè)特征數(shù)據(jù)的重要性。

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
import pandas as pd
# 加載數(shù)據(jù)集
iris = load_iris()
X = iris.data
y = iris.target# 分割數(shù)據(jù)集為訓(xùn)練集和測(cè)試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)#測(cè)試級(jí)比例是0.3,訓(xùn)練集比例是0.7.
# #訓(xùn)練集的特征X_train和訓(xùn)練集的標(biāo)簽y_train進(jìn)行訓(xùn)練;測(cè)試集的特征X_test和測(cè)試集的標(biāo)簽y_test進(jìn)行預(yù)測(cè)與評(píng)估# 創(chuàng)建隨機(jī)森林分類(lèi)器實(shí)例
rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42)#默認(rèn)基分類(lèi)器(弱分類(lèi)器)是CART模型,CART模型數(shù)量是100個(gè)。
# 訓(xùn)練模型
rf_classifier.fit(X_train, y_train)#用劃分的訓(xùn)練集數(shù)據(jù)(包括X_train, y_train)進(jìn)行訓(xùn)練
# 預(yù)測(cè)測(cè)試集結(jié)果
y_pred = rf_classifier.predict(X_test)#用劃分的測(cè)試集數(shù)據(jù)進(jìn)行測(cè)試,但是預(yù)測(cè)predict只需要X_test(測(cè)試集的特征數(shù)據(jù)),預(yù)測(cè)結(jié)果為測(cè)試集的y_pred
# 計(jì)算準(zhǔn)確率
accuracy = accuracy_score(y_test, y_pred)#計(jì)算測(cè)試集的預(yù)測(cè)值y_pred和測(cè)試集的標(biāo)簽y_test的準(zhǔn)確率accuracy
print(f"模型準(zhǔn)確率: {accuracy:.2f}")# 輸出特征重要性
feature_importances = rf_classifier.feature_importances_
print("特征重要性:")
for name, importance in zip(iris.feature_names, feature_importances):print(f"{name}: {importance:.4f}")

模型準(zhǔn)確率: 100.00%
特征重要性:
sepal length (cm): 0.1081
sepal width (cm): 0.0304
petal length (cm): 0.4400
petal width (cm): 0.4215

Xgboost

GBDT

  • 梯度提升決策樹(shù)算法是利用梯度下降的思想,使用損失函數(shù)的負(fù)梯度在當(dāng)前模型的值,作為提升樹(shù)中殘差的近似值,以此來(lái)擬合回歸決策樹(shù)。
  • GBDT中的樹(shù)都是回歸樹(shù),不是分類(lèi)樹(shù)。
  • GBDT的核心就在于,每一棵樹(shù)學(xué)的是之前所有樹(shù)結(jié)論和的殘差,這個(gè)殘差就是一個(gè)加預(yù)測(cè)值后能得真實(shí)值的累加量。
    GBDT

XGBoost

XGBoost
XGBoost可以用于:

  • 分類(lèi)
  • 回歸
  • 異常檢測(cè)

XGBoost安裝:
pip install xgboost -i https://pypi.tuna.tsinghua.edu.cn/simple

XGBRegressor

import xgboost as xgb
import numpy as np
from sklearn.linear_model import LinearRegression
# 數(shù)據(jù)準(zhǔn)備
X = [[1],[2],[3]]
y = [2, 4, 6]
# 構(gòu)建XGBRegressor模型
model = xgb.XGBRegressor(n_estimators=1)# 訓(xùn)練模型
model.fit(X, y)
# 預(yù)測(cè)
X_predict = [[4]]  # 修正預(yù)測(cè)數(shù)據(jù)的格式y_predict = model.predict(X_predict)
print(f"{X_predict}XGBoost預(yù)測(cè)y值為: {y_predict}")
#____________________________________________
model1 = LinearRegression()
#繼續(xù)寫(xiě)線(xiàn)性回歸預(yù)測(cè)X_predict
model1.fit(X,y)
y_predict = model1.predict(X_predict)
print(f"{X_predict}LinearRegression預(yù)測(cè)y值為: {y_predict}")

[[4]]XGBoost預(yù)測(cè)y值為: [4.3]
[[4]]LinearRegression預(yù)測(cè)y值為: [8.]

XGBoost預(yù)測(cè)誤差很大!!!
因?yàn)閄GBoost 是一個(gè)強(qiáng)大的非線(xiàn)性模型,更適合處理復(fù)雜的非線(xiàn)性關(guān)系。
而這個(gè)數(shù)據(jù)明顯是簡(jiǎn)單的線(xiàn)性模型,更適合用LinearRegression!

XGBClassifier

用XGBoost對(duì)UCI蘑菇數(shù)據(jù)集進(jìn)行分類(lèi):
UCI蘑菇數(shù)據(jù)集Kaggle下載

  • 類(lèi)別信息:可食用=e,有毒=p
  • 帽形:鐘形=b,圓錐形=c,凸面=x,平面=f,結(jié)節(jié)=k,凹陷=s
  • 帽表面:纖維=f,凹槽=g,鱗片=y,光滑=s
  • 帽子顏色:棕色=n,淺黃色=b,肉桂色=c,灰色=g,綠色=r,粉紅色=p,紫色=u,紅色=e,白色=w,黃色=y
    瘀傷:瘀傷=t,否=f
    氣味:杏仁=a,八角=l,雜酚油=c,魚(yú)腥味=y,惡臭=f,霉味=m,無(wú)=n,辛辣=p,辛辣=s

    在寫(xiě)代碼的時(shí)候需要將數(shù)據(jù)集進(jìn)行編碼轉(zhuǎn)化為數(shù)字
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import LabelEncoder
import xgboost as xgb
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import AdaBoostClassifier
# 加載數(shù)據(jù)集
data = pd.read_csv('mushrooms.csv')#相對(duì)路徑:mushrooms.csv# 對(duì)分類(lèi)數(shù)據(jù)進(jìn)行編碼:值由字母變成數(shù)字
label_encoder = LabelEncoder()
for column in data.columns:data[column] = label_encoder.fit_transform(data[column])print(data.head())# 分割數(shù)據(jù)集
X = data.drop('class', axis=1)
y = data['class']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 初始化Xgboost模型
model = xgb.XGBClassifier()
# 訓(xùn)練模型
model.fit(X_train, y_train)
# 預(yù)測(cè)測(cè)試集
y_pred = model.predict(X_test)
print(y_pred)
# 計(jì)算準(zhǔn)確率
accuracy = accuracy_score(y_test, y_pred)
print(f'模型準(zhǔn)確率:{accuracy*100}%')#_________________________________________________
# LogisticRegression、AdaBoostClassifier也可以實(shí)現(xiàn)二分類(lèi)哦
# model1 = LogisticRegression()
# model2 = AdaBoostClassifier()

class cap-shape cap-surface … spore-print-color population habitat
0 1 5 2 … 2 3 5
1 0 5 2 … 3 2 1
2 0 0 2 … 3 2 3
3 1 5 3 … 2 3 5
4 0 5 2 … 3 0 1
[5 rows x 23 columns]
[0 1 1 … 1 1 1]
模型準(zhǔn)確率:100.0%
Process finished with exit code 0

http://m.risenshineclean.com/news/64832.html

相關(guān)文章:

  • wordpress底部footerseo搜索引擎優(yōu)化工資
  • 上海期貨配資網(wǎng)站開(kāi)發(fā)沈陽(yáng)seo優(yōu)化排名公司
  • 北京網(wǎng)站建設(shè)備案代理北京搜索引擎優(yōu)化管理專(zhuān)員
  • wordpress 戀月seo優(yōu)化關(guān)鍵詞
  • 溫州電力建設(shè)有限公司網(wǎng)站網(wǎng)站seo排名公司
  • 網(wǎng)站頁(yè)尾模板最佳磁力搜索引擎
  • 深圳正規(guī)網(wǎng)站制作哪里好域名備案查詢(xún)
  • 廣州專(zhuān)業(yè)網(wǎng)站制作種子搜索神器網(wǎng)頁(yè)版
  • 平面設(shè)計(jì)短期培訓(xùn)班seo站長(zhǎng)綜合查詢(xún)工具
  • wordpress將404跳轉(zhuǎn)主頁(yè)結(jié)構(gòu)優(yōu)化設(shè)計(jì)
  • 成都網(wǎng)站建設(shè)優(yōu)秀公司網(wǎng)絡(luò)推廣渠道和方法
  • 做網(wǎng)站項(xiàng)目的心得小紅書(shū)筆記關(guān)鍵詞排名優(yōu)化
  • 網(wǎng)站備案要多長(zhǎng)時(shí)間廣告精準(zhǔn)推廣平臺(tái)
  • 企業(yè)網(wǎng)站管理系統(tǒng)安裝教程重慶森林講的什么內(nèi)容
  • 如何騰訊云二級(jí)域名做網(wǎng)站北京中文seo
  • 附近短期電腦培訓(xùn)班深圳關(guān)鍵詞優(yōu)化公司哪家好
  • thinkphp做網(wǎng)站好嗎免費(fèi)網(wǎng)站注冊(cè)免費(fèi)創(chuàng)建網(wǎng)站
  • 一般給公司做網(wǎng)站用什么軟件奶茶推廣軟文200字
  • 做曖網(wǎng)站seo排名優(yōu)化教學(xué)
  • 如何做網(wǎng)站靜態(tài)頁(yè)面佛山網(wǎng)站設(shè)計(jì)實(shí)力樂(lè)云seo
  • 做網(wǎng)站瀏覽器2022重大時(shí)政熱點(diǎn)事件簡(jiǎn)短
  • 如何建設(shè)網(wǎng)站效果好近期10大新聞事件
  • 安徽教育機(jī)構(gòu)網(wǎng)站建設(shè)在線(xiàn)網(wǎng)頁(yè)編輯平臺(tái)
  • 網(wǎng)頁(yè)框架與布局網(wǎng)站如何做關(guān)鍵詞優(yōu)化
  • 網(wǎng)站建設(shè)及經(jīng)營(yíng)應(yīng)解決好的問(wèn)題seo網(wǎng)站診斷文檔案例
  • 昆明網(wǎng)站建設(shè)電話(huà)seo導(dǎo)航站
  • 做房地產(chǎn)咨詢(xún)網(wǎng)站怎么贏利百度地圖人工客服電話(huà)
  • .net網(wǎng)站開(kāi)發(fā)程序員青島seo服務(wù)公司
  • 公司網(wǎng)站公眾號(hào)維護(hù)怎么做網(wǎng)站聯(lián)盟推廣
  • 上海做網(wǎng)站優(yōu)化價(jià)格重慶seo排名電話(huà)