-1

I'm working on a project in which I basically have to implement a recommendation system on GCP. I'm ingesting data directly from the website and storing them into BigQuery. Now, the preprocessing should not be a problem cause I can use Dataprep for that. My question is related to the model creation phase. According to some tutorials, it seems that it is not too difficult to create a model using DNN or LinearRegressor in TensorFlow. However, I've written some Java rule-based learning algorithms in the past and I'd like to know if there exists a way to use them in GCP in a similar way to those used in Tensorflow. So, assuming that I have my data stored and prepared in BigQuery, would I be able to create my learning model by using one of my Java programs?

Any help is really appreciated.

David
  • 51
  • 11

1 Answers1

0

Note that Deep Learning can be applied to those complicated problems that can not be handled by typical classification method (like your old java codes). So, If your model can be handled by simple rule-based Java code, I do not recommend you to use the Deep Learning. If, your prediction model is complicated enough and you want to have everything on GCP, I would recommend you to use Google Machine Learning Engine. You can rewrite your code in TensorFlow with available models, train your model and use it for prediction.
Moreover, there are much more advances and easy to use ML models available in Spark and DL4J which definitely outperform your Java code and can be deployed easily on your GCE instances. You can also use Google Dataflow for them.

Shahin Vakilinia
  • 355
  • 1
  • 11
  • Thank you very much for your help Shahin. Actually, that is what I want to test, the complexity of my models against some other. We all know that NNs are black boxes, so rule-based models would provide interpretable models that, in some scenarios, could be more useful. So, my question was more focused on how to provide data to a .jar file. I mean, once I have my data on BigQuery, I split them into training and test, and I want to pass them to a .jar file (my rule-based learning algorithm). Does it exist any way to do it other than re-writing my code in Python? – David Mar 19 '18 at 07:58
  • You can find BigQuery JAVA library in [1](https://github.com/google/google-api-java-client-samples/tree/master/bigquery-appengine-sample) and [2](https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-bigquery) with some examples. There are some good examples that query the data. Following this [link](https://stackoverflow.com/questions/4056682/how-can-my-java-program-store-files-inside-of-its-jar-file) you can save the exported data in jar files. – Shahin Vakilinia Mar 20 '18 at 17:29
  • If you need more details just please let me know – Shahin Vakilinia Mar 23 '18 at 17:10
  • Thanks again Shahin. It seems that it's going to be tough, but I'll definitely try with some of the ideas mentioned in the examples. – David Mar 27 '18 at 12:36