machine_learning.forecasting.run ================================ .. py:module:: machine_learning.forecasting.run .. autoapi-nested-parse:: this is code for forecasting but I modified it and used it for safety checker of data for ex: you have an online shop and for some reason some data are missing (the amount of data that u expected are not supposed to be) then we can use it *ps : 1. ofc we can use normal statistic method but in this case the data is quite absurd and only a little^^ 2. ofc u can use this and modified it for forecasting purpose for the next 3 months sales or something, u can just adjust it for ur own purpose Attributes ---------- .. autoapisummary:: machine_learning.forecasting.run.data_input_df Functions --------- .. autoapisummary:: machine_learning.forecasting.run.data_safety_checker machine_learning.forecasting.run.interquartile_range_checker machine_learning.forecasting.run.linear_regression_prediction machine_learning.forecasting.run.sarimax_predictor machine_learning.forecasting.run.support_vector_regressor Module Contents --------------- .. py:function:: data_safety_checker(list_vote: list, actual_result: float) -> bool Used to review all the votes (list result prediction) and compare it to the actual result. input : list of predictions output : print whether it's safe or not >>> data_safety_checker([2, 3, 4], 5.0) False .. py:function:: interquartile_range_checker(train_user: list) -> float Optional method: interquatile range input : list of total user in float output : low limit of input in float this method can be used to check whether some data is outlier or not >>> interquartile_range_checker([1,2,3,4,5,6,7,8,9,10]) 2.8 .. py:function:: linear_regression_prediction(train_dt: list, train_usr: list, train_mtch: list, test_dt: list, test_mtch: list) -> float First method: linear regression input : training data (date, total_user, total_event) in list of float output : list of total user prediction in float >>> n = linear_regression_prediction([2,3,4,5], [5,3,4,6], [3,1,2,4], [2,1], [2,2]) >>> bool(abs(n - 5.0) < 1e-6) # Checking precision because of floating point errors True .. py:function:: sarimax_predictor(train_user: list, train_match: list, test_match: list) -> float second method: Sarimax sarimax is a statistic method which using previous input and learn its pattern to predict future data input : training data (total_user, with exog data = total_event) in list of float output : list of total user prediction in float >>> sarimax_predictor([4,2,6,8], [3,1,2,4], [2]) 6.6666671111109626 .. py:function:: support_vector_regressor(x_train: list, x_test: list, train_user: list) -> float Third method: Support vector regressor svr is quite the same with svm(support vector machine) it uses the same principles as the SVM for classification, with only a few minor differences and the only different is that it suits better for regression purpose input : training data (date, total_user, total_event) in list of float where x = list of set (date and total event) output : list of total user prediction in float >>> support_vector_regressor([[5,2],[1,5],[6,2]], [[3,2]], [2,1,4]) 1.634932078116079 .. py:data:: data_input_df :value: None