当前位置: 首页 > news >正文

网站怎么提高收录坑梓网站建设平台

网站怎么提高收录,坑梓网站建设平台,welfare wordpress,外贸衣服是什么意思呢集成学习 **集成学习(Ensemble learning)**是机器学习中近年来的一大热门领域。其中的集成方法是用多种学习方法的组合来获取比原方法更优的结果。 使用于组合的算法是弱学习算法#xff0c;即分类正确率仅比随机猜测略高的学习算法#xff0c;但是组合之后的效果仍可能高于…集成学习 **集成学习(Ensemble learning)**是机器学习中近年来的一大热门领域。其中的集成方法是用多种学习方法的组合来获取比原方法更优的结果。 使用于组合的算法是弱学习算法即分类正确率仅比随机猜测略高的学习算法但是组合之后的效果仍可能高于强学习算法即集成之后的算法准确率和效率都很高。 三个臭皮匠赛过诸葛亮以弱搏强就是集成学习 主要方法包括 BaggingBoostingStacking Stacking方法知识蒸馏 Stacking方法知识蒸馏是指训练一个模型用于组合其他各个模型。 先训练多个不同的模型然后把训练得到的各个模型的输出作为输入来训练一个模型以得到一个最终的输出。原理将多个不同模型的预测结果作为新的特征输入到一个或多个元模型meta-learner中进行训练。 装袋法(Bagging) 装袋法(Bagging)又称为Bootstrap Aggregating, 是通过组合多个训练集的分类结果来提升分类效果 原理对原始数据集进行多次有放回的抽样bootstrap sampling生成多个不同的训练数据集。 装袋法由于多次采样每个样本被选中的概率相同因此噪声数据的影响下降所以装袋法太容易受到过拟合的影响。 【[数据挖掘Python] 26 集成学习 1 bagging算法 BaggingClassifier 个人银行贷款数据】 Bagging算法就是用多个弱分类器CART对划分的不同数据集进行分类对于弱分类器的结果进行投票或者加权得到最终的结果。 Bagging对鸢尾花数据集进行分类 鸢尾花数据集是4个类别。 导入数据集对数据集进行划分· KFold函数进行K折交叉验证创建CART决策树 cart DecisionTreeClassifier(criteriongini, max_depth3) cart_result cart.fit(X, Y)# 训练决策树模型利用CART模型作为基决策器生产Bagging模型 可以设置基决策器的数量n_estimators,但不是越多越好哦 model BaggingClassifier(estimatorcart, n_estimators100, random_stateseed) result cross_val_score(model, X, Y, cvkfold)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.获取数据 iris datasets.load_iris() X iris.data Y iris.target seed 42# 创建K折交叉验证设置分割数为10打乱数据设置随机种子 kfold KFold(n_splits10, shuffleTrue, random_stateseed)# 2.构建模型 # 创建决cart模型基础模型设置使用基尼系数作为分裂标准树的最大深度为3 cart DecisionTreeClassifier(criteriongini, max_depth3) cart_result cart.fit(X, Y)# 训练决策树模型result cross_val_score(cart_result, X, Y, cvkfold)# 使用交叉验证计算决策树模型的分数 print(CART树结果, result.mean()) #———————————————————————————————————————————————————————————————————————————————— # 创建bagging分类器设置基础模型为cart设置cart分类器数量为100设置随机种子 model BaggingClassifier(estimatorcart, n_estimators100, random_stateseed) result cross_val_score(model, X, Y, cvkfold) print(装袋法提升后结果, result.mean())结果 CART树结果 0.9466666666666667 装袋法提升后结果 0.9600000000000002 提升法Boosting 原理 提升法(Boosting)与装袋法Bagging相比每次的训练样本均为同一组并且引入了权重的概念给每个单独的训练样本都会分配个相同的初始权重。 从训练集用初始权重训练出一个弱学习器1 根据弱学习的学习误差率表现来更新训练样本的权重 使得之前弱学习器1学习误差率高的训练样本点的权重变高使得这些误差率高的点在后面的羽学习器2中得到更多的重视。 然后基于调整权重后的训练集来训练弱学习器2. 如此重复进行直到弱学习器数达到事先指定的数目T最终将这T个弱学习器通过集合策略进行整合得到最终的强学习器。 Adaboost(Adaptive Boosting)是一种自适应增强算法它集成多个弱决策器进行决策。Adaboost解决二分类问题且二分类的标签为{-1,1}。 注一定是{-1,1}不能是{0,1} 它的训练过程是通过不断添加新的弱决策器使损失函数继续下降直到添加决策器已无效最终将所有决策器集成一个整体进行决策。 理论上Adaboost适用于多种决策器但实际中基本都是以决策树作为决策器 个体学习器之间存在强依赖关系、必须串行生成的序列化方法。 【提高】那些在前一轮被弱分类器【分错】的样本的权值【减小】那些在前一轮被弱分类器【分对】的样本的权值【加法模型】将弱分类器进行【线性组合】 Adaboost 是Boosting算法中最典型的一个算法 【【五分钟机器学习】Adaboost前人栽树后人乘凉】 直接上代码 Adaboost对乳腺癌数据集进行分类良性、恶心 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()#获取乳腺癌数据集 X dataset_all.data Y dataset_all.targetseed 42 kfold KFold(n_splits10, shuffleTrue,random_stateseed)#10折交叉验证 cart DecisionTreeClassifier(criteriongini,max_depth3)#构建决策树分类器使用基尼系数Gini作为分裂的准则并且设置树的最大深度为3 dtree cart.fit(X, Y)#训练 result cross_val_score(dtree, X, Y, cvkfold)#交叉验证分数 print(决策树结果,result.mean())model AdaBoostClassifier(estimatorcart, n_estimators100,random_stateseed)#创建AdaBoost分类器使用决策树作为基学习器弱学习器数量为100 result cross_val_score(model, X, Y, cvkfold)#交叉验证分数 print(提升法改进结果,result.mean())决策树结果 0.92969924812 提升法改进结果 0.970112781955 随机森林RandomForest 原理 随机森林与装袋法采取相同的样本抽取方式。 装袋法中的决策树每次从所有属性中选取一个最优的属性gini作为其分支属性而随机森林算法每次从所有属性中随机抽取个属性然后从这个属性中选取一个最优的属性作为其分支属性这样就使得整个模型的随机性更强从而使模型的泛化能力更强。随机森林算法使用的弱分类决策树通常为CART算法。【【五分钟机器学习】随机森林RandomForest看我以弱搏强】 代码实现 随机森林对鸢尾花数据进行分类输出每个特征数据的重要性。 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 # 加载数据集 iris load_iris() X iris.data y iris.target# 分割数据集为训练集和测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)#测试级比例是0.3训练集比例是0.7. # #训练集的特征X_train和训练集的标签y_train进行训练测试集的特征X_test和测试集的标签y_test进行预测与评估# 创建随机森林分类器实例 rf_classifier RandomForestClassifier(n_estimators100, random_state42)#默认基分类器弱分类器是CART模型CART模型数量是100个。 # 训练模型 rf_classifier.fit(X_train, y_train)#用划分的训练集数据包括X_train, y_train)进行训练 # 预测测试集结果 y_pred rf_classifier.predict(X_test)#用划分的测试集数据进行测试但是预测predict只需要X_test测试集的特征数据预测结果为测试集的y_pred # 计算准确率 accuracy accuracy_score(y_test, y_pred)#计算测试集的预测值y_pred和测试集的标签y_test的准确率accuracy print(f模型准确率: {accuracy:.2f})# 输出特征重要性 feature_importances rf_classifier.feature_importances_ print(特征重要性) for name, importance in zip(iris.feature_names, feature_importances):print(f{name}: {importance:.4f})模型准确率: 100.00% 特征重要性 sepal length (cm): 0.1081 sepal width (cm): 0.0304 petal length (cm): 0.4400 petal width (cm): 0.4215 Xgboost GBDT 梯度提升决策树算法是利用梯度下降的思想使用损失函数的负梯度在当前模型的值作为提升树中残差的近似值以此来拟合回归决策树。GBDT中的树都是回归树不是分类树。GBDT的核心就在于每一棵树学的是之前所有树结论和的残差这个残差就是一个加预测值后能得真实值的累加量。 GBDT XGBoost XGBoost XGBoost可以用于 分类回归异常检测 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 # 数据准备 X [[1],[2],[3]] y [2, 4, 6] # 构建XGBRegressor模型 model xgb.XGBRegressor(n_estimators1)# 训练模型 model.fit(X, y) # 预测 X_predict [[4]] # 修正预测数据的格式y_predict model.predict(X_predict) print(f{X_predict}XGBoost预测y值为: {y_predict}) #____________________________________________ model1 LinearRegression() #继续写线性回归预测X_predict model1.fit(X,y) y_predict model1.predict(X_predict) print(f{X_predict}LinearRegression预测y值为: {y_predict})[[4]]XGBoost预测y值为: [4.3] [[4]]LinearRegression预测y值为: [8.] XGBoost预测误差很大 因为XGBoost 是一个强大的非线性模型更适合处理复杂的非线性关系。 而这个数据明显是简单的线性模型更适合用LinearRegression XGBClassifier 用XGBoost对UCI蘑菇数据集进行分类 UCI蘑菇数据集Kaggle下载 类别信息可食用e有毒p帽形钟形b圆锥形c凸面x平面f结节k凹陷s帽表面纤维f凹槽g鳞片y光滑s帽子颜色棕色n浅黄色b肉桂色c灰色g绿色r粉红色p紫色u红色e白色w黄色y 瘀伤瘀伤t否f 气味杏仁a八角l杂酚油c鱼腥味y恶臭f霉味m无n辛辣p辛辣s … 在写代码的时候需要将数据集进行编码转化为数字 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 # 加载数据集 data pd.read_csv(mushrooms.csv)#相对路径mushrooms.csv# 对分类数据进行编码:值由字母变成数字 label_encoder LabelEncoder() for column in data.columns:data[column] label_encoder.fit_transform(data[column])print(data.head())# 分割数据集 X data.drop(class, axis1) y data[class] X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 初始化Xgboost模型 model xgb.XGBClassifier() # 训练模型 model.fit(X_train, y_train) # 预测测试集 y_pred model.predict(X_test) print(y_pred) # 计算准确率 accuracy accuracy_score(y_test, y_pred) print(f模型准确率{accuracy*100}%)#_________________________________________________ # LogisticRegression、AdaBoostClassifier也可以实现二分类哦 # 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] 模型准确率100.0% Process finished with exit code 0
http://www.hkea.cn/news/14592286/

