您的位置: 游戏资讯 > 游戏问答

随机森林预测精度,随机森林 预测

来源:网络 浏览:90 2022-11-14 03:57:01

公众号后台记录了发表文章的各项阅读指标。 包括内容标题、总阅读数、总阅读次数、总共享数、总共享数、总共享数、阅读后关注数、投递阅读率、共享阅读次数、首次分享率、每次共享阅读次数、阅读完成率。 使用机器学习中的随机森林算法,尝试预测了是否存在可以预测阅读后关注人数的指标和指标组合。

随机森林预测精度,随机森林 预测

数据格式和导入的数据数据集包含1588篇文章的9个统计指标。

阅读统计矩阵:微信fficialaccount.txt阅读后关注人数:微信fficialaccountfollowers.txt feature _ file-' data/微信公众号: wechatofficialaccountfollowers.txt ' feature _ mat-read.table ( feature _ file,row.names=1 sep=stringsasfactors=t(#处理异常的特征名称( rownames(feature_mat )-make.names ) rownames ) feature_mat ) )元数据

feature _ mat [1: 4,1:5 ] # totalreadingpeopletotalreadingcountstotalsharingpeopletotalsharingcountsreadingrate # # # 1820 28951120438289290.0979 # # 3186822085781917.0608 # # 449786166525628.0072 metadata如下

head # metadata # # followersafterreading # # 1227 # # 2188 # # 3119 # # 4116 # # 5105 # # 6100样品筛选和排序确保样品表和表达表的样品顺序一致

ea ture _ mat _ samplel-rownames ( feature _ mat ) metadata _ samplel-rownames ( metadata _ samplel-rownames ) meta ) commmon _ inted/inter sssssssata 确保表达表示例和metadata示例的顺序和数量完全匹配feature _ mat-feature _ mat [ common _ samplel,drop=f]metadata-metadata

如果group对应的列是数字,进行转换-回归为数值型的group对应的列是分组的情况下,对因子型进行转换-分类# R4.0后默认读取的不是factor,而是转换# dev tools: instation imagegp ) ) library ) imagegp )此处的FollowersAfterReading需要根据需要修改group。转换-回归为数字类型如果组对应的列被分组,则转换-分类为因子类型is.numeric (元数据( [ group ] ) )元数据( [group]-mixedtofloat )元数据( [ group ] ) }else )元数据) #看参数是个好习惯。 #有前面的基础概要,看各参数的意思就相当明确了。 #我也知道应该怎么调整。 #每个人需要解决的问题都不一样,通常不是别人使用哪个参数。 自己用什么参数#特别是去下游分析的时候# randomForest#源代码# random forest: random forest.default加载软件包后,直接分析,看结果怎么样

#设置随机数种子。 具体含义是https://MP.weixin.QQ.com/s/6 plxo-E8 qcdlzcgn 8e 90 ZG set.seed ( 304 )默认参数RF-random forest ( feature _ MMO 每次决策时随机选取3个指标中的最优决策( mtry ),均值残基meanofsquaredresiduals:39.82736,解释变异度) % Var explained: 74.91。 结果看起来很普通。

RF # # # call:# # random forest ( x=feature _ mat, y=metadata [ [ group ] # # typeofrandomforest:regression # # number of trees:500 # # no.ofvariablestriedateachsplit meachsplit

library(ggplot2) follower df-data.frame ( real _ follower=metadata ( [ group ],predicted_follower=predict ) ) newdata=feature_mat ( ) sp_scatterplot(followerdf,xvariable='Real_Follower ', yvariable='predicted_foor ),y variable=' predicted _ foor 652 smooth _ method=' auto ' ( coord _ fixed (1) )随机化器p=0.75,list=F ) train _ data-feature _ mat [ train _ index, ] train _ data _ group-metadata [ group ] [ test _ data _ group-metadata [ [ group ] ] [-train _ index ] library(boruta ) set.seed(1) boruta-boruta ) x=train_data,y=train_data_group,pValue=0.01, mcAdj=T maxRuns=300 ) bo ruta # # borutaperformed 14 iterations in 5.917085 secs.# #8attributesconfirmedimportant:averagereagereatint ## ReadingRate,TotalReadingCounts,totalreadingcountsofsharingand3more; #1attributesconfirmedunimportant:readingfinishrate; 下一个变量的重要性测试结果(实际上也在上面的输出中出现)、8个重要变量、0个可能重要的变量( tentative variable,重要性分数与最高阴影变量分数没有统计差异)、1个非重要变量)。

table(boruta$finaldecision ) # # tentativeconfirmedrejected # # 081绘制合格变量的重要性。 变量少的话可以缺省制图,但是变量多的话很难看到制图的图,所以需要自己组织数据进行制图。 定义一个函数,用于提取每个变量对应的重要值。

library(DPlyr ) boruta.imp - function(x ) x ) imp-reshape2:melt ) x$imphistory,na.rm=T ),-1) colnames ]variablegrp-data.frame ) variable=names ) x $ finaldecect final decision=x $ final decision ( show grp-data.frame ) ) shadowMin )、shadowMin ) 65 'shadowMin ' ) ( variableGrp-rbind ) variableGrp,showGrp ) boruta.variable.imp-merge all.x=T ) sorted variable-bo ruta.variable.imp % % group _ by ( variable ) %summarise ) median=median ) import anant ruta.variable.imp $ variable-factor ) bo ruta.variable.iii levels=sorted variable ( invisible ) bo ruta.variable.iiii ruta ) boriable ) boruta.imp ) variableimportancefinaldecision # #1averagereadingcountsforeachsharing 4.861474 confirmed # ) 2 averagereadingcountsforeachsharing 4.648540 confirmed # #3averagereadingcountsforeachsharing 6.098471 confirmed # # 4 averagereadingcountsforeachsharing 4.701201 confirmed # #5averagereadingcountsforeachsharing 3.852440 confirmed # #6averagereadinged 6从图中可以看出,重要度排行榜前四位的变量都与“共享”相关,文章被共享对提高关注度至关重要。

