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

苏州网站设计公司价格做网站算新媒体运营吗

苏州网站设计公司价格,做网站算新媒体运营吗,济宁建设局网站,竞价网站怎么做seo【Sklearn】基于决策树算法的数据分类预测#xff08;Excel可直接替换数据#xff09; 1.模型原理1.1 模型原理1.2 数学模型 2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 决策树是一种基于树状结构的分类和回归模型#xff0c;它通过一系列… 【Sklearn】基于决策树算法的数据分类预测Excel可直接替换数据 1.模型原理1.1 模型原理1.2 数学模型 2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 决策树是一种基于树状结构的分类和回归模型它通过一系列的决策规则来将数据划分为不同的类别或预测值。决策树的模型原理和数学模型如下 1.1 模型原理 决策树的基本思想是从根节点开始通过一系列的节点和分支根据不同特征的取值将数据集划分成不同的子集直到达到叶节点然后将每个叶节点分配到一个类别或预测值。决策树的构建过程就是确定如何选择特征以及如何划分数据集的过程。 决策树的主要步骤 选择特征 从所有特征中选择一个最佳特征作为当前节点的划分特征这个选择通常基于某个度量如信息增益、基尼系数来评估不同特征的重要性。 划分数据集 根据选择的特征将数据集划分成多个子集每个子集对应一个分支。 递归构建 对每个子集递归地重复步骤1和步骤2直到满足停止条件如达到最大深度、样本数不足等。 叶节点赋值 在构建过程中根据训练数据的真实标签或均值等方式为叶节点分配类别或预测值。 1.2 数学模型 在数学上决策树可以表示为一个树状结构其中每个节点表示一个特征的划分每个分支代表一个特征取值的分支。具体来说每个节点可以由以下元素定义 划分特征 表示选择哪个特征进行划分。 划分阈值 表示在划分特征上的取值阈值用于将数据分配到不同的子集。 叶节点值 表示在达到叶节点时所预测的类别或预测值。 在决策树的训练过程中我们寻找最优的划分特征和划分阈值以最大程度地减少不纯度或最大程度地增加信息增益、降低基尼指数等。 数学模型可以用以下形式表示 f ( x ) { C 1 , if  x belongs to region  R 1 C 2 , if  x belongs to region  R 2 ⋮ ⋮ C k , if  x belongs to region  R k f(x) \begin{cases} C_1, \text{if } x \text{ belongs to region } R_1 \\ C_2, \text{if } x \text{ belongs to region } R_2 \\ \vdots \vdots \\ C_k, \text{if } x \text{ belongs to region } R_k \end{cases} f(x)⎩ ⎨ ⎧​C1​,C2​,⋮Ck​,​if x belongs to region R1​if x belongs to region R2​⋮if x belongs to region Rk​​ 其中 C i C_i Ci​表示叶节点的类别或预测值 R i R_i Ri​表示根据特征划分得到的子集。 总之决策树通过递归地选择最佳特征和阈值将数据集划分为多个子集最终形成一个树状结构的模型用于分类或回归预测。 2.模型参数 DecisionTreeClassifier是scikit-learn库中用于构建决策树分类器的类。它具有多个参数用于调整决策树的构建和性能。以下是一些常用的参数及其说明 criterion: 衡量分割质量的标准。可以是gini基尼系数或entropy信息熵。默认为gini。 splitter: 用于选择节点分割的策略。可以是best选择最优的分割或random随机选择分割。默认为best。 max_depth: 决策树的最大深度。如果为None则节点会扩展直到所有叶节点都是纯的或者包含少于min_samples_split个样本。默认为None。 min_samples_split: 节点分裂所需的最小样本数。如果一个节点的样本数少于这个值就不会再分裂。默认为2。 min_samples_leaf: 叶节点所需的最小样本数。如果一个叶节点的样本数少于这个值可以合并到一个叶节点。默认为1。 min_weight_fraction_leaf: 叶节点所需的最小权重分数总和。与min_samples_leaf类似但是使用样本权重而不是样本数量。默认为0。 max_features: 寻找最佳分割时要考虑的特征数量。可以是整数、浮点数、字符串或None。默认为None。 random_state: 随机数生成器的种子用于随机性控制。默认为None。 max_leaf_nodes: 最大叶节点数。如果设置算法会通过去掉最不重要的叶节点来合并其他节点。默认为None。 min_impurity_decrease: 分割需要达到的最小不纯度减少量。如果分割不会降低不纯度超过这个阈值则节点将被视为叶节点。默认为0。 class_weight: 类别权重用于处理不平衡数据集。 这些是DecisionTreeClassifier中一些常用的参数。根据你的数据和问题你可以根据需要调整这些参数的值以获得更好的模型性能。在实际应用中根据数据的特点进行调参非常重要。 3.文件结构 iris.xlsx % 可替换数据集 Main.py % 主函数4.Excel数据 5.下载地址 - 资源下载地址 6.完整代码 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score, confusion_matrix import matplotlib.pyplot as plt import seaborn as snsdef decision_tree_classification(data_path, test_size0.2, random_state42):# 加载数据data pd.read_excel(data_path)# 分割特征和标签X data.iloc[:, :-1] # 所有列除了最后一列y data.iloc[:, -1] # 最后一列# 划分训练集和测试集X_train, X_test, y_train, y_test train_test_split(X, y, test_sizetest_size, random_staterandom_state)# 创建决策树分类器# 1. ** criterion: ** 衡量分割质量的标准。可以是gini基尼系数或entropy信息熵。默认为gini。# 2. ** splitter: ** 用于选择节点分割的策略。可以是best选择最优的分割或random随机选择分割。默认为best。# 3. ** max_depth: ** 决策树的最大深度。如果为None则节点会扩展直到所有叶节点都是纯的或者包含少于min_samples_split个样本。默认为None。# 4. ** min_samples_split: ** 节点分裂所需的最小样本数。如果一个节点的样本数少于这个值就不会再分裂。默认为2。# 5. ** min_samples_leaf: ** 叶节点所需的最小样本数。如果一个叶节点的样本数少于这个值可以合并到一个叶节点。默认为1。# 6. ** min_weight_fraction_leaf: ** 叶节点所需的最小权重分数总和。与min_samples_leaf类似但是使用样本权重而不是样本数量。默认为0。# 7. ** max_features: ** 寻找最佳分割时要考虑的特征数量。可以是整数、浮点数、字符串或None。默认为None。# 8. ** random_state: ** 随机数生成器的种子用于随机性控制。默认为None。# 9. ** max_leaf_nodes: ** 最大叶节点数。如果设置算法会通过去掉最不重要的叶节点来合并其他节点。默认为None。# 10. ** min_impurity_decrease: ** 分割需要达到的最小不纯度减少量。如果分割不会降低不纯度超过这个阈值则节点将被视为叶节点。默认为0。# 11. ** class_weight: ** 类别权重用于处理不平衡数据集。# 使用gini作为分割标准设置最大深度为3最小样本数为5model DecisionTreeClassifier(criteriongini, max_depth3, min_samples_split5)# 在训练集上训练模型model.fit(X_train, y_train)# 在测试集上进行预测y_pred model.predict(X_test)# 计算准确率accuracy accuracy_score(y_test, y_pred)return confusion_matrix(y_test, y_pred), y_test.values, y_pred, accuracyif __name__ __main__:# 使用函数进行分类任务data_path iris.xlsxconfusion_mat, true_labels, predicted_labels, accuracy decision_tree_classification(data_path)print(真实值, true_labels)print(预测值, predicted_labels)print(准确率{:.2%}.format(accuracy))# 绘制混淆矩阵plt.figure(figsize(8, 6))sns.heatmap(confusion_mat, annotTrue, fmtd, cmapBlues)plt.title(Confusion Matrix)plt.xlabel(Predicted Labels)plt.ylabel(True Labels)plt.show()# 用圆圈表示真实值用叉叉表示预测值# 绘制真实值与预测值的对比结果plt.figure(figsize(10, 6))plt.plot(true_labels, o, labelTrue Labels)plt.plot(predicted_labels, x, labelPredicted Labels)plt.title(True Labels vs Predicted Labels)plt.xlabel(Sample Index)plt.ylabel(Label)plt.legend()plt.show() 7.运行结果
http://www.yutouwan.com/news/365054/