相关文章:

  • 济南制作网站公司哪家好免费商家入驻网店
  • 成都电商设计招聘网站wordpress 新闻门户
  • 站长之家网页模板阿里云怎么做淘客网站
  • 徐州做网站的公司哪家好四川网站建设有哪些
  • 亚马逊注册没有公司网站怎么做适合写个人博客的平台
  • 网站不足百度权重站长工具
  • 椒江网站建设公司如何网上找加工订单
  • 哪个省份做网站的多如何在门户网站做推广方案
  • 电子商务网站开发时间进度表网站域名到期
  • 自己网站怎么建设个人空间网站
  • 男女做羞羞羞的网站网站推广优化外包公司
  • 网站开发公司的衡水做网站哪家好
  • 手机网站实例用自己网站做邮箱域名
  • 长沙建网站设计公司用手机怎么做免费网站
  • 去哪个网站有客户找做标书的wordpress主题开发层级
  • 城乡建设门户网站怎么屏蔽优酷网站的广告
  • 旅游网站建设的经济评价seo查询网站
  • 站长平台怎么添加网站网站的创新点
  • 我们的爱情网站制作微信是哪个公司开发的
  • 商标设计logo网站wordpress 页面文章列表
  • 做山西杂粮的网站镇江建网站
  • 沈阳市网站建设公司网站建设烟台
  • 中企高呈网站建设为网站做seo需要什么
  • 做网站的视频教学网站备案号在哪里
  • 丹阳建站推广管理山西推广网站建设
  • 大悟网站开发小型教育网站的开发与建设
  • 北京高端网站建设服务宁波易通建设网站
  • 比价网站 源码wordpress 两栏
  • 山东网站制作应用wordpress安装 后
  • 武昌网站建设公司商城app开发模板