A computing system, comprising: at least one data storage configured to store computer program instructions; and at least one processor communicatively coupled to the at least one data storage, the at least one processor is configured to execute the computer program instructions to perform the following, comprising: determining a state of health indication for a battery, further comprising the steps of: receiving characteristics and process parameters for the battery; training a first supervised deep neural network. DNN, where the received characteristics are inputs to the first supervised DNN and the received process parameters are outputs of the first supervised DNN; training an unsupervised artificial intelligence, AI, estimator using one or more clustering methods based on extracted features from the first supervised DNN, where the received characteristics are inputs to the unsupervised AI estimator; training a second supervised DNN using identified clusters from the unsupervised AI estimator, where the received characteristics are inputs to the second supervised DNN; validating the identified clusters with state of health indications; and determining the state of health indication for the battery using the second supervised DNN. at least one data storage configured to store computer program instructions; and at least one processor communicatively coupled to the at least one data storage, the at least one processor is configured to execute the computer program instructions to perform the following, comprising: determining a state of health indication for a battery, further comprising the steps of: receiving characteristics and process parameters for the battery; training a first supervised deep neural network. DNN, where the received characteristics are inputs to the first supervised DNN and the received process parameters are outputs of the first supervised DNN; training an unsupervised artificial intelligence, AI, estimator using one or more clustering methods based on extracted features from the first supervised DNN, where the received characteristics are inputs to the unsupervised AI estimator; training a second supervised DNN using identified clusters from the unsupervised AI estimator, where the received characteristics are inputs to the second supervised DNN; validating the identified clusters with state of health indications; and determining the state of health indication for the battery using the second supervised DNN. receiving characteristics and process parameters for the battery; training a first supervised deep neural network. DNN, where the received characteristics are inputs to the first supervised DNN and the received process parameters are outputs of the first supervised DNN; training an unsupervised artificial intelligence, AI, estimator using one or more clustering methods based on extracted features from the first supervised DNN, where the received characteristics are inputs to the unsupervised AI estimator; training a second supervised DNN using identified clusters from the unsupervised AI estimator, where the received characteristics are inputs to the second supervised DNN; validating the identified clusters with state of health indications; and determining the state of health indication for the battery using the second supervised DNN.