I'm trying to train a model (with TensorFlow and Keras) to classify the soil based on the x,y, and z coordinates. I have a table 8321 x 10 where 8321 are the points in a mesh, and 10 are the features I have (label, density, plasticity index, cone penetration resistance, etc). What I would like is to introduce x,y,z and the model return the label/classification (between 1 and 7) How can I make a CNN with this? I have tried the Naive Bayes, but the training data set must be the same shape as predicted, and for training, I have all information (10 features) but for prediction, I only have 3 (the coordinates x,y, and z).

I have this data, and I want to predict (populate) all the mesh. enter image description here

An example of the dataset is: enter image description here

From where for training I drop the "zone", "label" and "cptu_ID" columns and as the target, I set the "zone".

  • 1
    $\begingroup$ you need to have, at prediction time, the info you provided when training the model (i.e. all the used features by the model) $\endgroup$
    – German C M
    Jan 13 at 17:42
  • $\begingroup$ So, the only option is training my model with 4 features, x,y,z, and label? $\endgroup$ Jan 13 at 17:45
  • $\begingroup$ you must be sure that the info available at training time will also be available at inference time; actually, there is a term called data leakage, to indicate the situation when you use info at training time that you won't have at prediction time $\endgroup$
    – German C M
    Jan 13 at 17:48
  • $\begingroup$ Is that possible? How can I manage this "data leakage" in deep learning? I know that my model will be better if I use all 10 features, but the reason why I'm training is exactly that I'm not able to have all these features in every place from my mesh, so I must to predict with only 3 features $\endgroup$ Jan 13 at 17:53

Your Answer

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

Browse other questions tagged or ask your own question.