I'm implementing prediction system for young cricketers in ODI format using Naive Bayes classifier. The output of the system is to predict whether the young player is rising star or not. I have collected data from statsguru API of espncricinfo but I'm getting only about 300 records of players from ODI. Is it very small for training dataset?
2 Answers
Actually in machine learning more data equals more accuracy but as you mentioned in the question you had 300 sample dataset.So, the classifier has the little room to decide whom it should select but if you have less number of classes and features you may get better results.When I'm doing my project based on sensor data I used just about 100 sample records from a sensor and it actually predicted very well and got the accuracy of 77 and it has grown once I increased the dataset.but don't train it with the noise like outliers and unwanted features they affect your accuracy a lot
-
$\begingroup$ First of all thanks for the answer. It's binary classification So only 2 classes are there i.e. Rising star and Not rising star. there are total 7 features. So will it be accurate enough? $\endgroup$ Dec 23, 2017 at 13:56
-
1$\begingroup$ yaa it's sufficient as long as you won't include features that may create noise $\endgroup$ Dec 23, 2017 at 14:14
I think 300 is a good enough size. Try doing split validation and see what kind of results you are getting. I implemented a naive bayes classifier with a dataset of 100 rows and the results were not too bad. My application was text classification but try for your data and let's see how the accuracy is. Of course you will need training data, so you may have to create some data rows first by classifying them yourself.
-
$\begingroup$ Actually, I'm using all 300 records for training dataset. So what is the best way to label this training dataset in classes? Manually labeling would be a time-consuming task. $\endgroup$ Dec 24, 2017 at 14:43
-
$\begingroup$ From what i understand you were able to download a dataset of 300 players and for each player there are some 7 features. You want to build a model that will predict who will become a star player. For this you need to have some known training examples. Ideally you need around 100 players of 50 are stars and 50 are not and you label them accordingly and use this to train your model. More data than 100 would be better. $\endgroup$– VinDec 24, 2017 at 14:48
-
-