python – 长时间运行的决策树模型
作者:互联网
我正在使用R中的rpart包运行我的决策树模型.这是我正在做的,
>使用read.csv加载我的数据
>删除不需要的列
>将我的数据集拆分为训练和测试
>在训练集上拟合我的模型
– 这一整天都在运行.
以下是我的数据集的摘要.
'data.frame': 117919 obs. of 7 variables:
$Database : Factor w/ 2 levels "DBIL","DBPD": 1 1 1 1 1 1 1 1 1 1 ...
$Market_Description: Factor w/ 1 level "MY (PM)": 1 1 1 1 1 1 1 1 1 1 ...
$Manufacturer : Factor w/ 21 levels "21 Century","Abbott Lab",..: 4 3 4 4 4 4 3 3 3 3 ...
$Brand : Factor w/ 133 levels "","21 Century",..: 34 26 34 34 34 34 26 26 26 26 ...
$Sub_Brand : Factor w/ 194 levels "","0-6 Bulan",..: 9 6 9 9 9 9 6 6 6 6 ...
$Age_Group : Factor w/ 5 levels "","Adultenr",..: 1 1 1 1 1 1 1 1 1 1 ...
$FMT_Category : Factor w/ 10 levels "Adult Powders (excl Super Bev)",..: 5 5 5 5 5 5 5 5 5 5 ...
这是我的模型脚本..
fit <- rpart(FMT_Category~Database+Market_Description+Manufacturer+Brand+Sub_Brand+Age_Group, data=trainingset)
它只有117919观测值.我检查了我的R中的memory.limit,它说8065,mem_used也说40 MB.我没有收到任何错误,但模型一直运行一天.所以我不知道该在这里查看什么.我希望R至少给一些蹩脚的树,所以我可以从那里开始.我认为这与因素有关,所以我用stringAsFactors = FALSE读取数据.它仍然永远运行.我在我的python脚本和weka中尝试了相同的数据,它运行速度快,没有任何错误.请让我知道我错过了什么,或者指出我应该检查的正确方向.
编辑 – 我只是注意到问题是Brand和Sub_Brand中的级别数,这使得模型永远运行,因为它必须递归运行.有任何建议来处理这个?
解决方法:
>使用Brand和Sub_Brand作为整数.
>摆脱只有1级的Market_Description,对决策树模型没有帮助.
标签:python,r,machine-learning,decision-tree 来源: https://codeday.me/bug/20190706/1396317.html