BookmarkSubscribeRSS Feed
ty123
Calcite | Level 5

Hi Community,

 

I used the score node in SAS EM to generate JAVA scoring code for GBM model, but it seems that the JAVA scoring code of my GBM model cannot be compiled correctly - it seems that the DS.class file is too large and throws this error: 

Exception in thread "main" java.lang.ClassFormatError: Invalid method Code length 301529 in class file eminer/user/Score/DS

 

Does this mean that my GBM model is too large? Parameters for my GBM: iterations=20, max split=2, max depth=6, min category size=10, categorical bin=30, # of bin for interval=10.

 

Are there any ways to fix this problem? (e.g., reduce the size of JAVA code? reduce the depth of trees?)

 

Thank you in advance for your time and help!

 

Best,

Yin

1 REPLY 1
CraigDeVault
SAS Employee

Some SAS Enterprise Miner models can be very large and Java has a 64KB class file size limit.   The max 64KB class size is a limitation of Java and there is no workaround.  SAS Enterprise Miner, however, is quite capable of producing a DS.class file larger that the limit.

 

In this case, you may want to lower the number of iterations, maximum depth, category size, etc.  That would go ahead and make the score code coming out of the Gradient Boosting node smaller, which would help getting the size of the DS.CLASS file to be smaller than 64KB.

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
How to choose a machine learning algorithm

Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 802 views
  • 0 likes
  • 2 in conversation