We work at chemical company . We have nearly 3000 chemical formulas which is composed with chemical raw materials.

Our chemical formulas is composed of 20-25 raw materials. As you guess, amount of these raw materials are very important for our formulas. As a result we obtain different products via using different raw materials and different amount of raw materials.

Here is some examples:

Sample Formula 1:

%10 Raw material A
%25 Raw material B
%5 Raw material C
%60 Raw material D

Result product has such properties :

Property X: 3
Property Y: 10
Property Z: 2

What kind of machine learning method or methods should we use? I have looked for CNN but as you see there are many input and output properties as parameters.

Our goal is training a network via using our exist formulas then we will want that our network will create new formulas according to input parameters which we will give.

  • $\begingroup$ Welcome to DataScienceSE. Can you please clarify what would be the goal of the ML system? What would be given as features and what should it predict? $\endgroup$
    – Erwan
    Jan 28, 2021 at 18:21
  • $\begingroup$ Network will create new formulas according to inout parametres. We will train system with exist formulas. As i explained, formulas have raw materials. For exsmple, if you put a raw material as less or more then result product's properties can change dramatically. So our newtwork will learn impact of raw materials for products. $\endgroup$
    – Coder83
    Jan 29, 2021 at 5:57
  • $\begingroup$ So the features would be the proportions of raw material and from these values the system would predict the properties of the formula, right? $\endgroup$
    – Erwan
    Jan 29, 2021 at 12:11
  • $\begingroup$ @Erwan, exactly right. At the end of day, system will generate new formulas. I will ask the system "create a formula which brightness will be "x", colour will be "y" and viscosity will be "z" then system will create formula or formulas. $\endgroup$
    – Coder83
    Jan 29, 2021 at 16:56
  • $\begingroup$ Well, if you want to be able to ask the system to create a formula based on the properties then you need the opposite: features are properties, predictions are the proportions of raw material. Anyway in both cases you have a fixed-sized vector of numerical values as input and as output, so I suppose that CNN would work (I have no expertise in DL). I'd suggest you start with a baseline system using traditional regression methods, I think SVR (support vector regression) is worth trying. $\endgroup$
    – Erwan
    Jan 29, 2021 at 23:26

1 Answer 1


When picking an ML method, a great place to start is the sklearn algorithm cheat sheet:

enter image description here

You are predicting quantities, so regression class of variables is what you're looking for. Specifically you have multiple continuous inputs and multiple continuous outputs, which is a multivariate (linear) regression family.

As highlighted in the comments, start with a simple baseline model and build up in complexity to attempt to improve performance, towards CNNs or other.

  • $\begingroup$ Let me know if you have any questions otherwise please accept the answer $\endgroup$
    – WBM
    Mar 14, 2021 at 18:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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