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

自己做的电影网站打开很慢哈尔滨市建设工程交易

自己做的电影网站打开很慢,哈尔滨市建设工程交易,wordpress 舆情管理,主动营销的方式有哪些目录 摘要 14 梯度提升决策树 14.1 本章工作任务 14.2 本章技能目标 14.3 本章简介 14.4 编程实战 14.5 本章总结 14.6 本章作业 本章已完结! 摘要 本章实现的工作是:首先采用Python语言读取含有英语成绩、数学成绩以及学生所属类型的样本数据…

目录

摘要

14 梯度提升决策树

14.1 本章工作任务

14.2 本章技能目标

14.3 本章简介

14.4 编程实战

14.5 本章总结

14.6 本章作业

本章已完结!


摘要

本章实现的工作是:首先采用Python语言读取含有英语成绩、数学成绩以及学生所属类型的样本数据。然后将样本数据划分为训练集和测试集,接着采用GBDT算法,对训练集数据进行拟合,最后在输入更多学生的数学成绩和英语成绩后,使用已求解的最优模型去预测其分类结果。

本章掌握的技能是:1、使用NumPy包读取连续的样本数据。2、使用sklearn库model_selection模块中的model_selection函数实现训练集和测试集的划分。3、使用Matplotlib实现数据的可视化,绘制树状图。

14 梯度提升决策树

14.1 本章工作任务

 采用梯度提升决策树(GBDT)算法编写程序,根据700名学生的数学成绩和英语成绩对其进行分类,将其划分为文科生、理科生和综合生。1、算法的输入是:700名学生的数学和英语成绩以及相应的的学生类型。2、算法模型需要求解的是:N颗残差树(每颗残差树需要求解所有分支,每个分支节点需要求解该分支的属性及分支的阈值)。3、算法的结果是:待测样本中学生的分类。

14.2 本章技能目标

掌握GBDT原理。

使用Python读取样本数据,并划分为训练集和测试集。

使用Python实现GBDT的建模与求解。

掌握GBDT模型实现预测。

使用Python实现GBDT分类结果进行可视化展示。

14.3 本章简介

梯度提升决策树(GBDT)是指:一种集成算法,由多个子分类器(弱分类器)的分类结果进行累加,从而得到总分类器(强分类器)的分类结果。GBDT子分类器的特点是后一个子分类器是对前一个子分类器得到的分类结果与目标值之间的差值进行的拟合,即后一个子分类器是对前一个子分类器得到的残差值的矫正。

梯度提升决策树(GBDT)算法可以解决的实际应用问题是:已知N个样本数据,样本特征是学生的数学成绩和英语成绩,样本标签是学生的类型。通过建立GBDT模型对样本数据进行训练,找到样本特征和样本标签之间的关系,从而预测出T个新的样本(学生)的类型。

本章的重点是:梯度提升决策树方法的理解和使用。


14.4 编程实战

  步骤1 引入NumPy库,命名为np;引入pandas库,命名为pd;引入os.path.abspath()模块,命名为plt,用于绘制图像;引入os模块,用于处理文件和目录。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os

步骤2 将当前文件所在目录的路径设置为Python的当前工作目录。os.path.abspath()用于将相对路径转化为绝对路径;os.chdir()用于改变当前工作目录;os.getcwd()用于获取当前工作目录(不同设备的绝对路径不同)。

thisFilePath = os.path.abspath('.')  # 获取当前文件的绝对路径
os.chdir(thisFilePath)  # 改变当前工作目录
os.getcwd()   # 获取当前工作目录输出结果:
'D:\\MyPythonFiles'

步骤3 导入并读取数据。pd.read_csv()函数用于读取数据,usecols参数用于读取文件中指定的数据列。type()函数用于返回对象的类型。head()函数用于查看前几行数据,tail()函数用于查看后几行数据。

myData = pd.read_csv('DataForClassify(1).csv', usecols=['YingYu', 'ShuXue', 'Label'])
type(myData)
myData.head()

输出结果:

myData.tail()

输出结果:

步骤4 划分训练集和测试集。从sklearn包的model_selection模块中引入train_test_split函数,函数中的第一个参数表示所要划分的样本特征集;第二个参数表示所要划分的样本标签;第三个参数表示测试集占样本数据的比例,若为整数,则表示绝对数量;第四个参数表示随机数种子。

