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

网站 实施廊坊网站排名优化价格

网站 实施,廊坊网站排名优化价格,网页视觉设计是什么,做网站常用的技术有哪些sklearn.DecisionTreeClassifier决策树简单使用1.决策树算法基础2.sklearn.DecisionTreeClassifier简单实践2.1 决策树类2.3 决策树构建2.3.1全数据集拟合#xff0c;决策树可视化2.3.2交叉验证实验2.3.3超参数搜索2.3.4模型保存与导入2.3.5固定随机数种子参考资料1.决策树算法… sklearn.DecisionTreeClassifier决策树简单使用1.决策树算法基础2.sklearn.DecisionTreeClassifier简单实践2.1 决策树类2.3 决策树构建2.3.1全数据集拟合决策树可视化2.3.2交叉验证实验2.3.3超参数搜索2.3.4模型保存与导入2.3.5固定随机数种子参考资料1.决策树算法基础 决策树模型可以用来做 回归/分类 任务。 每次选择一个属性/特征依据特征的阈值将特征空间划分为 与 坐标轴平行的一些决策区域。如果是分类问题每个决策区域的类别为该该区域中多数样本的类别如果为回归问题每个决策区域的回归值为该区域中所有样本值的均值。 决策树复杂程度 依赖于 特征空间的几何形状。根节点-叶子节点的一条路径产生一条决策规则。 决策树最大优点可解释性强 决策树最大缺点不是分类正确率最高的模型 决策树的学习是一个NP-Complete问题所以实际中使用启发性的规则来构建决策树。 step1选最好的特征来划分数据集 step2对上一步划分的子集重复步骤1直至停止条件节点纯度/分裂增益/树深度 不同的特征衡量标准产生了不同的决策树生成算法 算法最优特征选择标准ID3信息增益:Gain(A)H(D)−H(D∥A)Gain(A)H(D)-H(D\|A)Gain(A)H(D)−H(D∥A)C4.5信息增益率:GainRatio(A)Gain(A)/Split(A)GainRatio(A)Gain(A)/Split(A)GainRatio(A)Gain(A)/Split(A)CARTgini指数增益Gini(D)−Gini(D∥A)Gini(D)-Gini(D\|A)Gini(D)−Gini(D∥A) k个类别类别分布的gini 指数如下gini指数越大样本的不确定性越大 Gini(D)∑k1Kpk(1−pk)1−∑k1Kpk2Gini(D) \sum_{k1}^Kp_k(1-p_k)1-\sum_{k1}^Kp_k^2Gini(D)k1∑K​pk​(1−pk​)1−k1∑K​pk2​ CART – Classification and Regression Trees 的缩写1984年提出的一个特征选择算法对特征进行是/否判断生成一棵二叉树。且每次选择完特征后不对特征进行剔除操作所有同一条决策规则上可能出现重复特征的情况。 2.sklearn.DecisionTreeClassifier简单实践 Scikit-learn(sklearn)是机器学习中常用的第三方模块,其建立在NumPy、Scipy、MatPlotLib之上,包括了回归降维分类聚类方法。 sklearn 通过以下两个类实现了 决策分类树 和 决策回归树 sklearn 实现了ID3和Cart 算法criterion默认为gini系数对应为CART算法。还可设置为entropy,对应为ID3。(计算机最擅长做的事规则重复计算sklearn通过对每个特征的每个切分点计算信息增益/gini增益得到当前数据集合最优的特征及最优划分点) 2.1 决策树类 sklearn.tree.DecisionTreeClassifier(criterion’gini’*,splitter’best’, max_depthNone, min_samples_split2, min_samples_leaf1, min_weight_fraction_leaf0.0, max_featuresNone, random_stateNone, max_leaf_nodesNone, min_impurity_decrease0.0, min_impurity_splitNone, class_weightNone, presortFalse)DecisionTreeRegressor(criterion’mse’, splitter’best’, max_depthNone, min_samples_split2, min_samples_leaf1, min_weight_fraction_leaf0.0, max_featuresNone, random_stateNone, max_leaf_nodesNone, min_impurity_decrease0.0, min_impurity_splitNone, presortFalse)Criterion选择属性的准则–gini–cart算法splitter特征划分点的选择策略best 特征的所有划分点中找最优random 部分划分点中找最优max_depth决策树的最大深度none/int 限制/不限制决策树的深度min_samples_split节点 继续划分需要的最小样本数如果少于这个数节点将不再划分min_samples_leaf限制叶子节点的最少样本数量如果叶子节点的样本数量过少会被剪枝min_weight_fraction_leaf叶子节点的剪枝规则max_features选取用于分类的特征的数量random_state随机数生成的一些规则、max_leaf_nodes限制叶子节点的数量防止过拟合min_impurity_decrease表示结点减少的最小不纯度控制节点的继续分割规律min_impurity_split表示结点划分的最小不纯度控制节点的继续分割规律class_weight设置各个类别的权重针对类别不均衡的数据集使用不适用于决策树回归presort控制决策树划分的速度 2.3 决策树构建 采用sklearn内置数据集鸢尾花数据集做实验。 导入第三方库 from sklearn import tree from sklearn.tree import DecisionTreeClassifier from sklearn.datasets import load_iris import graphviz import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score, precision_score, recall_score import joblib plt.switch_backend(agg)2.3.1全数据集拟合决策树可视化 def demo1():# 全数据集拟合决策树可视化iris load_iris()x, y load_iris(return_X_y True) # x[list]-feature,y[]-label clf tree.DecisionTreeClassifier() # 实例化了一个类,可以指定类参数定制决策树模型clf clf.fit(x,y) # 训练模型print(feature name , iris.feature_names) # 特征列表, 自己的数据可视化时构建一个特征列表即可print(label name ,iris.target_names) # 类别列表dot_data tree.export_graphviz(clf, out_file None, feature_names iris.feature_names, class_names iris.target_names ) graph graphviz.Source(dot_data) # 能绘制树节点的一个接口graph.render(iris) # 存成pdf图tree.export_graphviz 参数feature_names特征列表list和训练时的特征列表排列顺序对其即可class_names类别l列表ist和训练时的label列表排列顺序对其即可filledFalse/True,会依据criterion的纯度将节点显示成不同的颜色 value中的值显示的是各个类别样本的数量二分类就是[负样本数正样本数] 2.3.2交叉验证实验 def demo2():# n-折实验iris load_iris()iris_feature iris.data # 与demo1中的x,y是同样的数据iris_target iris.target# 数据集合划分参数train_x, test_x, train_y, test_y train_test_split(iris_feature,iris_target,test_size 0.2, random_state 1)dt_model DecisionTreeClassifier()dt_model.fit(train_x, train_y) # 模型训练predict_y dt_model.predict(test_x) # 模型预测输出# score dt_model.score(test_x,test_y) # 模型测试性能 输入feature_test,target_test , 输出acc# print(score) # 性能指标print(label: \n{0}.format(test_y[:5])) # 输出前5个labelprint(predict: \n{0}.format(predict_y[:5])) # 输出前5个label# sklearn 内置acc, recall, precision统计接口print(test acc: %.3f%(accuracy_score(test_y, predict_y)))# print(test recall: %.3f%(recall_score(test_y, predict_y))) # 多类别统计召回率需要指定平均方式# print(test precision: %.3f%(precision_score(test_y, predict_y))) # 多类别统计准确率需要指定平均方式2.3.3超参数搜索 def model_search(feas,labels):# 模型参数选择,全数据5折交叉验证出结果min_impurity_de_entropy np.linspace(0, 0.01, 10) # 纯度增益下界划分后降低量少于这个值将不进行分裂min_impurity_split_entropy np.linspace(0, 0.4, 10) # 当前节点纯度小于这个值将不分裂较高版本中已经取消这个参数max_depth_entropy np.arange(1,11) # 决策树的深度# param_grid {criterion : [entropy], min_impurity_decrease : min_impurity_de_entropy,max_depth : max_depth_entropy,min_impurity_split : min_impurity_split_entropy }param_grid {criterion : [entropy], max_depth : max_depth_entropy, min_impurity_split : min_impurity_split_entropy }clf GridSearchCV(DecisionTreeClassifier(), param_grid, cv 5) # 遍历以上超参 通过多次五折交叉验证得出最优的参数选择clf.fit(feas, label) print(best param:, clf.best_params_) # 输出最优参数选择print(best score:, clf.best_score_) 2.3.4模型保存与导入 模型保存 joblib.dump(clf,./dtc_model.pkl) 模型导入 model_path “./dtc_model.pkl” clf joblib.load(model_path) 2.3.5固定随机数种子 1.五折交叉验证,数据集划分随机数设置 random_state train_test_split(feas, labels, test_size 0.2, random_state 1 ) 2.模型随机数设置 andom_state DecisionTreeClassifier(random_state 1) 参考资料 1.官网类接口说明 https://scikit-learn.org/dev/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier 可视化接口说明https://scikit-learn.org/stable/modules/generated/sklearn.tree.export_graphviz.html 2.决策树超参数调参技巧https://www.jianshu.com/p/230be18b08c2 3.Sklearn.metrics 简介及应用示例https://blog.csdn.net/Yqq19950707/article/details/90169913 4.sklearn的train_test_split()各函数参数含义解释非常全https://www.cnblogs.com/Yanjy-OnlyOne/p/11288098.html 5.sklearn.tree.DecisionTreeClassifier 详细说明https://www.jianshu.com/p/8f3f1e706f11 6.使用scikit-learn中的metrics以及DecisionTreeClassifier重做《机器学习实战》中的隐形眼镜分类问题http://keyblog.cn/article-235.html 7.决策树算法https://www.cnblogs.com/yanqiang/p/11600569.html
http://wiki.neutronadmin.com/news/361443/