相关文章:

  • 注册了域名怎样做网站wordpress自豪的采用
  • 分析企业网站建设流程信息查询app
  • 怎么把网站的标题做的炫酷施工企业安全生产管理规范最新版
  • 特价锦州网站建设全网是哪些平台
  • 网站备案幕布照片简洁高端的wordpress个人博客
  • 搜索引擎找不到的网站公司网站维护
  • 网站悬浮窗口代码百度网页地图
  • 吴江网站制作公司杭州企业网站建站模板
  • 网站在线推广小程序源码什么意思
  • 数字货币交易网站开发怎么做万商云集(成都)科技股份有限公司
  • 企联网站建设seo搜索排名优化方法
  • 诸暨市住房和建设局网站个人做外贸怎么做
  • 国外获奖flash网站网站建设制作解决方案
  • 自己做网站买东西wordpress5.9文章编辑器
  • 菠菜网站做首存网站备案和不备案的区别
  • 微信制作企业网站手游网站建设方案预算
  • 誉重网站建设公司山东做公司网站
  • 做网站的尺寸wordpress积分推广插件
  • 网站托管服务合同做弹幕网站有哪些
  • 广州海珠区培训机构网站建设拜博网站建设
  • 商务网站开发需求分析access数据库网站
  • vs简单的网站开发网站建设推广好处
  • 用php做的网站用什么数据库自助建站系统破解版
  • 厦门做网站价格高性能网站建设指南在线阅读
  • 成都网站制作scgckj如何查看网站seo
  • 大兴安岭网站建设临海大经建设集团网站
  • 做网站加入视频无法播放wordpress 批量设置标签
  • 网站建设就是学淘宝吗上海上咨建设工程咨询有限公司
  • 好看的网站颜色搭配搜狐快站怎么做网站
  • 基础网站建设素材做好的网站怎么注销