from sklearn.model_selection import train_test_split
trainSet_x, testSet_x, trainSet_y, testSet_y = train_test_split(myData.iloc[:, 0:2],myData.iloc[:, 2],test_size = 0.2,random_state=220
)
trainSet_x.shape输出结果:
(560,2)

步骤5 拟合并验证梯度提升决策树(GBDT)模型。从sklearn包中引入ensemble,并构建模型。

从sklearn包的model_selection模块中引入cross_val_score函数,运用 K 折交叉验证对模型的稳定性进行验证。其中,第一个参数表示模型的名称,第二个参数表示样本特征集,第三个参数表示样本标签,第四个参数表示进行几个交叉验证。K 折交叉验证指把初始训练样本分成 K份,其中 K-1份被用作训练集,剩下一份被用作评估集,进行K次训练后得到K个训练结果,通过结果对比来验证模型的稳定性。

from sklearn import ensemble
import datetime
start_time = datetime.datetime.now()   # 获取函数的开始时间
GBDT_model = ensemble.GradientBoostingClassifier(n_estimators=10, min_samples_split=50)
GBDT_model = GBDT_model.fit(trainSet_x, trainSet_y)  # 导入训练集的数据进行模型拟合
from sklearn.model_selection import cross_val_score
print("%s Score: %0.2f" % ("GBDT", GBDT_model.score(testSet_x, testSet_y)))
scores = cross_val_score(GBDT_model, testSet_x, testSet_y, cv=5)
print("%s Cross Avg. Score: %0.2f(+/-%0.2f)" % ("GBDT", scores.mean(), scores.std()*2))
end_time = datetime.datetime.now()  # 求得函数结束的时间
time_spend = end_time - start_time  # 求得函数运行的时间
print("%s Time:%0.2f" % ("GBDT", time_spend.total_seconds()))  # 输出模型的训练时间输出结果:GBDT Score: 1.00
GBDT Cross Avg. Score: 1.00(+/-0.00)
GBDT Time:333.33

步骤6 对模型的输出结果进行可视化。

from sklearn import treeestimator = GBDT_model.estimators_[0,1]dot_data = tree.export_graphviz(estimator,out_file = None,feature_names = trainSet_x.columns.values,filled = True,impurity = False,rounded = True
)
import pydotplus
graph = pydotplus.graph_from_dot_data(dot_data)
graph.get_nodes()[1].set_fillcolor("#FFF2DD")
from IPython.display import Image
Image(graph.create_png())

输出结果:

步骤7 对样本数据的分类结果进行可视化。

import matplotlib as mpldef plot(train_x, train_y, test_x, test_y, model):x1_min, x1_max = train_x.iloc[:, 0].min(), train_x.iloc[:, 0].max()  # YingYu的最低分和最高分x2_min, x2_max = train_x.iloc[:, 1].min(), train_x.iloc[:, 1].max()  # ShuXue的最低分和最高分x1, x2 = np.mgrid[x1_min:x1_max:80j, x2_min:x2_max:80j]  # 生成网格采样点grid_test = np.stack((x1.flat, x2.flat), axis = 1)grid_test_df = pd.DataFrame(grid_test, columns=train_x.columns)grid_hat = model.predict(grid_test_df)grid_hat = grid_hat.reshape(x1.shape)color = ['g', 'r', 'b']color_dark = ['darkgreen', 'darkred', 'darkblue']markers = ["o", "D", "^"]plt.pcolormesh(x1, x2, grid_hat)train_x_arr = np.array(train_x)test_x_arr  = np.array(test_x)for i, marker in enumerate(markers):plt.scatter(train_x_arr[train_y==i+1][:,0],train_x_arr[train_y==i+1][:,1],c=color[i],edgecolors='black',s=20,marker=marker)plt.scatter(test_x_arr[test_y==i+1][:,0],test_x_arr[test_y==i+1][:,1],c=color_dark[i],edgecolors='black',s=40,marker=marker)plt.xlabel('English', fontsize=13)plt.ylabel('Math', fontsize=13)plt.xlim(x1_min, x1_max)plt.ylim(x2_min, x2_max)plt.title('Students Grade', fontsize=15)plt.show()
plot(trainSet_x, trainSet_y, testSet_x, testSet_y, GBDT_model)

 输出结果:

14.5 本章总结

本章实现的工作是:首先采用Python语言读取含有英语成绩、数学成绩以及学生所属类型的样本数据。然后将样本数据划分为训练集和测试集,接着采用GBDT算法,对训练集数据进行拟合,最后在输入更多学生的数学成绩和英语成绩后,使用已求解的最优模型去预测其分类结果。

本章掌握的技能是:1、使用NumPy包读取连续的样本数据。2、使用sklearn库model_selection模块中的model_selection函数实现训练集和测试集的划分。3、使用Matplotlib实现数据的可视化,绘制树状图。

14.6 本章作业

1、实现本章的案例,即生成样本数据,实现梯度提升决策树模型的建模、参数调整、预测和数据可视化。

2、利用 Iris(鸢尾花)原始数据集,运用GBDT算法,实现根据鸢尾花的任意两个特征对其进行分类。

本章已完结!


文章转载自:

http://1K0MLpXh.qLLcp.cn
http://iRAqYL4g.qLLcp.cn
http://vDFV8RbG.qLLcp.cn
http://pTTyhVLq.qLLcp.cn
http://hcvYcCXR.qLLcp.cn
http://tLORVBqZ.qLLcp.cn
http://u1ucqOkn.qLLcp.cn
http://srFQOoUg.qLLcp.cn
http://OZ7x0Izf.qLLcp.cn
http://XZ5VgYKG.qLLcp.cn
http://ywYIgOzk.qLLcp.cn
http://dIqiy2qz.qLLcp.cn
http://6LePou1J.qLLcp.cn
http://s90k0GX6.qLLcp.cn
http://xlqGgPDt.qLLcp.cn
http://Cv3bnNOz.qLLcp.cn
http://LGJH1s8d.qLLcp.cn
http://cLnMTrtk.qLLcp.cn
http://VmRRk80U.qLLcp.cn
http://9xnpi9Cd.qLLcp.cn
http://PO7enQvd.qLLcp.cn
http://HZARTMgV.qLLcp.cn
http://DfRo7NPs.qLLcp.cn
http://2S2A9FpC.qLLcp.cn
http://Ymzq5Be4.qLLcp.cn
http://gtJ564x8.qLLcp.cn
http://4y06TkP0.qLLcp.cn
http://0eTmkUje.qLLcp.cn
http://46PDayG6.qLLcp.cn
http://FefzGusj.qLLcp.cn
http://www.dtcms.com/wzjs/779012.html

相关文章:

  • 网站com域名上不去cn能常德农科院网站
  • WordPress国外打赏杨和关键词优化
  • 网站建设基本完成百度收录提交接口
  • 做招聘网站用哪个cms推广一手渠道
  • 宿州网站建设优化企业网站代运营
  • 上海网站搜索优化湖南网站设计企业
  • 焦作商城网站建设电商网站适合做响应式布局吗
  • 南平网站开发公司网站建设思路方案
  • 网站建设开发的规划流程网站建设工作总结6
  • wordpress本地网站打开慢seo网站推广怎么做
  • 学习html5的网站网站建设预算计算方法
  • 做购物网站的目的免费网址注册平台
  • 自己搭服务器 做购物网站成本不要域名做网站
  • 网站设计广州量计价格管理培训机构
  • 珠海网站建设费用注册城乡规划师考试时间
  • 采购网站官网用什么网站做框架图
  • 北京商场购物卡优化技术服务
  • 自建网站软件网站建设制作品牌公司
  • 网站推广运作怎么做直播网站功能怎么做
  • 仲恺企业网站建设大专网页设计工资怎么样
  • 如何做好网站seoo2o网站运维建设方案
  • 福田区做网站公司太原网站建设价格低
  • 晋江做网站的公司哪家好wordpress 获取链接地址
  • 南通物流网站建设高权重网站做员会来顶排名
  • 企业网站建设不要空间可以吗什么网站可以做试题
  • 网站开发外包合同河南最新消息
  • 湛江网站建设低价推荐dede5.7网站搬家
  • 搜索引擎网站排名优化方案wordpress教程
  • wild合成版是哪个网站做的开发者选项在哪里打开vivo
  • 信阳网站建设策划方案商城系统小说