I have 63 rows and 17 columns in the cocomo81 dataset (see the information here). The first 16 columns are the inputs to the network and the 17th column is the estimated outputs.

I took 2/3rd of the data for training and validation (i.e 42 rows), 1/3rd for testing (i.e from 43rd to 63rd rows). I sent 1st row for training with random weights and then 2nd row with updated weights (got when 1st row sent) and so on up to 41 rows (1-1000 iterations) and averaged the error got in each row and took as training Error-1. To get error i used (estimated output-actual output). After this I sent 42nd row for validation and got error in the same way as before and updated weight so got validation Error-1(no iterations).

Next I sent rows 43 to 63 for training with the updated weights got in validation and got the error in the same way as before (no iterations here). I used back propagation for updating weights and sigmoid activation function.

What I did is the right thing or not? My sir said that the validation errors and the testing errors should be less compared to training errors but I'm getting large values. So please tell me, whats wrong?

  • 1
    $\begingroup$ Please don't assume people are aware of abbreviations from other disciplines. You say "the cocomo81 dataset" like we should know what that is. Don't make that assumption. Is it something to do with this? If not, can you give some explicit idea as to what this dataset is? $\endgroup$ – Glen_b Mar 23 '13 at 3:51
  • $\begingroup$ i am doing a project i.e software effort prediction. for this effort prediction, i'm using cocomo81 dataset. this contains different different attributes related to a software. i already said that it contains 17columns. out these 17columns, 16 are attributes and 1 is the estimated output. $\endgroup$ – surya prakash Mar 23 '13 at 4:34
  • $\begingroup$ You just did exactly the same thing I said was the problem the first time... "i'm using cocomo81 dataset". Please don't do that. Please instead explain what that is, and where it comes from. Is this for some subject? $\endgroup$ – Glen_b Mar 23 '13 at 4:41
  • $\begingroup$ it(cocomo81) is the input for my project. it is given by my guide(sir). How can i upload that file and show you.. $\endgroup$ – surya prakash Mar 23 '13 at 6:01
  • $\begingroup$ I don't want to see it, I want to understand what you're talking about. Was the link I gave earlier related to it or not? I imagine the word you're looking for (instead of guide or sir) is probably 'teacher' (or if at a university, maybe a word like 'tutor', 'lecturer' or even 'professor'). $\endgroup$ – Glen_b Mar 23 '13 at 6:05

On the information you give, it's not possible to tell if you have correctly implemented what you say that you did, but the way you did it carries a risk that's easily avoided. Many data sets are sorted on some criterion; if they're sorted by cost (or say by project date, or size of project or something else likely correlated with cost) rather than in random order, then the first 42 rows and the later rows won't have similar characteristics.

Consider instead taking a random 2/3.

  • $\begingroup$ i can understand what you said. but what my project is, i should train a neural network with some already existing data(i.e dataset). such that it should give results for the new data. You can understand this, please check about MLP(MULTI-LAYER PERCEPTRON) $\endgroup$ – surya prakash Mar 24 '13 at 15:45
  • $\begingroup$ for training i cannot get new data, so i'm using some part of the dataset for training and the remaining for testing. In cocomo81, it contains some values, the each row of cocomo dataset are related to a project data(like analysts capability,programmers capability,application experience,modern programing practices,use of software tools,virtual machine experience,language experience,schedule constraint,main memory constraint,data base size,time constraint for cpu,turnaround time,machine volatility,process complexity,required software reliability) $\endgroup$ – surya prakash Mar 24 '13 at 16:08
  • $\begingroup$ sorry not for training, for testing i cannot get new data. And even if i got new data. i cannot say whether the output i got is correct. so if we divde dataset, the some part can be used for training and other for testing $\endgroup$ – surya prakash Mar 24 '13 at 16:11
  • $\begingroup$ Why are you talking about 'getting new data' there? I'm talking about avoiding a problem with the available data by dividing the existing data into those two parts differently. Do you mean the testing data has to be the last $\lceil n/3\rceil$ rows? $\endgroup$ – Glen_b Mar 24 '13 at 21:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.