当前位置: 首页 > 网络应用技术

Python随机森林需要多长时间?

时间:2023-03-08 13:30:01 网络应用技术

  指南:本文的首席执行官注释将介绍python随机森林将运行多长时间的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  电子书收集|数据科学快速检查表|迁移学习实际战斗,免费下载

  链接:提取代码:Z9X7

  1. 10,000次消耗2毫秒

  2. 22毫秒的100,000次

  3.每次消耗304毫秒的时间消耗一百万倍

  4.仪表周期的1000万次,2337毫秒,为2.3秒

  5. 1亿次,23468毫秒,为23.4秒

  查看特定收集任务的内容。如果是图片,则访问地址规范和熟悉的规则,即一两分钟,如果它是一个复杂的网页,并且负面的攀岩规则可能需要半小时,如果类似于天空眼睛检查和爬行以从天空的眼睛,爬行和从天空,爬行和爬网爬行,从天空眼中爬行。整个公司的信息为10,000,可能需要一天或两天,因为公司需要n个更多信息

  随机森林是指使用多个树来训练和预测样品的分类器。及其输出类别由单个树的类别数量确定。在机器学习中,Scikit-Learn有一个非常重要的地方可以实现随机森林算法。

  原则:(分类预测和回归预测随机森林Sklearn.entermble.randomforestressor方法)

  (1)给定训练集S,测试集T,特征维度F.确定参数:所使用的购物车数,每棵树的深度D,每个节点使用的功能F的数量,终止条件:最小值节点上的示例编号s,节点上的最小信息增益,第一个1-1-1-1-1-1-1-t树,i = 1-t:

  (2)S(i)有一个来自s中的s(i)的培训集。作为根节点的样本,训练从根节点开始

  (3)如果在电流节点上满足终止条件,则将电流节点设置为叶节点。如果是一个分类问题,则叶节点的预测输出是当前节点中最多的样本数量的C(J)类别。C(J)是当前样本集的比例;如果是回归问题,则预测输出是当前节点样本集的每个样本值的平均值。f-特殊符号未释放。使用此f uvit,找到最佳类别的k和阈值th,当前节点上的样品k样品样品的样品分为左节点,其余的分为右节点。训练其他节点。

  (4)重复(2)(3),直到所有节点均已训练或标记为叶子节点。

  (5)重复(2),(3),(4),直到所有购物车都已训练。

  随机森林的简单实施过程如下:

  1.开发环境和编译环境:

  Pycharm社区版2016.2.3

  Python2.7.10

  第二,库和安装方法:

  熊猫[Python建造]

  Sklearn:命令行PIP安装Sklearn;如果您不安装PIP,请使用Easy_install Pip安装PIP;如果您在Mac上没有权限,请使用sudo pip install sklearn;

  第三,代码简介

  1.使用熊猫读取本地Excel训练集和测试集,并将属性赋予x_train和y_train;

  2.使用dictvectorizer标准化和标准化数据

  3.生成RandomForestRegressor对象,并将训练设置传递到适合训练的方法中

  4.调用预测函数以进行预测,并将结果保存在y_predict变量中;

  5.使用均值_squared_error,分数方法来输出MSE和NMSE值来分析合适性和稳定性;输出功能_IMPORTANE分析影响最终结果的属性;

  6.请参阅附录详细代码

  第四和附录

  #编码:UTF-8

  导入大熊猫作为pd

  data_train = pd.read_excel('/users/xiaoliu/desktop/data_train.xlsx')

  x_train = data_train [['cpi','gdp','ppi','ajr','bjfj','fbdr','fbdr','pcfd','pcfded','bdr','bdr']]]

  y_train = data_train ['fj']

  data_test = pd.read_excel('/users/xiaoliu/desktop/data_test.xlsx')

  x_test = data_teest [['cpi','gdp','ppi','ajr','bjfj','fbdr','fbdr','pcfd','pcfded','bdr','bdr']]]

  y_test = data_teest ['fj']

  来自Sklearn。feature_extraction导入victectorizer

  vec = dictvectorizer(稀疏= false)

  x_train = vec.fit_transform(x_train.to_dict(orient ='records'))

  x_test = vec.transform(x_test.to_dict(orient ='records'))

  来自sklearn.ensembell导入RandomForestRegressor

  RF = RandomForestRegressor()

  rf.fit(x_train,y_train)

  y_predict = rf.predict(x_test)

  打印“预测值:”,y_predict

  来自sklearn.metrics导入均值_squared_error

  打印'MSE:',sue_squared_error(y_test,y_predict)

  打印'nmes:',rf.score(x_test,y_test)

  打印rf.feature_importances_

  随机运行长数据接近60,000,变量的数量约为300。使用10%的折扣来验证R中的随机森林。该模型每天运行。

  您如何将Scikit-Learn软件包中的类方法用于随机森林算法。每个参数的特定用途是有益的。

  在这里,我给予我的理解和翻译的一部分:

  参数描述:

  这两个主要参数是n_estimators和max_features。

  n_estimators:指示森林中的树木数量。从理论上讲,越大越好。但是随着计算时间的增加,越多,您越多,您得到的就越大,它就会越好。最佳预测效果将出现在合理数量的树木中。

  MAX_FEATURES:选择功能集合的子集合随机随机分配节点。儿童收集的数量越少,差异的速度就越快,但同时,偏差越快,偏差就会越快。基于更好的偏差。实用经验。如果这是一个回归问题:

  max_features = n_features,如果是分类问题,则max_features = sqrt(n_features)。

  如果要获得更好的结果,max_depth = none,min_sample_split = 1。

  同时,请记住执行Cross_validated(交叉验证)。此外,请记住在随机森林中,bootstrap = true。

  这也是外国人撰写的文章:调整您的随机森林模型参数

  在这里,我使用Scikit-Learn随机森林随附的虹膜数据:

  [python]查看普通副本

  来自Sklearn.Tree进口决策者

  来自sklearn.ensembell导入RandomForestRegressor

  导入numpy作为NP

  从sklearn.datases导入load_iris

  iris = load_iris()

  #print Iris#iris的4个属性是:萼片宽度萼片laugy花瓣宽度长度标签是花的类型:setosa versicolour virginica

  打印虹膜['target']。形状

  rf = randomforestregressor()#here使用默认参数设置

  rf.fit(iris.data [:150],iris.target [:150])#执行模型训练

  #

  #randomly选择两个具有不同预测的样本

  实例= iris.data [[100,109]]]

  打印实例

  打印“实例0预测;”,rf.predict(instance [0])

  打印“实例1预测;”,rf.predict(instance [1])

  pRIS.target [100],iris.target [109]

  回报的结果如下:

  (150,)

  [[6.3 3.3 6. 2.5]

  [7.2 3.6 6.1 2.5]]]]

  实例0预测;[2.]

  实例1预测;[2.]

  22

  我在这里有些困惑,也就是说,Scikit-As As算法软件包中的随机森林实际上是由决策树组成的。盒子处理。我们不知道内部决策 - 制造树结构,即使是父节点的选择特征也不知道它是谁。因此,我给出以下代码(此代码不是我的原始代码),它可以显示因此,我们可以考虑删除此列的特征值,以避免使用无用的分类。

  [python]查看普通副本

  来自sklearn.cross_validation导入cross_val_score,shufflesplit

  x = iris [“数据”]

  y =虹膜[“目标”]

  名称= iris [“ feature_names”]

  RF = RandomForestRegressor()

  得分= []

  对于我的范围(X.Shape [1]):

  得分= cross_val_score(rf,x [:,i+1],y,评分=“ r2”,

  cv = shufflesplit(len(x),3,.3))

  SCORES.APPEND(圆形(NP.Mean(Score),3),名称[i]))

  打印排序(分数,反向= true)

  显示结果如下:

  [(0.934,'花瓣宽度(cm)'),(0.929,'花瓣长(cm)),(0.597,'sepal长度(cm)'),(0.276,'sepal宽度(cm)')]]]]]]]

  在这里,我们会发现花瓣宽度和花瓣长的两个特征将贡献绝对的贡献,然后是萼片长度,影响最小的是萼片宽度。该代码将使我们想起每个特征的贡献,这使我们能够知道我们的贡献内部结构。

  结论:以上是首席CTO注释为每个人编写的Python随机森林的相关内容的相关内容答案。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?