相关文章:

  • 游戏卡充值可以做网站吗中国台州网
  • 图片展示网站模板山东青岛网站建设公司
  • 网站创建方案论文网站不用工具开发建设
  • 做校园文化的网站企业网站备案不通过
  • 肇庆市电商网站建设价格大学生创新创业大赛获奖名单
  • 长沙网站排名提升做教育的网站
  • 大理悦花轩客栈在哪些网站做推广品牌公司
  • 建站公司网站用什么好seo网站建设是什么意思
  • 攻击静态网站帝国织梦wordpress
  • 做自己的网站多少钱百度sem竞价
  • 工体网站建设公司百度推广开户费用多少
  • 怎么建设自己网站(儿童)步骤北京商会网站建设
  • 电商网站开发语言用心做的网站
  • 一起学网站培训心得码支付wordpress用不
  • 备案信息 网站名公司网站转微信小程序
  • 网站建设需求分析调研表黄冈人才网最新招聘
  • 在网上怎么做网站重庆做石材的网站
  • 企业手机建站系统单网页网站源码
  • 小制作小灯笼seo好找工作吗
  • 电脑上建设银行网站打不开广东seo网站设计营销工具
  • 备案做电影网站吗宣传册制作
  • 网网站设计不要轻易注册一家公司
  • 海南公司网站建设dw网页编辑器
  • 聚焦伟业网站怎么做推广做杂志一般在哪个网站找感觉
  • 网站怎么做备案号超链接永清县建设局网站
  • 慈溪市建设局网站目前网站类型主要包括哪几种
  • 网站建设seo推广小程序免费制作平台有哪些
  • 省级别网站建设方案做电商如何起步
  • 智能建站设计网站制作
  • 电商网站建设新闻网站分析步骤