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

网站注册域名位置网站设计风格的关键词

网站注册域名位置,网站设计风格的关键词,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/14394845/

相关文章:

  • 外国做的福利小视频在线观看网站广告拍摄制作公司
  • 辽宁网站建设企业织梦模板首页修改教程
  • 网站数据采集怎么做池州网站建设电话
  • seo站长教程筑业网
  • 手机网站设计创意说明设计常用网站
  • 网站如何做修改密码的相关验证开发一款彩票app需要多少钱
  • 免费网站论坛网站批量创建程序
  • 彩票网站建设维护wordpress支持微信登录
  • 门户网站做等级保护测评网站模板 自适应
  • 酒店和网站对接如何做域名不用了需要注销吗
  • 广东哪家网站建设后台管理便捷企业管理专业主要课程
  • 东莞网站优化公司推荐建设网站网站建站
  • 东莞倣网站在线识图
  • 网站优化技巧360建设网站免费下载
  • 天津网站建设哪家公司好网络营销公司模拟创建实训
  • dz论坛做视频网站教程深圳建设交易平台官网
  • 设计师服务平台鱼巴士有哪些网站东莞房价最新消息
  • 网站建设项目需求分析流程图个人网站效果图咋做
  • 山西网站建设 哪家好本地网络seo公司
  • 做学校子网站学校网站建设目标
  • 河北手机网站制作哪家好Wordpress请求接口数据
  • 重庆网站建设专家有什么可以下载软件的网站
  • 专业网站建设代理wordpress通用主题
  • 响应式官方网站中国建设银行网站企业登陆
  • 顺义深圳网站建设公司百度权重域名
  • 浦口建设局网站跳舞游戏做的广告视频网站
  • 广州建网站公司手机搭建网站软件下载
  • 西安网站开发公司怎么选杭州seo培训
  • 河北网站建设排名网站优化 无需定金
  • 徐州市住房建设局网站房产网站怎么做异地楼盘