I'm currently on week 4 of my Coursera course on ML, so I have much to learn about data science. However, I got the opportunity to apply what I've learned at work, and I'd like some guidance. Our company ships random objects to customers in boxes. We'd like to be able to estimate how big boxes will be, given the random objects inside.
Here's an example of the input data:
box # | contents | box size
----- | --------------------------------- | ---------
1 | a widget, a doodad, and a trinket | 20x12x8
2 | 3 widgets | 12x12x12
However, our list of items has a long tail. I did a count of total items shipped by object type, ordered by count descending. Here's the result:
rank | object count | object type
---- | ------------ | -----------
1 | 500,000 | doodad
2 | 350,000 | trinket
3 | 300,000 | widget
--- | snip | ---
50 | 6,000 | whatyoumacallits
--- | snip | ---
300 | 5 | quarts of blinker fluid
Etc. By item number 340, the count is 1, and there are 360 distinct items. I think one way to approach this at first would be to only consider the top 50 items, and try to do a simple polynomial regression with 50 features to estimate L, W, and H (assuming each variable is less than the previous one).
It won't be 100% accurate, but it will be better than wild guesses. But is there a better way to do this? Any advice is much appreciated.