library(imagegp ) sp_boxplot ) boruta.variable.imp,melted=T,xvariable='Variable ',y variable=' importance

boruta.finalvarswithtentative-data.frame ( item=getselectedattributes ) bo ruta,withTentative=T,type=' bo ruta 元数据) variablefactor-rev ) levels ( bo ruta.vivata x variable=group,yvariable=variableFactor[1],smooth _ meth

交叉选中“library(ggally ) ggpairs(data,progress=F )”选择参数,拟合模型以定义函数,并生成用于测试的“mtry”列(一系列小于或等于变量总数的值)。

generatetestvariableset-function ( num_toal_variable ) max_power-ceiling(log10 ) num _ toal _ variable ) )

#训练集中特征变量的子集boruta_train_data - train_data[,bo ruta.finalvarswithtentative $ item ] bo ruta _ mtry-gege

库( caret ) if ) file.exists(RDA/微信regression.RDA ) ) borutaconfirmed _ RF _ default-read rds ) ) rutaconfirmed ) RF _ defau rt-read createmodelwited ' repeatedcv ',number=10, repeats=5) seed-1set.seed(seed ) )根据经验和感觉, borutaconfirmed _ RF _ default-train ( x=bo ruta ),用于设置要查询的参数和参数值tune grid-expand.grid ( mtry=bo ruta _ mtry ) tune group # metric=' kappa ' tr control=tr control ( saverds ) Borutaconfirmed_RF_default, ' RDA/wechatregression.RDA ' } borutaconfirmed _ RF _ default # # random forest # # 1192 samples # #8predictor # resampampamp repeated 5 times ) # summaryofsamplesizes:1073、1073、1073、1072、1073, 1073 . # # resamplingresultsacrosstuningparameters:# # # # mtryrmsersquaredmae # # 16.441881.7020911.704873 # 2.423 46.4316650.70394962.742612 # # 56.453067.70135952.754239 # # 6.4707160.698307.758901 # # 6.47707070716.66 rmsewasusedtoselecttheoptimalmodelusingthesmallestvalue.# # thefinalvalueusedforthemodelwhe

borutaconfirmed _ RF _ default ( plot )绘制贡献度最高的20个变量( boruta评估的变量的重要性与模型本身评估的重要性稍有不同) )

dotplot(variMP ) borutaconfirmed_RF_default ) )最终提取选定的模型并评估其效果。

borutaconfirmed _ RF _ default _ final model-borutaconfirmed _ RF _ default $ final model首先使用训练数据集构建的模型的训练RMSE=3.1,rsquaualt

#模型结果评估参数predictions _ train-predict ( borutaconfirmed _ RF _ default _ final model, newdata=train_data )要检索其postresamplata )的OBS=train _ data _ group # # rmsersquaredmae # # 3.10285330.94401821 .

predictions _ train-predict ( borutaconfirmed _ RF _ default _ final model, newdata=test_data ) postresample ) pred OBS=test _ data _ group # # rmsersquaredmae # # 6.22198340.8251457.7212806库( gg plot2) testfollowerdf-data.FATA predicted _ follower=predictions _ train ( ) xvariable='Real_Follower ',yvariable smooth_method='auto ' ) coord_fixed(1)根据随机森林回归不充分的随机森林回归模型注册增强功能( rerfs )可以用作解决方案。

references 3359 medium.com/swlh/random-forest-and-its-implementation-71824 ced 454 f https://Neptune.ai/blog/random-forest-regression-when-does-it-fail-and-why https://level up.git connected.com/random-forest-regrest-regrest 从成熟的代码应用、模型调谐参数、模型比较、模型评估,学习整个机器学习所需的知识和技能。

图中感受到的各种机器学习算法-随机森林决策树搜索(1)机器学习算法-从随机森林的决策树r码头开始暴力实现)2)机器学习算法-从随机森林的决策树r码头开始暴力实现) 需要机器学习算法-随机森林搜索(1)机器学习-随机森林手动10折交叉验证机器学习模型评估指标- ROC曲线和AUC值的机器学习-训练集、验证集、测试集统一238个机器学习r包基于Caret和RandomForest软件包进行随机森林分析的一般步骤(1)参加Caret模型的训练和更多的参数解读)2)。 基于Caret的随机森林随机调制四方式机器学习第17篇-特征变量筛选(1)机器学习第18篇- Boruta特征变量筛选)2)机器学习第19篇-机器学习系列补充:数据集准备与修改YSX包基于变量构建随机森林机器学习第21篇-特征递归去除RF e算法理论机器学习第22篇- RFE筛选出的特征变量竟然是Boruta倍以上的机器学习第23篇-更多的特征变量未能带来随机森林分类效果的机器学习机构好香! 推荐统一机器学习中使用的多个癌症表达数据集这238个机器学习模型r包的参考手册。 Python机器学习机器学习与人工智能、深度学习有什么关系呢? 终于说明了基于随机森林的完整机器学习过程(特征选择、交叉验证、模型评估)。

和平精英体验服官网「V3.02」IOS版

和平精英体验服官网「V3.02」IOS版

  • 分类:资讯阅读
  • 大小:17MB
  • 语言:简体中文
  • 版本:V3.02