## 3 Design for Evaluating Artificial Intelligence Models  
The basic structure of the linear regression model was designed by substituting Equation (1) in Section 2, so the code in Figure 3 also follows the general structure of the linear regression model. Here, we initialize a linear regression model using the LinearRegression() function, train the model using the fit() method, and compute predictions using the predict() method. In the given code, the 'Date_Time' column is taken out of the input variables X_train and X_test and used for training and prediction, and we use the trained model to obtain the prediction y_charge_pred_linear for the X_test data. A decision tree is a non-linear model that expresses decision-making rules in a tree structure, so it is difficult to express it in a simple formula. It is expressed as a tree structure and consists of nodes and edges. Nodes represent branch conditions, edges represent paths moving along the conditions, and leaf nodes represent the final result. Therefore, predictions can be made by dividing branches according to the characteristics of the data. Figure 4 is the code designed based on the decision tree model. The line decision_tree = DecisionTreeRegressor(random_state = 42) initializes the decision tree regression model, using the DecisionTreeRegressor class to create a model object, decision_tree. The line decision_tree.fit(X_train.drop('Date_Time', axis = 1), y_charge_train) is the step to train the decision tree model using the training data. X_train.drop('Date_Time', axis = 1) (training data excluding date and time variables) and the target variable y_charge_train are injected into the model to perform training. This is the step where you use the trained decision tree model to predict the test data. Call the predict method and inject the test data X_test.drop('Date_Time', axis = 1) into the model to get the predicted value y_charge_pred_tree. This basic structure allows decision tree models to learn decision rules based on given training data and use them to predict new data. The code in Figure 5 implements the basic structure of the random forest model, which is a method of making predictions by combining multiple decision trees using an ensemble model. First, the random forest model derives the final prediction value by combining the prediction results of several decision trees. Each decision tree independently predicts the input data, and each decision tree uses the training data to learn parameters. Here, the random forest is trained using different data samples and subsets of features for each tree. Random forests combine the predictions of individual decision trees to derive final predictions. So, the code in Figure 5 uses the RandomForestRegressor to initialize the random forest model, the fit method to train the model on the training data, and the predict method to predict on the test data. In this process, each decision tree makes predictions  
Figure 4: Design code for the decision tree model. Figure 5: Design code for the random forest model. Figure 3: Design code for the linear regression model. independently, and random forest derives the final prediction value by combining these prediction results. This results in a more robust and predictive random forest model. The code in Figure 6 is designed based on a neural network model. Neural Network = MLPRegressor (random_state = 42) initializes the neural_network model using the MLPRegressor class, and random_state is set to the seed value for random number generation to ensure consistent results. The code neural_network.fit(X_train.drop('Date_Time', axis = 1), y_charge_train) uses the fit method to train the neural network model. Here, X_train represents the input features of the training data and consists of the remaining features except for the 'Date_Time' column. y_charge_train represents the target variable (output) of the training data, and the model adjusts the weights and biases to learn the relationship between the input and target variable.