teradataml 17.20.0.7__py3-none-any.whl → 20.0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of teradataml might be problematic. Click here for more details.
- teradataml/LICENSE-3RD-PARTY.pdf +0 -0
- teradataml/LICENSE.pdf +0 -0
- teradataml/README.md +1935 -1640
- teradataml/__init__.py +70 -60
- teradataml/_version.py +11 -11
- teradataml/analytics/Transformations.py +2995 -2995
- teradataml/analytics/__init__.py +81 -83
- teradataml/analytics/analytic_function_executor.py +2040 -2010
- teradataml/analytics/analytic_query_generator.py +958 -958
- teradataml/analytics/byom/H2OPredict.py +514 -514
- teradataml/analytics/byom/PMMLPredict.py +437 -437
- teradataml/analytics/byom/__init__.py +14 -14
- teradataml/analytics/json_parser/__init__.py +130 -130
- teradataml/analytics/json_parser/analytic_functions_argument.py +1707 -1707
- teradataml/analytics/json_parser/json_store.py +191 -191
- teradataml/analytics/json_parser/metadata.py +1637 -1637
- teradataml/analytics/json_parser/utils.py +798 -803
- teradataml/analytics/meta_class.py +196 -196
- teradataml/analytics/sqle/DecisionTreePredict.py +455 -470
- teradataml/analytics/sqle/NaiveBayesPredict.py +419 -428
- teradataml/analytics/sqle/__init__.py +97 -110
- teradataml/analytics/sqle/json/decisiontreepredict_sqle.json +78 -78
- teradataml/analytics/sqle/json/naivebayespredict_sqle.json +62 -62
- teradataml/analytics/table_operator/__init__.py +10 -10
- teradataml/analytics/uaf/__init__.py +63 -63
- teradataml/analytics/utils.py +693 -692
- teradataml/analytics/valib.py +1603 -1600
- teradataml/automl/__init__.py +1683 -0
- teradataml/automl/custom_json_utils.py +1270 -0
- teradataml/automl/data_preparation.py +1011 -0
- teradataml/automl/data_transformation.py +789 -0
- teradataml/automl/feature_engineering.py +1580 -0
- teradataml/automl/feature_exploration.py +554 -0
- teradataml/automl/model_evaluation.py +151 -0
- teradataml/automl/model_training.py +1026 -0
- teradataml/catalog/__init__.py +1 -3
- teradataml/catalog/byom.py +1759 -1716
- teradataml/catalog/function_argument_mapper.py +859 -861
- teradataml/catalog/model_cataloging_utils.py +491 -1510
- teradataml/clients/auth_client.py +133 -0
- teradataml/clients/pkce_client.py +481 -481
- teradataml/common/aed_utils.py +7 -2
- teradataml/common/bulk_exposed_utils.py +111 -111
- teradataml/common/constants.py +1438 -1441
- teradataml/common/deprecations.py +160 -0
- teradataml/common/exceptions.py +73 -73
- teradataml/common/formula.py +742 -742
- teradataml/common/garbagecollector.py +597 -635
- teradataml/common/messagecodes.py +424 -431
- teradataml/common/messages.py +228 -231
- teradataml/common/sqlbundle.py +693 -693
- teradataml/common/td_coltype_code_to_tdtype.py +48 -48
- teradataml/common/utils.py +2424 -2500
- teradataml/common/warnings.py +25 -25
- teradataml/common/wrapper_utils.py +1 -110
- teradataml/config/dummy_file1.cfg +4 -4
- teradataml/config/dummy_file2.cfg +2 -2
- teradataml/config/sqlengine_alias_definitions_v1.0 +13 -13
- teradataml/config/sqlengine_alias_definitions_v1.1 +19 -19
- teradataml/config/sqlengine_alias_definitions_v1.3 +18 -18
- teradataml/context/aed_context.py +217 -217
- teradataml/context/context.py +1091 -999
- teradataml/data/A_loan.csv +19 -19
- teradataml/data/BINARY_REALS_LEFT.csv +11 -11
- teradataml/data/BINARY_REALS_RIGHT.csv +11 -11
- teradataml/data/B_loan.csv +49 -49
- teradataml/data/BuoyData2.csv +17 -17
- teradataml/data/CONVOLVE2_COMPLEX_LEFT.csv +5 -5
- teradataml/data/CONVOLVE2_COMPLEX_RIGHT.csv +5 -5
- teradataml/data/Convolve2RealsLeft.csv +5 -5
- teradataml/data/Convolve2RealsRight.csv +5 -5
- teradataml/data/Convolve2ValidLeft.csv +11 -11
- teradataml/data/Convolve2ValidRight.csv +11 -11
- teradataml/data/DFFTConv_Real_8_8.csv +65 -65
- teradataml/data/Orders1_12mf.csv +24 -24
- teradataml/data/Pi_loan.csv +7 -7
- teradataml/data/SMOOTHED_DATA.csv +7 -7
- teradataml/data/TestDFFT8.csv +9 -9
- teradataml/data/TestRiver.csv +109 -109
- teradataml/data/Traindata.csv +28 -28
- teradataml/data/acf.csv +17 -17
- teradataml/data/adaboost_example.json +34 -34
- teradataml/data/adaboostpredict_example.json +24 -24
- teradataml/data/additional_table.csv +10 -10
- teradataml/data/admissions_test.csv +21 -21
- teradataml/data/admissions_train.csv +41 -41
- teradataml/data/admissions_train_nulls.csv +41 -41
- teradataml/data/advertising.csv +201 -0
- teradataml/data/ageandheight.csv +13 -13
- teradataml/data/ageandpressure.csv +31 -31
- teradataml/data/antiselect_example.json +36 -36
- teradataml/data/antiselect_input.csv +8 -8
- teradataml/data/antiselect_input_mixed_case.csv +8 -8
- teradataml/data/applicant_external.csv +6 -6
- teradataml/data/applicant_reference.csv +6 -6
- teradataml/data/arima_example.json +9 -9
- teradataml/data/assortedtext_input.csv +8 -8
- teradataml/data/attribution_example.json +33 -33
- teradataml/data/attribution_sample_table.csv +27 -27
- teradataml/data/attribution_sample_table1.csv +6 -6
- teradataml/data/attribution_sample_table2.csv +11 -11
- teradataml/data/bank_churn.csv +10001 -0
- teradataml/data/bank_marketing.csv +11163 -0
- teradataml/data/bank_web_clicks1.csv +42 -42
- teradataml/data/bank_web_clicks2.csv +91 -91
- teradataml/data/bank_web_url.csv +85 -85
- teradataml/data/barrier.csv +2 -2
- teradataml/data/barrier_new.csv +3 -3
- teradataml/data/betweenness_example.json +13 -13
- teradataml/data/bike_sharing.csv +732 -0
- teradataml/data/bin_breaks.csv +8 -8
- teradataml/data/bin_fit_ip.csv +3 -3
- teradataml/data/binary_complex_left.csv +11 -11
- teradataml/data/binary_complex_right.csv +11 -11
- teradataml/data/binary_matrix_complex_left.csv +21 -21
- teradataml/data/binary_matrix_complex_right.csv +21 -21
- teradataml/data/binary_matrix_real_left.csv +21 -21
- teradataml/data/binary_matrix_real_right.csv +21 -21
- teradataml/data/blood2ageandweight.csv +26 -26
- teradataml/data/bmi.csv +501 -0
- teradataml/data/boston.csv +507 -507
- teradataml/data/boston2cols.csv +721 -0
- teradataml/data/breast_cancer.csv +570 -0
- teradataml/data/buoydata_mix.csv +11 -11
- teradataml/data/burst_data.csv +5 -5
- teradataml/data/burst_example.json +20 -20
- teradataml/data/byom_example.json +17 -17
- teradataml/data/bytes_table.csv +3 -3
- teradataml/data/cal_housing_ex_raw.csv +70 -70
- teradataml/data/callers.csv +7 -7
- teradataml/data/calls.csv +10 -10
- teradataml/data/cars_hist.csv +33 -33
- teradataml/data/cat_table.csv +24 -24
- teradataml/data/ccm_example.json +31 -31
- teradataml/data/ccm_input.csv +91 -91
- teradataml/data/ccm_input2.csv +13 -13
- teradataml/data/ccmexample.csv +101 -101
- teradataml/data/ccmprepare_example.json +8 -8
- teradataml/data/ccmprepare_input.csv +91 -91
- teradataml/data/cfilter_example.json +12 -12
- teradataml/data/changepointdetection_example.json +18 -18
- teradataml/data/changepointdetectionrt_example.json +8 -8
- teradataml/data/chi_sq.csv +2 -2
- teradataml/data/churn_data.csv +14 -14
- teradataml/data/churn_emission.csv +35 -35
- teradataml/data/churn_initial.csv +3 -3
- teradataml/data/churn_state_transition.csv +5 -5
- teradataml/data/citedges_2.csv +745 -745
- teradataml/data/citvertices_2.csv +1210 -1210
- teradataml/data/clicks2.csv +16 -16
- teradataml/data/clickstream.csv +12 -12
- teradataml/data/clickstream1.csv +11 -11
- teradataml/data/closeness_example.json +15 -15
- teradataml/data/complaints.csv +21 -21
- teradataml/data/complaints_mini.csv +3 -3
- teradataml/data/complaints_testtoken.csv +224 -224
- teradataml/data/complaints_tokens_test.csv +353 -353
- teradataml/data/complaints_traintoken.csv +472 -472
- teradataml/data/computers_category.csv +1001 -1001
- teradataml/data/computers_test1.csv +1252 -1252
- teradataml/data/computers_train1.csv +5009 -5009
- teradataml/data/computers_train1_clustered.csv +5009 -5009
- teradataml/data/confusionmatrix_example.json +9 -9
- teradataml/data/conversion_event_table.csv +3 -3
- teradataml/data/corr_input.csv +17 -17
- teradataml/data/correlation_example.json +11 -11
- teradataml/data/coxhazardratio_example.json +39 -39
- teradataml/data/coxph_example.json +15 -15
- teradataml/data/coxsurvival_example.json +28 -28
- teradataml/data/cpt.csv +41 -41
- teradataml/data/credit_ex_merged.csv +45 -45
- teradataml/data/customer_loyalty.csv +301 -301
- teradataml/data/customer_loyalty_newseq.csv +31 -31
- teradataml/data/customer_segmentation_test.csv +2628 -0
- teradataml/data/customer_segmentation_train.csv +8069 -0
- teradataml/data/dataframe_example.json +146 -146
- teradataml/data/decisionforest_example.json +37 -37
- teradataml/data/decisionforestpredict_example.json +38 -38
- teradataml/data/decisiontree_example.json +21 -21
- teradataml/data/decisiontreepredict_example.json +45 -45
- teradataml/data/dfft2_size4_real.csv +17 -17
- teradataml/data/dfft2_test_matrix16.csv +17 -17
- teradataml/data/dfft2conv_real_4_4.csv +65 -65
- teradataml/data/diabetes.csv +443 -443
- teradataml/data/diabetes_test.csv +89 -89
- teradataml/data/dict_table.csv +5 -5
- teradataml/data/docperterm_table.csv +4 -4
- teradataml/data/docs/__init__.py +1 -1
- teradataml/data/docs/byom/docs/DataRobotPredict.py +180 -180
- teradataml/data/docs/byom/docs/DataikuPredict.py +177 -177
- teradataml/data/docs/byom/docs/H2OPredict.py +324 -324
- teradataml/data/docs/byom/docs/ONNXPredict.py +283 -283
- teradataml/data/docs/byom/docs/PMMLPredict.py +277 -277
- teradataml/data/docs/sqle/docs_17_10/Antiselect.py +82 -82
- teradataml/data/docs/sqle/docs_17_10/Attribution.py +199 -199
- teradataml/data/docs/sqle/docs_17_10/BincodeFit.py +171 -171
- teradataml/data/docs/sqle/docs_17_10/BincodeTransform.py +131 -130
- teradataml/data/docs/sqle/docs_17_10/CategoricalSummary.py +86 -86
- teradataml/data/docs/sqle/docs_17_10/ChiSq.py +90 -90
- teradataml/data/docs/sqle/docs_17_10/ColumnSummary.py +85 -85
- teradataml/data/docs/sqle/docs_17_10/ConvertTo.py +95 -95
- teradataml/data/docs/sqle/docs_17_10/DecisionForestPredict.py +139 -139
- teradataml/data/docs/sqle/docs_17_10/DecisionTreePredict.py +151 -151
- teradataml/data/docs/sqle/docs_17_10/FTest.py +160 -160
- teradataml/data/docs/sqle/docs_17_10/FillRowId.py +82 -82
- teradataml/data/docs/sqle/docs_17_10/Fit.py +87 -87
- teradataml/data/docs/sqle/docs_17_10/GLMPredict.py +144 -144
- teradataml/data/docs/sqle/docs_17_10/GetRowsWithMissingValues.py +84 -84
- teradataml/data/docs/sqle/docs_17_10/GetRowsWithoutMissingValues.py +81 -81
- teradataml/data/docs/sqle/docs_17_10/Histogram.py +164 -164
- teradataml/data/docs/sqle/docs_17_10/MovingAverage.py +134 -134
- teradataml/data/docs/sqle/docs_17_10/NGramSplitter.py +208 -208
- teradataml/data/docs/sqle/docs_17_10/NPath.py +265 -265
- teradataml/data/docs/sqle/docs_17_10/NaiveBayesPredict.py +116 -116
- teradataml/data/docs/sqle/docs_17_10/NaiveBayesTextClassifierPredict.py +176 -176
- teradataml/data/docs/sqle/docs_17_10/NumApply.py +147 -147
- teradataml/data/docs/sqle/docs_17_10/OneHotEncodingFit.py +134 -132
- teradataml/data/docs/sqle/docs_17_10/OneHotEncodingTransform.py +109 -103
- teradataml/data/docs/sqle/docs_17_10/OutlierFilterFit.py +165 -165
- teradataml/data/docs/sqle/docs_17_10/OutlierFilterTransform.py +105 -101
- teradataml/data/docs/sqle/docs_17_10/Pack.py +128 -128
- teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesFit.py +111 -111
- teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesTransform.py +102 -102
- teradataml/data/docs/sqle/docs_17_10/QQNorm.py +104 -104
- teradataml/data/docs/sqle/docs_17_10/RoundColumns.py +109 -109
- teradataml/data/docs/sqle/docs_17_10/RowNormalizeFit.py +117 -117
- teradataml/data/docs/sqle/docs_17_10/RowNormalizeTransform.py +99 -98
- teradataml/data/docs/sqle/docs_17_10/SVMSparsePredict.py +152 -152
- teradataml/data/docs/sqle/docs_17_10/ScaleFit.py +197 -197
- teradataml/data/docs/sqle/docs_17_10/ScaleTransform.py +99 -98
- teradataml/data/docs/sqle/docs_17_10/Sessionize.py +113 -113
- teradataml/data/docs/sqle/docs_17_10/SimpleImputeFit.py +116 -116
- teradataml/data/docs/sqle/docs_17_10/SimpleImputeTransform.py +98 -98
- teradataml/data/docs/sqle/docs_17_10/StrApply.py +187 -187
- teradataml/data/docs/sqle/docs_17_10/StringSimilarity.py +145 -145
- teradataml/data/docs/sqle/docs_17_10/Transform.py +105 -104
- teradataml/data/docs/sqle/docs_17_10/UnivariateStatistics.py +141 -141
- teradataml/data/docs/sqle/docs_17_10/Unpack.py +214 -214
- teradataml/data/docs/sqle/docs_17_10/WhichMax.py +83 -83
- teradataml/data/docs/sqle/docs_17_10/WhichMin.py +83 -83
- teradataml/data/docs/sqle/docs_17_10/ZTest.py +155 -155
- teradataml/data/docs/sqle/docs_17_20/ANOVA.py +186 -126
- teradataml/data/docs/sqle/docs_17_20/Antiselect.py +82 -82
- teradataml/data/docs/sqle/docs_17_20/Attribution.py +200 -200
- teradataml/data/docs/sqle/docs_17_20/BincodeFit.py +171 -171
- teradataml/data/docs/sqle/docs_17_20/BincodeTransform.py +139 -138
- teradataml/data/docs/sqle/docs_17_20/CategoricalSummary.py +86 -86
- teradataml/data/docs/sqle/docs_17_20/ChiSq.py +90 -90
- teradataml/data/docs/sqle/docs_17_20/ClassificationEvaluator.py +166 -166
- teradataml/data/docs/sqle/docs_17_20/ColumnSummary.py +85 -85
- teradataml/data/docs/sqle/docs_17_20/ColumnTransformer.py +245 -243
- teradataml/data/docs/sqle/docs_17_20/ConvertTo.py +113 -113
- teradataml/data/docs/sqle/docs_17_20/DecisionForest.py +279 -279
- teradataml/data/docs/sqle/docs_17_20/DecisionForestPredict.py +144 -144
- teradataml/data/docs/sqle/docs_17_20/DecisionTreePredict.py +135 -135
- teradataml/data/docs/sqle/docs_17_20/FTest.py +239 -160
- teradataml/data/docs/sqle/docs_17_20/FillRowId.py +82 -82
- teradataml/data/docs/sqle/docs_17_20/Fit.py +87 -87
- teradataml/data/docs/sqle/docs_17_20/GLM.py +541 -380
- teradataml/data/docs/sqle/docs_17_20/GLMPerSegment.py +414 -414
- teradataml/data/docs/sqle/docs_17_20/GLMPredict.py +144 -144
- teradataml/data/docs/sqle/docs_17_20/GLMPredictPerSegment.py +233 -234
- teradataml/data/docs/sqle/docs_17_20/GetFutileColumns.py +125 -123
- teradataml/data/docs/sqle/docs_17_20/GetRowsWithMissingValues.py +108 -108
- teradataml/data/docs/sqle/docs_17_20/GetRowsWithoutMissingValues.py +105 -105
- teradataml/data/docs/sqle/docs_17_20/Histogram.py +223 -223
- teradataml/data/docs/sqle/docs_17_20/KMeans.py +251 -204
- teradataml/data/docs/sqle/docs_17_20/KMeansPredict.py +144 -143
- teradataml/data/docs/sqle/docs_17_20/KNN.py +214 -214
- teradataml/data/docs/sqle/docs_17_20/MovingAverage.py +134 -134
- teradataml/data/docs/sqle/docs_17_20/NGramSplitter.py +208 -208
- teradataml/data/docs/sqle/docs_17_20/NPath.py +265 -265
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesPredict.py +116 -116
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierPredict.py +177 -176
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierTrainer.py +126 -126
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineFit.py +118 -117
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineTransform.py +112 -112
- teradataml/data/docs/sqle/docs_17_20/NumApply.py +147 -147
- teradataml/data/docs/sqle/docs_17_20/OneClassSVM.py +307 -307
- teradataml/data/docs/sqle/docs_17_20/OneClassSVMPredict.py +185 -184
- teradataml/data/docs/sqle/docs_17_20/OneHotEncodingFit.py +230 -225
- teradataml/data/docs/sqle/docs_17_20/OneHotEncodingTransform.py +121 -115
- teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingFit.py +219 -219
- teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingTransform.py +127 -127
- teradataml/data/docs/sqle/docs_17_20/OutlierFilterFit.py +189 -189
- teradataml/data/docs/sqle/docs_17_20/OutlierFilterTransform.py +117 -112
- teradataml/data/docs/sqle/docs_17_20/Pack.py +128 -128
- teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesFit.py +111 -111
- teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesTransform.py +112 -111
- teradataml/data/docs/sqle/docs_17_20/QQNorm.py +104 -104
- teradataml/data/docs/sqle/docs_17_20/ROC.py +164 -163
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionFit.py +154 -154
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionMinComponents.py +106 -106
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionTransform.py +120 -120
- teradataml/data/docs/sqle/docs_17_20/RegressionEvaluator.py +211 -211
- teradataml/data/docs/sqle/docs_17_20/RoundColumns.py +108 -108
- teradataml/data/docs/sqle/docs_17_20/RowNormalizeFit.py +117 -117
- teradataml/data/docs/sqle/docs_17_20/RowNormalizeTransform.py +111 -110
- teradataml/data/docs/sqle/docs_17_20/SVM.py +413 -413
- teradataml/data/docs/sqle/docs_17_20/SVMPredict.py +213 -202
- teradataml/data/docs/sqle/docs_17_20/SVMSparsePredict.py +152 -152
- teradataml/data/docs/sqle/docs_17_20/ScaleFit.py +315 -197
- teradataml/data/docs/sqle/docs_17_20/ScaleTransform.py +202 -109
- teradataml/data/docs/sqle/docs_17_20/SentimentExtractor.py +206 -206
- teradataml/data/docs/sqle/docs_17_20/Sessionize.py +113 -113
- teradataml/data/docs/sqle/docs_17_20/Silhouette.py +152 -152
- teradataml/data/docs/sqle/docs_17_20/SimpleImputeFit.py +116 -116
- teradataml/data/docs/sqle/docs_17_20/SimpleImputeTransform.py +109 -108
- teradataml/data/docs/sqle/docs_17_20/StrApply.py +187 -187
- teradataml/data/docs/sqle/docs_17_20/StringSimilarity.py +145 -145
- teradataml/data/docs/sqle/docs_17_20/TDDecisionForestPredict.py +207 -207
- teradataml/data/docs/sqle/docs_17_20/TDGLMPredict.py +333 -171
- teradataml/data/docs/sqle/docs_17_20/TargetEncodingFit.py +266 -266
- teradataml/data/docs/sqle/docs_17_20/TargetEncodingTransform.py +141 -140
- teradataml/data/docs/sqle/docs_17_20/TextParser.py +172 -172
- teradataml/data/docs/sqle/docs_17_20/TrainTestSplit.py +159 -159
- teradataml/data/docs/sqle/docs_17_20/Transform.py +123 -123
- teradataml/data/docs/sqle/docs_17_20/UnivariateStatistics.py +141 -141
- teradataml/data/docs/sqle/docs_17_20/Unpack.py +214 -214
- teradataml/data/docs/sqle/docs_17_20/VectorDistance.py +168 -168
- teradataml/data/docs/sqle/docs_17_20/WhichMax.py +83 -83
- teradataml/data/docs/sqle/docs_17_20/WhichMin.py +83 -83
- teradataml/data/docs/sqle/docs_17_20/WordEmbeddings.py +236 -236
- teradataml/data/docs/sqle/docs_17_20/XGBoost.py +361 -353
- teradataml/data/docs/sqle/docs_17_20/XGBoostPredict.py +281 -275
- teradataml/data/docs/sqle/docs_17_20/ZTest.py +220 -155
- teradataml/data/docs/tableoperator/docs_17_00/ReadNOS.py +429 -429
- teradataml/data/docs/tableoperator/docs_17_05/ReadNOS.py +429 -429
- teradataml/data/docs/tableoperator/docs_17_05/WriteNOS.py +347 -347
- teradataml/data/docs/tableoperator/docs_17_10/ReadNOS.py +428 -428
- teradataml/data/docs/tableoperator/docs_17_10/WriteNOS.py +347 -347
- teradataml/data/docs/tableoperator/docs_17_20/ReadNOS.py +439 -439
- teradataml/data/docs/tableoperator/docs_17_20/WriteNOS.py +386 -386
- teradataml/data/docs/uaf/docs_17_20/ACF.py +195 -195
- teradataml/data/docs/uaf/docs_17_20/ArimaEstimate.py +369 -369
- teradataml/data/docs/uaf/docs_17_20/ArimaForecast.py +142 -142
- teradataml/data/docs/uaf/docs_17_20/ArimaValidate.py +159 -159
- teradataml/data/docs/uaf/docs_17_20/BinaryMatrixOp.py +247 -247
- teradataml/data/docs/uaf/docs_17_20/BinarySeriesOp.py +252 -252
- teradataml/data/docs/uaf/docs_17_20/BreuschGodfrey.py +177 -177
- teradataml/data/docs/uaf/docs_17_20/BreuschPaganGodfrey.py +174 -174
- teradataml/data/docs/uaf/docs_17_20/Convolve.py +226 -226
- teradataml/data/docs/uaf/docs_17_20/Convolve2.py +214 -214
- teradataml/data/docs/uaf/docs_17_20/CumulPeriodogram.py +183 -183
- teradataml/data/docs/uaf/docs_17_20/DFFT.py +203 -203
- teradataml/data/docs/uaf/docs_17_20/DFFT2.py +216 -216
- teradataml/data/docs/uaf/docs_17_20/DFFT2Conv.py +215 -215
- teradataml/data/docs/uaf/docs_17_20/DFFTConv.py +191 -191
- teradataml/data/docs/uaf/docs_17_20/DTW.py +179 -179
- teradataml/data/docs/uaf/docs_17_20/DickeyFuller.py +144 -144
- teradataml/data/docs/uaf/docs_17_20/DurbinWatson.py +183 -183
- teradataml/data/docs/uaf/docs_17_20/ExtractResults.py +184 -184
- teradataml/data/docs/uaf/docs_17_20/FitMetrics.py +172 -172
- teradataml/data/docs/uaf/docs_17_20/GenseriesFormula.py +205 -205
- teradataml/data/docs/uaf/docs_17_20/GenseriesSinusoids.py +142 -142
- teradataml/data/docs/uaf/docs_17_20/HoltWintersForecaster.py +258 -258
- teradataml/data/docs/uaf/docs_17_20/IDFFT.py +164 -164
- teradataml/data/docs/uaf/docs_17_20/IDFFT2.py +198 -198
- teradataml/data/docs/uaf/docs_17_20/InputValidator.py +120 -120
- teradataml/data/docs/uaf/docs_17_20/LineSpec.py +155 -155
- teradataml/data/docs/uaf/docs_17_20/LinearRegr.py +214 -214
- teradataml/data/docs/uaf/docs_17_20/MAMean.py +173 -173
- teradataml/data/docs/uaf/docs_17_20/MInfo.py +133 -133
- teradataml/data/docs/uaf/docs_17_20/MatrixMultiply.py +135 -135
- teradataml/data/docs/uaf/docs_17_20/MultivarRegr.py +190 -190
- teradataml/data/docs/uaf/docs_17_20/PACF.py +158 -158
- teradataml/data/docs/uaf/docs_17_20/Portman.py +216 -216
- teradataml/data/docs/uaf/docs_17_20/PowerTransform.py +154 -154
- teradataml/data/docs/uaf/docs_17_20/Resample.py +228 -228
- teradataml/data/docs/uaf/docs_17_20/SInfo.py +122 -122
- teradataml/data/docs/uaf/docs_17_20/SeasonalNormalize.py +165 -165
- teradataml/data/docs/uaf/docs_17_20/SelectionCriteria.py +173 -173
- teradataml/data/docs/uaf/docs_17_20/SignifPeriodicities.py +170 -170
- teradataml/data/docs/uaf/docs_17_20/SignifResidmean.py +163 -163
- teradataml/data/docs/uaf/docs_17_20/SimpleExp.py +179 -179
- teradataml/data/docs/uaf/docs_17_20/Smoothma.py +207 -207
- teradataml/data/docs/uaf/docs_17_20/TrackingOp.py +150 -150
- teradataml/data/docs/uaf/docs_17_20/UNDIFF.py +171 -171
- teradataml/data/docs/uaf/docs_17_20/Unnormalize.py +201 -201
- teradataml/data/docs/uaf/docs_17_20/WhitesGeneral.py +169 -169
- teradataml/data/dtw_example.json +17 -17
- teradataml/data/dtw_t1.csv +11 -11
- teradataml/data/dtw_t2.csv +4 -4
- teradataml/data/dwt2d_example.json +15 -15
- teradataml/data/dwt_example.json +14 -14
- teradataml/data/dwt_filter_dim.csv +5 -5
- teradataml/data/emission.csv +9 -9
- teradataml/data/emp_table_by_dept.csv +19 -19
- teradataml/data/employee_info.csv +4 -4
- teradataml/data/employee_table.csv +6 -6
- teradataml/data/excluding_event_table.csv +2 -2
- teradataml/data/finance_data.csv +6 -6
- teradataml/data/finance_data2.csv +61 -61
- teradataml/data/finance_data3.csv +93 -93
- teradataml/data/fish.csv +160 -0
- teradataml/data/fm_blood2ageandweight.csv +26 -26
- teradataml/data/fmeasure_example.json +11 -11
- teradataml/data/followers_leaders.csv +10 -10
- teradataml/data/fpgrowth_example.json +12 -12
- teradataml/data/frequentpaths_example.json +29 -29
- teradataml/data/friends.csv +9 -9
- teradataml/data/fs_input.csv +33 -33
- teradataml/data/fs_input1.csv +33 -33
- teradataml/data/genData.csv +513 -513
- teradataml/data/geodataframe_example.json +39 -39
- teradataml/data/glass_types.csv +215 -0
- teradataml/data/glm_admissions_model.csv +12 -12
- teradataml/data/glm_example.json +56 -29
- teradataml/data/glml1l2_example.json +28 -28
- teradataml/data/glml1l2predict_example.json +54 -54
- teradataml/data/glmpredict_example.json +54 -54
- teradataml/data/gq_t1.csv +21 -21
- teradataml/data/hconvolve_complex_right.csv +5 -5
- teradataml/data/hconvolve_complex_rightmulti.csv +5 -5
- teradataml/data/histogram_example.json +11 -11
- teradataml/data/hmmdecoder_example.json +78 -78
- teradataml/data/hmmevaluator_example.json +24 -24
- teradataml/data/hmmsupervised_example.json +10 -10
- teradataml/data/hmmunsupervised_example.json +7 -7
- teradataml/data/house_values.csv +12 -12
- teradataml/data/house_values2.csv +13 -13
- teradataml/data/housing_cat.csv +7 -7
- teradataml/data/housing_data.csv +9 -9
- teradataml/data/housing_test.csv +47 -47
- teradataml/data/housing_test_binary.csv +47 -47
- teradataml/data/housing_train.csv +493 -493
- teradataml/data/housing_train_attribute.csv +4 -4
- teradataml/data/housing_train_binary.csv +437 -437
- teradataml/data/housing_train_parameter.csv +2 -2
- teradataml/data/housing_train_response.csv +493 -493
- teradataml/data/housing_train_segment.csv +201 -0
- teradataml/data/ibm_stock.csv +370 -370
- teradataml/data/ibm_stock1.csv +370 -370
- teradataml/data/identitymatch_example.json +21 -21
- teradataml/data/idf_table.csv +4 -4
- teradataml/data/impressions.csv +101 -101
- teradataml/data/inflation.csv +21 -21
- teradataml/data/initial.csv +3 -3
- teradataml/data/insect2Cols.csv +61 -0
- teradataml/data/insect_sprays.csv +12 -12
- teradataml/data/insurance.csv +1339 -1339
- teradataml/data/interpolator_example.json +12 -12
- teradataml/data/iris_altinput.csv +481 -481
- teradataml/data/iris_attribute_output.csv +8 -8
- teradataml/data/iris_attribute_test.csv +121 -121
- teradataml/data/iris_attribute_train.csv +481 -481
- teradataml/data/iris_category_expect_predict.csv +31 -31
- teradataml/data/iris_data.csv +151 -0
- teradataml/data/iris_input.csv +151 -151
- teradataml/data/iris_response_train.csv +121 -121
- teradataml/data/iris_test.csv +31 -31
- teradataml/data/iris_train.csv +121 -121
- teradataml/data/join_table1.csv +4 -4
- teradataml/data/join_table2.csv +4 -4
- teradataml/data/jsons/anly_function_name.json +6 -6
- teradataml/data/jsons/byom/dataikupredict.json +147 -147
- teradataml/data/jsons/byom/datarobotpredict.json +146 -146
- teradataml/data/jsons/byom/h2opredict.json +194 -194
- teradataml/data/jsons/byom/onnxpredict.json +186 -186
- teradataml/data/jsons/byom/pmmlpredict.json +146 -146
- teradataml/data/jsons/paired_functions.json +435 -435
- teradataml/data/jsons/sqle/16.20/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/16.20/Attribution.json +249 -249
- teradataml/data/jsons/sqle/16.20/DecisionForestPredict.json +156 -156
- teradataml/data/jsons/sqle/16.20/DecisionTreePredict.json +170 -170
- teradataml/data/jsons/sqle/16.20/GLMPredict.json +122 -122
- teradataml/data/jsons/sqle/16.20/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/16.20/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/16.20/NaiveBayesPredict.json +136 -136
- teradataml/data/jsons/sqle/16.20/NaiveBayesTextClassifierPredict.json +235 -235
- teradataml/data/jsons/sqle/16.20/Pack.json +98 -98
- teradataml/data/jsons/sqle/16.20/SVMSparsePredict.json +162 -162
- teradataml/data/jsons/sqle/16.20/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/16.20/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/16.20/Unpack.json +166 -166
- teradataml/data/jsons/sqle/16.20/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.00/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.00/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.00/DecisionForestPredict.json +156 -156
- teradataml/data/jsons/sqle/17.00/DecisionTreePredict.json +170 -170
- teradataml/data/jsons/sqle/17.00/GLMPredict.json +122 -122
- teradataml/data/jsons/sqle/17.00/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/17.00/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.00/NaiveBayesPredict.json +136 -136
- teradataml/data/jsons/sqle/17.00/NaiveBayesTextClassifierPredict.json +235 -235
- teradataml/data/jsons/sqle/17.00/Pack.json +98 -98
- teradataml/data/jsons/sqle/17.00/SVMSparsePredict.json +162 -162
- teradataml/data/jsons/sqle/17.00/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.00/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.00/Unpack.json +166 -166
- teradataml/data/jsons/sqle/17.00/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.05/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.05/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.05/DecisionForestPredict.json +156 -156
- teradataml/data/jsons/sqle/17.05/DecisionTreePredict.json +170 -170
- teradataml/data/jsons/sqle/17.05/GLMPredict.json +122 -122
- teradataml/data/jsons/sqle/17.05/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/17.05/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.05/NaiveBayesPredict.json +136 -136
- teradataml/data/jsons/sqle/17.05/NaiveBayesTextClassifierPredict.json +235 -235
- teradataml/data/jsons/sqle/17.05/Pack.json +98 -98
- teradataml/data/jsons/sqle/17.05/SVMSparsePredict.json +162 -162
- teradataml/data/jsons/sqle/17.05/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.05/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.05/Unpack.json +166 -166
- teradataml/data/jsons/sqle/17.05/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.10/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.10/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.10/DecisionForestPredict.json +185 -185
- teradataml/data/jsons/sqle/17.10/DecisionTreePredict.json +171 -171
- teradataml/data/jsons/sqle/17.10/GLMPredict.json +151 -151
- teradataml/data/jsons/sqle/17.10/MovingAverage.json +368 -368
- teradataml/data/jsons/sqle/17.10/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.10/NaiveBayesPredict.json +149 -149
- teradataml/data/jsons/sqle/17.10/NaiveBayesTextClassifierPredict.json +288 -288
- teradataml/data/jsons/sqle/17.10/Pack.json +133 -133
- teradataml/data/jsons/sqle/17.10/SVMSparsePredict.json +193 -193
- teradataml/data/jsons/sqle/17.10/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.10/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.10/TD_BinCodeFit.json +239 -239
- teradataml/data/jsons/sqle/17.10/TD_BinCodeTransform.json +70 -70
- teradataml/data/jsons/sqle/17.10/TD_CategoricalSummary.json +53 -53
- teradataml/data/jsons/sqle/17.10/TD_Chisq.json +67 -67
- teradataml/data/jsons/sqle/17.10/TD_ColumnSummary.json +53 -53
- teradataml/data/jsons/sqle/17.10/TD_ConvertTo.json +68 -68
- teradataml/data/jsons/sqle/17.10/TD_FTest.json +187 -187
- teradataml/data/jsons/sqle/17.10/TD_FillRowID.json +51 -51
- teradataml/data/jsons/sqle/17.10/TD_FunctionFit.json +46 -46
- teradataml/data/jsons/sqle/17.10/TD_FunctionTransform.json +72 -71
- teradataml/data/jsons/sqle/17.10/TD_GetRowsWithMissingValues.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_GetRowsWithoutMissingValues.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_Histogram.json +132 -132
- teradataml/data/jsons/sqle/17.10/TD_NumApply.json +147 -147
- teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingFit.json +182 -182
- teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingTransform.json +65 -64
- teradataml/data/jsons/sqle/17.10/TD_OutlierFilterFit.json +196 -196
- teradataml/data/jsons/sqle/17.10/TD_OutlierFilterTransform.json +48 -47
- teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesFit.json +114 -114
- teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesTransform.json +72 -71
- teradataml/data/jsons/sqle/17.10/TD_QQNorm.json +111 -111
- teradataml/data/jsons/sqle/17.10/TD_RoundColumns.json +93 -93
- teradataml/data/jsons/sqle/17.10/TD_RowNormalizeFit.json +127 -127
- teradataml/data/jsons/sqle/17.10/TD_RowNormalizeTransform.json +70 -69
- teradataml/data/jsons/sqle/17.10/TD_ScaleFit.json +156 -156
- teradataml/data/jsons/sqle/17.10/TD_ScaleTransform.json +70 -69
- teradataml/data/jsons/sqle/17.10/TD_SimpleImputeFit.json +147 -147
- teradataml/data/jsons/sqle/17.10/TD_SimpleImputeTransform.json +48 -47
- teradataml/data/jsons/sqle/17.10/TD_StrApply.json +240 -240
- teradataml/data/jsons/sqle/17.10/TD_UnivariateStatistics.json +118 -118
- teradataml/data/jsons/sqle/17.10/TD_WhichMax.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_WhichMin.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_ZTest.json +171 -171
- teradataml/data/jsons/sqle/17.10/Unpack.json +188 -188
- teradataml/data/jsons/sqle/17.10/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.20/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.20/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.20/DecisionForestPredict.json +185 -185
- teradataml/data/jsons/sqle/17.20/DecisionTreePredict.json +172 -172
- teradataml/data/jsons/sqle/17.20/GLMPredict.json +151 -151
- teradataml/data/jsons/sqle/17.20/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/17.20/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.20/NaiveBayesPredict.json +149 -149
- teradataml/data/jsons/sqle/17.20/NaiveBayesTextClassifierPredict.json +287 -287
- teradataml/data/jsons/sqle/17.20/Pack.json +133 -133
- teradataml/data/jsons/sqle/17.20/SVMSparsePredict.json +192 -192
- teradataml/data/jsons/sqle/17.20/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.20/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.20/TD_ANOVA.json +148 -76
- teradataml/data/jsons/sqle/17.20/TD_BinCodeFit.json +239 -239
- teradataml/data/jsons/sqle/17.20/TD_BinCodeTransform.json +71 -71
- teradataml/data/jsons/sqle/17.20/TD_CategoricalSummary.json +53 -53
- teradataml/data/jsons/sqle/17.20/TD_Chisq.json +67 -67
- teradataml/data/jsons/sqle/17.20/TD_ClassificationEvaluator.json +145 -145
- teradataml/data/jsons/sqle/17.20/TD_ColumnSummary.json +53 -53
- teradataml/data/jsons/sqle/17.20/TD_ColumnTransformer.json +218 -218
- teradataml/data/jsons/sqle/17.20/TD_ConvertTo.json +92 -92
- teradataml/data/jsons/sqle/17.20/TD_DecisionForest.json +259 -259
- teradataml/data/jsons/sqle/17.20/TD_DecisionForestPredict.json +139 -139
- teradataml/data/jsons/sqle/17.20/TD_FTest.json +269 -186
- teradataml/data/jsons/sqle/17.20/TD_FillRowID.json +52 -52
- teradataml/data/jsons/sqle/17.20/TD_FunctionFit.json +46 -46
- teradataml/data/jsons/sqle/17.20/TD_FunctionTransform.json +72 -72
- teradataml/data/jsons/sqle/17.20/TD_GLM.json +507 -431
- teradataml/data/jsons/sqle/17.20/TD_GLMPREDICT.json +168 -125
- teradataml/data/jsons/sqle/17.20/TD_GLMPerSegment.json +411 -411
- teradataml/data/jsons/sqle/17.20/TD_GLMPredictPerSegment.json +146 -146
- teradataml/data/jsons/sqle/17.20/TD_GetFutileColumns.json +93 -91
- teradataml/data/jsons/sqle/17.20/TD_GetRowsWithMissingValues.json +76 -76
- teradataml/data/jsons/sqle/17.20/TD_GetRowsWithoutMissingValues.json +76 -76
- teradataml/data/jsons/sqle/17.20/TD_Histogram.json +152 -152
- teradataml/data/jsons/sqle/17.20/TD_KMeans.json +231 -211
- teradataml/data/jsons/sqle/17.20/TD_KMeansPredict.json +86 -86
- teradataml/data/jsons/sqle/17.20/TD_KNN.json +262 -262
- teradataml/data/jsons/sqle/17.20/TD_NaiveBayesTextClassifierTrainer.json +137 -137
- teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineFit.json +102 -101
- teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineTransform.json +71 -71
- teradataml/data/jsons/sqle/17.20/TD_NumApply.json +147 -147
- teradataml/data/jsons/sqle/17.20/TD_OneClassSVM.json +315 -315
- teradataml/data/jsons/sqle/17.20/TD_OneClassSVMPredict.json +123 -123
- teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingFit.json +271 -271
- teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingTransform.json +65 -65
- teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingFit.json +229 -229
- teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingTransform.json +75 -75
- teradataml/data/jsons/sqle/17.20/TD_OutlierFilterFit.json +217 -217
- teradataml/data/jsons/sqle/17.20/TD_OutlierFilterTransform.json +48 -48
- teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesFit.json +114 -114
- teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesTransform.json +72 -72
- teradataml/data/jsons/sqle/17.20/TD_QQNorm.json +111 -111
- teradataml/data/jsons/sqle/17.20/TD_ROC.json +178 -177
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionFit.json +178 -178
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionMinComponents.json +73 -73
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionTransform.json +74 -74
- teradataml/data/jsons/sqle/17.20/TD_RegressionEvaluator.json +137 -137
- teradataml/data/jsons/sqle/17.20/TD_RoundColumns.json +93 -93
- teradataml/data/jsons/sqle/17.20/TD_RowNormalizeFit.json +127 -127
- teradataml/data/jsons/sqle/17.20/TD_RowNormalizeTransform.json +70 -70
- teradataml/data/jsons/sqle/17.20/TD_SVM.json +389 -389
- teradataml/data/jsons/sqle/17.20/TD_SVMPredict.json +142 -124
- teradataml/data/jsons/sqle/17.20/TD_ScaleFit.json +309 -156
- teradataml/data/jsons/sqle/17.20/TD_ScaleTransform.json +119 -70
- teradataml/data/jsons/sqle/17.20/TD_SentimentExtractor.json +193 -193
- teradataml/data/jsons/sqle/17.20/TD_Silhouette.json +142 -142
- teradataml/data/jsons/sqle/17.20/TD_SimpleImputeFit.json +147 -147
- teradataml/data/jsons/sqle/17.20/TD_SimpleImputeTransform.json +48 -48
- teradataml/data/jsons/sqle/17.20/TD_StrApply.json +240 -240
- teradataml/data/jsons/sqle/17.20/TD_TargetEncodingFit.json +248 -248
- teradataml/data/jsons/sqle/17.20/TD_TargetEncodingTransform.json +75 -75
- teradataml/data/jsons/sqle/17.20/TD_TextParser.json +192 -192
- teradataml/data/jsons/sqle/17.20/TD_TrainTestSplit.json +142 -142
- teradataml/data/jsons/sqle/17.20/TD_UnivariateStatistics.json +117 -117
- teradataml/data/jsons/sqle/17.20/TD_VectorDistance.json +182 -182
- teradataml/data/jsons/sqle/17.20/TD_WhichMax.json +52 -52
- teradataml/data/jsons/sqle/17.20/TD_WhichMin.json +52 -52
- teradataml/data/jsons/sqle/17.20/TD_WordEmbeddings.json +241 -241
- teradataml/data/jsons/sqle/17.20/TD_XGBoost.json +330 -312
- teradataml/data/jsons/sqle/17.20/TD_XGBoostPredict.json +195 -182
- teradataml/data/jsons/sqle/17.20/TD_ZTest.json +247 -170
- teradataml/data/jsons/sqle/17.20/Unpack.json +188 -188
- teradataml/data/jsons/sqle/17.20/nPath.json +269 -269
- teradataml/data/jsons/tableoperator/17.00/read_nos.json +197 -197
- teradataml/data/jsons/tableoperator/17.05/read_nos.json +197 -197
- teradataml/data/jsons/tableoperator/17.05/write_nos.json +194 -194
- teradataml/data/jsons/tableoperator/17.10/read_nos.json +183 -183
- teradataml/data/jsons/tableoperator/17.10/write_nos.json +194 -194
- teradataml/data/jsons/tableoperator/17.20/read_nos.json +182 -182
- teradataml/data/jsons/tableoperator/17.20/write_nos.json +223 -223
- teradataml/data/jsons/uaf/17.20/TD_ACF.json +149 -149
- teradataml/data/jsons/uaf/17.20/TD_ARIMAESTIMATE.json +409 -409
- teradataml/data/jsons/uaf/17.20/TD_ARIMAFORECAST.json +79 -79
- teradataml/data/jsons/uaf/17.20/TD_ARIMAVALIDATE.json +151 -151
- teradataml/data/jsons/uaf/17.20/TD_BINARYMATRIXOP.json +109 -109
- teradataml/data/jsons/uaf/17.20/TD_BINARYSERIESOP.json +107 -107
- teradataml/data/jsons/uaf/17.20/TD_BREUSCH_GODFREY.json +87 -87
- teradataml/data/jsons/uaf/17.20/TD_BREUSCH_PAGAN_GODFREY.json +106 -106
- teradataml/data/jsons/uaf/17.20/TD_CONVOLVE.json +80 -80
- teradataml/data/jsons/uaf/17.20/TD_CONVOLVE2.json +67 -67
- teradataml/data/jsons/uaf/17.20/TD_CUMUL_PERIODOGRAM.json +91 -91
- teradataml/data/jsons/uaf/17.20/TD_DFFT.json +136 -136
- teradataml/data/jsons/uaf/17.20/TD_DFFT2.json +148 -148
- teradataml/data/jsons/uaf/17.20/TD_DFFT2CONV.json +108 -108
- teradataml/data/jsons/uaf/17.20/TD_DFFTCONV.json +109 -109
- teradataml/data/jsons/uaf/17.20/TD_DICKEY_FULLER.json +86 -86
- teradataml/data/jsons/uaf/17.20/TD_DIFF.json +91 -91
- teradataml/data/jsons/uaf/17.20/TD_DTW.json +116 -116
- teradataml/data/jsons/uaf/17.20/TD_DURBIN_WATSON.json +100 -100
- teradataml/data/jsons/uaf/17.20/TD_EXTRACT_RESULTS.json +38 -38
- teradataml/data/jsons/uaf/17.20/TD_FITMETRICS.json +100 -100
- teradataml/data/jsons/uaf/17.20/TD_GENSERIES4FORMULA.json +84 -84
- teradataml/data/jsons/uaf/17.20/TD_GENSERIES4SINUSOIDS.json +70 -70
- teradataml/data/jsons/uaf/17.20/TD_GOLDFELD_QUANDT.json +152 -152
- teradataml/data/jsons/uaf/17.20/TD_HOLT_WINTERS_FORECAST.json +313 -313
- teradataml/data/jsons/uaf/17.20/TD_IDFFT.json +57 -57
- teradataml/data/jsons/uaf/17.20/TD_IDFFT2.json +94 -94
- teradataml/data/jsons/uaf/17.20/TD_INPUTVALIDATOR.json +63 -63
- teradataml/data/jsons/uaf/17.20/TD_LINEAR_REGR.json +181 -181
- teradataml/data/jsons/uaf/17.20/TD_LINESPEC.json +102 -102
- teradataml/data/jsons/uaf/17.20/TD_MAMEAN.json +182 -182
- teradataml/data/jsons/uaf/17.20/TD_MATRIXMULTIPLY.json +67 -67
- teradataml/data/jsons/uaf/17.20/TD_MINFO.json +66 -66
- teradataml/data/jsons/uaf/17.20/TD_MULTIVAR_REGR.json +178 -178
- teradataml/data/jsons/uaf/17.20/TD_PACF.json +114 -114
- teradataml/data/jsons/uaf/17.20/TD_PORTMAN.json +118 -118
- teradataml/data/jsons/uaf/17.20/TD_POWERSPEC.json +175 -175
- teradataml/data/jsons/uaf/17.20/TD_POWERTRANSFORM.json +97 -97
- teradataml/data/jsons/uaf/17.20/TD_RESAMPLE.json +173 -173
- teradataml/data/jsons/uaf/17.20/TD_SEASONALNORMALIZE.json +136 -136
- teradataml/data/jsons/uaf/17.20/TD_SELECTION_CRITERIA.json +89 -89
- teradataml/data/jsons/uaf/17.20/TD_SIGNIF_PERIODICITIES.json +79 -79
- teradataml/data/jsons/uaf/17.20/TD_SIGNIF_RESIDMEAN.json +67 -67
- teradataml/data/jsons/uaf/17.20/TD_SIMPLEEXP.json +184 -184
- teradataml/data/jsons/uaf/17.20/TD_SINFO.json +57 -57
- teradataml/data/jsons/uaf/17.20/TD_SMOOTHMA.json +162 -162
- teradataml/data/jsons/uaf/17.20/TD_TRACKINGOP.json +100 -100
- teradataml/data/jsons/uaf/17.20/TD_UNDIFF.json +111 -111
- teradataml/data/jsons/uaf/17.20/TD_UNNORMALIZE.json +95 -95
- teradataml/data/jsons/uaf/17.20/TD_WHITES_GENERAL.json +77 -77
- teradataml/data/kmeans_example.json +22 -17
- teradataml/data/kmeans_table.csv +10 -0
- teradataml/data/kmeans_us_arrests_data.csv +0 -0
- teradataml/data/knn_example.json +18 -18
- teradataml/data/knnrecommender_example.json +6 -6
- teradataml/data/knnrecommenderpredict_example.json +12 -12
- teradataml/data/lar_example.json +17 -17
- teradataml/data/larpredict_example.json +30 -30
- teradataml/data/lc_new_predictors.csv +5 -5
- teradataml/data/lc_new_reference.csv +9 -9
- teradataml/data/lda_example.json +8 -8
- teradataml/data/ldainference_example.json +14 -14
- teradataml/data/ldatopicsummary_example.json +8 -8
- teradataml/data/levendist_input.csv +13 -13
- teradataml/data/levenshteindistance_example.json +10 -10
- teradataml/data/linreg_example.json +9 -9
- teradataml/data/load_example_data.py +326 -323
- teradataml/data/loan_prediction.csv +295 -295
- teradataml/data/lungcancer.csv +138 -138
- teradataml/data/mappingdata.csv +12 -12
- teradataml/data/milk_timeseries.csv +157 -157
- teradataml/data/min_max_titanic.csv +4 -4
- teradataml/data/minhash_example.json +6 -6
- teradataml/data/ml_ratings.csv +7547 -7547
- teradataml/data/ml_ratings_10.csv +2445 -2445
- teradataml/data/model1_table.csv +5 -5
- teradataml/data/model2_table.csv +5 -5
- teradataml/data/models/iris_db_glm_model.pmml +56 -56
- teradataml/data/models/iris_db_xgb_model.pmml +4471 -4471
- teradataml/data/modularity_example.json +12 -12
- teradataml/data/movavg_example.json +7 -7
- teradataml/data/mtx1.csv +7 -7
- teradataml/data/mtx2.csv +13 -13
- teradataml/data/multi_model_classification.csv +401 -0
- teradataml/data/multi_model_regression.csv +401 -0
- teradataml/data/mvdfft8.csv +9 -9
- teradataml/data/naivebayes_example.json +9 -9
- teradataml/data/naivebayespredict_example.json +19 -19
- teradataml/data/naivebayestextclassifier2_example.json +6 -6
- teradataml/data/naivebayestextclassifier_example.json +8 -8
- teradataml/data/naivebayestextclassifierpredict_example.json +20 -20
- teradataml/data/name_Find_configure.csv +10 -10
- teradataml/data/namedentityfinder_example.json +14 -14
- teradataml/data/namedentityfinderevaluator_example.json +10 -10
- teradataml/data/namedentityfindertrainer_example.json +6 -6
- teradataml/data/nb_iris_input_test.csv +31 -31
- teradataml/data/nb_iris_input_train.csv +121 -121
- teradataml/data/nbp_iris_model.csv +13 -13
- teradataml/data/ner_extractor_text.csv +2 -2
- teradataml/data/ner_sports_test2.csv +29 -29
- teradataml/data/ner_sports_train.csv +501 -501
- teradataml/data/nerevaluator_example.json +5 -5
- teradataml/data/nerextractor_example.json +18 -18
- teradataml/data/nermem_sports_test.csv +17 -17
- teradataml/data/nermem_sports_train.csv +50 -50
- teradataml/data/nertrainer_example.json +6 -6
- teradataml/data/ngrams_example.json +6 -6
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Aggregate Functions using SQLAlchemy.ipynb +1455 -1455
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Arithmetic Functions Using SQLAlchemy.ipynb +1993 -1993
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Bit-Byte Manipulation Functions using SQLAlchemy.ipynb +1492 -1492
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Built-in functions using SQLAlchemy.ipynb +536 -536
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Regular Expressions Using SQLAlchemy.ipynb +570 -570
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage String Functions Using SQLAlchemy.ipynb +2559 -2559
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Window Aggregate Functions using SQLAlchemy.ipynb +2911 -2911
- teradataml/data/notebooks/sqlalchemy/Using Generic SQLAlchemy ClauseElements teradataml DataFrame assign method.ipynb +698 -698
- teradataml/data/notebooks/sqlalchemy/teradataml filtering using SQLAlchemy ClauseElements.ipynb +784 -784
- teradataml/data/npath_example.json +23 -23
- teradataml/data/ntree_example.json +14 -14
- teradataml/data/numeric_strings.csv +4 -4
- teradataml/data/numerics.csv +4 -4
- teradataml/data/ocean_buoy.csv +17 -17
- teradataml/data/ocean_buoy2.csv +17 -17
- teradataml/data/ocean_buoys.csv +27 -27
- teradataml/data/ocean_buoys2.csv +10 -10
- teradataml/data/ocean_buoys_nonpti.csv +28 -28
- teradataml/data/ocean_buoys_seq.csv +29 -29
- teradataml/data/onehot_encoder_train.csv +4 -0
- teradataml/data/openml_example.json +92 -0
- teradataml/data/optional_event_table.csv +4 -4
- teradataml/data/orders1.csv +11 -11
- teradataml/data/orders1_12.csv +12 -12
- teradataml/data/orders_ex.csv +4 -4
- teradataml/data/pack_example.json +8 -8
- teradataml/data/package_tracking.csv +19 -19
- teradataml/data/package_tracking_pti.csv +18 -18
- teradataml/data/pagerank_example.json +13 -13
- teradataml/data/paragraphs_input.csv +6 -6
- teradataml/data/pathanalyzer_example.json +7 -7
- teradataml/data/pathgenerator_example.json +7 -7
- teradataml/data/phrases.csv +7 -7
- teradataml/data/pivot_example.json +8 -8
- teradataml/data/pivot_input.csv +22 -22
- teradataml/data/playerRating.csv +31 -31
- teradataml/data/postagger_example.json +6 -6
- teradataml/data/posttagger_output.csv +44 -44
- teradataml/data/production_data.csv +16 -16
- teradataml/data/production_data2.csv +7 -7
- teradataml/data/randomsample_example.json +31 -31
- teradataml/data/randomwalksample_example.json +8 -8
- teradataml/data/rank_table.csv +6 -6
- teradataml/data/ref_mobile_data.csv +4 -4
- teradataml/data/ref_mobile_data_dense.csv +2 -2
- teradataml/data/ref_url.csv +17 -17
- teradataml/data/restaurant_reviews.csv +7 -7
- teradataml/data/river_data.csv +145 -145
- teradataml/data/roc_example.json +7 -7
- teradataml/data/roc_input.csv +101 -101
- teradataml/data/rule_inputs.csv +6 -6
- teradataml/data/rule_table.csv +2 -2
- teradataml/data/sales.csv +7 -7
- teradataml/data/sales_transaction.csv +501 -501
- teradataml/data/salesdata.csv +342 -342
- teradataml/data/sample_cities.csv +2 -2
- teradataml/data/sample_shapes.csv +10 -10
- teradataml/data/sample_streets.csv +2 -2
- teradataml/data/sampling_example.json +15 -15
- teradataml/data/sax_example.json +8 -8
- teradataml/data/scale_attributes.csv +3 -0
- teradataml/data/scale_example.json +74 -23
- teradataml/data/scale_housing.csv +11 -11
- teradataml/data/scale_housing_test.csv +6 -6
- teradataml/data/scale_input_part_sparse.csv +31 -0
- teradataml/data/scale_input_partitioned.csv +16 -0
- teradataml/data/scale_input_sparse.csv +11 -0
- teradataml/data/scale_parameters.csv +3 -0
- teradataml/data/scale_stat.csv +11 -11
- teradataml/data/scalebypartition_example.json +13 -13
- teradataml/data/scalemap_example.json +13 -13
- teradataml/data/scalesummary_example.json +12 -12
- teradataml/data/score_category.csv +101 -101
- teradataml/data/score_summary.csv +4 -4
- teradataml/data/script_example.json +9 -9
- teradataml/data/scripts/deploy_script.py +84 -0
- teradataml/data/scripts/mapper.R +20 -0
- teradataml/data/scripts/mapper.py +15 -15
- teradataml/data/scripts/mapper_replace.py +15 -15
- teradataml/data/scripts/sklearn/__init__.py +0 -0
- teradataml/data/scripts/sklearn/sklearn_fit.py +171 -0
- teradataml/data/scripts/sklearn/sklearn_fit_predict.py +127 -0
- teradataml/data/scripts/sklearn/sklearn_function.template +108 -0
- teradataml/data/scripts/sklearn/sklearn_model_selection_split.py +148 -0
- teradataml/data/scripts/sklearn/sklearn_neighbors.py +143 -0
- teradataml/data/scripts/sklearn/sklearn_score.py +119 -0
- teradataml/data/scripts/sklearn/sklearn_transform.py +171 -0
- teradataml/data/seeds.csv +10 -10
- teradataml/data/sentenceextractor_example.json +6 -6
- teradataml/data/sentiment_extract_input.csv +11 -11
- teradataml/data/sentiment_train.csv +16 -16
- teradataml/data/sentiment_word.csv +20 -20
- teradataml/data/sentiment_word_input.csv +19 -19
- teradataml/data/sentimentextractor_example.json +24 -24
- teradataml/data/sentimenttrainer_example.json +8 -8
- teradataml/data/sequence_table.csv +10 -10
- teradataml/data/seriessplitter_example.json +7 -7
- teradataml/data/sessionize_example.json +17 -17
- teradataml/data/sessionize_table.csv +116 -116
- teradataml/data/setop_test1.csv +24 -24
- teradataml/data/setop_test2.csv +22 -22
- teradataml/data/soc_nw_edges.csv +10 -10
- teradataml/data/soc_nw_vertices.csv +7 -7
- teradataml/data/souvenir_timeseries.csv +167 -167
- teradataml/data/sparse_iris_attribute.csv +5 -5
- teradataml/data/sparse_iris_test.csv +121 -121
- teradataml/data/sparse_iris_train.csv +601 -601
- teradataml/data/star1.csv +6 -6
- teradataml/data/state_transition.csv +5 -5
- teradataml/data/stock_data.csv +53 -53
- teradataml/data/stock_movement.csv +11 -11
- teradataml/data/stock_vol.csv +76 -76
- teradataml/data/stop_words.csv +8 -8
- teradataml/data/store_sales.csv +37 -37
- teradataml/data/stringsimilarity_example.json +7 -7
- teradataml/data/strsimilarity_input.csv +13 -13
- teradataml/data/students.csv +101 -101
- teradataml/data/svm_iris_input_test.csv +121 -121
- teradataml/data/svm_iris_input_train.csv +481 -481
- teradataml/data/svm_iris_model.csv +7 -7
- teradataml/data/svmdense_example.json +9 -9
- teradataml/data/svmdensepredict_example.json +18 -18
- teradataml/data/svmsparse_example.json +7 -7
- teradataml/data/svmsparsepredict_example.json +13 -13
- teradataml/data/svmsparsesummary_example.json +7 -7
- teradataml/data/target_mobile_data.csv +13 -13
- teradataml/data/target_mobile_data_dense.csv +5 -5
- teradataml/data/templatedata.csv +1201 -1201
- teradataml/data/templates/open_source_ml.json +9 -0
- teradataml/data/teradataml_example.json +150 -1
- teradataml/data/test_classification.csv +101 -0
- teradataml/data/test_loan_prediction.csv +53 -53
- teradataml/data/test_pacf_12.csv +37 -37
- teradataml/data/test_prediction.csv +101 -0
- teradataml/data/test_regression.csv +101 -0
- teradataml/data/test_river2.csv +109 -109
- teradataml/data/text_inputs.csv +6 -6
- teradataml/data/textchunker_example.json +7 -7
- teradataml/data/textclassifier_example.json +6 -6
- teradataml/data/textclassifier_input.csv +7 -7
- teradataml/data/textclassifiertrainer_example.json +6 -6
- teradataml/data/textmorph_example.json +5 -5
- teradataml/data/textparser_example.json +15 -15
- teradataml/data/texttagger_example.json +11 -11
- teradataml/data/texttokenizer_example.json +6 -6
- teradataml/data/texttrainer_input.csv +11 -11
- teradataml/data/tf_example.json +6 -6
- teradataml/data/tfidf_example.json +13 -13
- teradataml/data/tfidf_input1.csv +201 -201
- teradataml/data/tfidf_train.csv +6 -6
- teradataml/data/time_table1.csv +535 -535
- teradataml/data/time_table2.csv +14 -14
- teradataml/data/timeseriesdata.csv +1601 -1601
- teradataml/data/timeseriesdatasetsd4.csv +105 -105
- teradataml/data/titanic.csv +892 -892
- teradataml/data/token_table.csv +696 -696
- teradataml/data/train_multiclass.csv +101 -0
- teradataml/data/train_regression.csv +101 -0
- teradataml/data/train_regression_multiple_labels.csv +101 -0
- teradataml/data/train_tracking.csv +27 -27
- teradataml/data/transformation_table.csv +5 -5
- teradataml/data/transformation_table_new.csv +1 -1
- teradataml/data/tv_spots.csv +16 -16
- teradataml/data/twod_climate_data.csv +117 -117
- teradataml/data/uaf_example.json +475 -475
- teradataml/data/univariatestatistics_example.json +8 -8
- teradataml/data/unpack_example.json +9 -9
- teradataml/data/unpivot_example.json +9 -9
- teradataml/data/unpivot_input.csv +8 -8
- teradataml/data/us_air_pass.csv +36 -36
- teradataml/data/us_population.csv +624 -624
- teradataml/data/us_states_shapes.csv +52 -52
- teradataml/data/varmax_example.json +17 -17
- teradataml/data/vectordistance_example.json +25 -25
- teradataml/data/ville_climatedata.csv +121 -121
- teradataml/data/ville_tempdata.csv +12 -12
- teradataml/data/ville_tempdata1.csv +12 -12
- teradataml/data/ville_temperature.csv +11 -11
- teradataml/data/waveletTable.csv +1605 -1605
- teradataml/data/waveletTable2.csv +1605 -1605
- teradataml/data/weightedmovavg_example.json +8 -8
- teradataml/data/wft_testing.csv +5 -5
- teradataml/data/wine_data.csv +1600 -0
- teradataml/data/word_embed_input_table1.csv +5 -5
- teradataml/data/word_embed_input_table2.csv +4 -4
- teradataml/data/word_embed_model.csv +22 -22
- teradataml/data/words_input.csv +13 -13
- teradataml/data/xconvolve_complex_left.csv +6 -6
- teradataml/data/xconvolve_complex_leftmulti.csv +6 -6
- teradataml/data/xgboost_example.json +35 -35
- teradataml/data/xgboostpredict_example.json +31 -31
- teradataml/data/ztest_example.json +16 -0
- teradataml/dataframe/copy_to.py +1769 -1698
- teradataml/dataframe/data_transfer.py +2812 -2745
- teradataml/dataframe/dataframe.py +17630 -16946
- teradataml/dataframe/dataframe_utils.py +1875 -1740
- teradataml/dataframe/fastload.py +794 -603
- teradataml/dataframe/indexer.py +424 -424
- teradataml/dataframe/setop.py +1179 -1166
- teradataml/dataframe/sql.py +10174 -6432
- teradataml/dataframe/sql_function_parameters.py +439 -388
- teradataml/dataframe/sql_functions.py +652 -652
- teradataml/dataframe/sql_interfaces.py +220 -220
- teradataml/dataframe/vantage_function_types.py +674 -630
- teradataml/dataframe/window.py +693 -692
- teradataml/dbutils/__init__.py +3 -3
- teradataml/dbutils/dbutils.py +1167 -1150
- teradataml/dbutils/filemgr.py +267 -267
- teradataml/gen_ai/__init__.py +2 -2
- teradataml/gen_ai/convAI.py +472 -472
- teradataml/geospatial/__init__.py +3 -3
- teradataml/geospatial/geodataframe.py +1105 -1094
- teradataml/geospatial/geodataframecolumn.py +392 -387
- teradataml/geospatial/geometry_types.py +925 -925
- teradataml/hyperparameter_tuner/__init__.py +1 -1
- teradataml/hyperparameter_tuner/optimizer.py +3783 -2993
- teradataml/hyperparameter_tuner/utils.py +281 -187
- teradataml/lib/aed_0_1.dll +0 -0
- teradataml/lib/libaed_0_1.dylib +0 -0
- teradataml/lib/libaed_0_1.so +0 -0
- teradataml/libaed_0_1.dylib +0 -0
- teradataml/libaed_0_1.so +0 -0
- teradataml/opensource/__init__.py +1 -0
- teradataml/opensource/sklearn/__init__.py +1 -0
- teradataml/opensource/sklearn/_class.py +255 -0
- teradataml/opensource/sklearn/_sklearn_wrapper.py +1715 -0
- teradataml/opensource/sklearn/_wrapper_utils.py +268 -0
- teradataml/opensource/sklearn/constants.py +54 -0
- teradataml/options/__init__.py +130 -124
- teradataml/options/configure.py +358 -336
- teradataml/options/display.py +176 -176
- teradataml/plot/__init__.py +2 -2
- teradataml/plot/axis.py +1388 -1388
- teradataml/plot/constants.py +15 -15
- teradataml/plot/figure.py +398 -398
- teradataml/plot/plot.py +760 -760
- teradataml/plot/query_generator.py +83 -83
- teradataml/plot/subplot.py +216 -216
- teradataml/scriptmgmt/UserEnv.py +3791 -3761
- teradataml/scriptmgmt/__init__.py +3 -3
- teradataml/scriptmgmt/lls_utils.py +1719 -1604
- teradataml/series/series.py +532 -532
- teradataml/series/series_utils.py +71 -71
- teradataml/table_operators/Apply.py +949 -917
- teradataml/table_operators/Script.py +1718 -1982
- teradataml/table_operators/TableOperator.py +1255 -1616
- teradataml/table_operators/__init__.py +2 -3
- teradataml/table_operators/apply_query_generator.py +262 -262
- teradataml/table_operators/query_generator.py +507 -507
- teradataml/table_operators/table_operator_query_generator.py +460 -460
- teradataml/table_operators/table_operator_util.py +631 -639
- teradataml/table_operators/templates/dataframe_apply.template +184 -184
- teradataml/table_operators/templates/dataframe_map.template +176 -176
- teradataml/table_operators/templates/script_executor.template +170 -170
- teradataml/utils/dtypes.py +684 -684
- teradataml/utils/internal_buffer.py +84 -84
- teradataml/utils/print_versions.py +205 -205
- teradataml/utils/utils.py +410 -410
- teradataml/utils/validators.py +2277 -2115
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/METADATA +346 -45
- teradataml-20.0.0.1.dist-info/RECORD +1056 -0
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/WHEEL +1 -1
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/zip-safe +1 -1
- teradataml/analytics/mle/AdaBoost.py +0 -651
- teradataml/analytics/mle/AdaBoostPredict.py +0 -564
- teradataml/analytics/mle/Antiselect.py +0 -342
- teradataml/analytics/mle/Arima.py +0 -641
- teradataml/analytics/mle/ArimaPredict.py +0 -477
- teradataml/analytics/mle/Attribution.py +0 -1070
- teradataml/analytics/mle/Betweenness.py +0 -658
- teradataml/analytics/mle/Burst.py +0 -711
- teradataml/analytics/mle/CCM.py +0 -600
- teradataml/analytics/mle/CCMPrepare.py +0 -324
- teradataml/analytics/mle/CFilter.py +0 -460
- teradataml/analytics/mle/ChangePointDetection.py +0 -572
- teradataml/analytics/mle/ChangePointDetectionRT.py +0 -477
- teradataml/analytics/mle/Closeness.py +0 -737
- teradataml/analytics/mle/ConfusionMatrix.py +0 -420
- teradataml/analytics/mle/Correlation.py +0 -477
- teradataml/analytics/mle/Correlation2.py +0 -573
- teradataml/analytics/mle/CoxHazardRatio.py +0 -679
- teradataml/analytics/mle/CoxPH.py +0 -556
- teradataml/analytics/mle/CoxSurvival.py +0 -478
- teradataml/analytics/mle/CumulativeMovAvg.py +0 -363
- teradataml/analytics/mle/DTW.py +0 -623
- teradataml/analytics/mle/DWT.py +0 -564
- teradataml/analytics/mle/DWT2D.py +0 -599
- teradataml/analytics/mle/DecisionForest.py +0 -716
- teradataml/analytics/mle/DecisionForestEvaluator.py +0 -363
- teradataml/analytics/mle/DecisionForestPredict.py +0 -561
- teradataml/analytics/mle/DecisionTree.py +0 -830
- teradataml/analytics/mle/DecisionTreePredict.py +0 -528
- teradataml/analytics/mle/ExponentialMovAvg.py +0 -418
- teradataml/analytics/mle/FMeasure.py +0 -402
- teradataml/analytics/mle/FPGrowth.py +0 -734
- teradataml/analytics/mle/FrequentPaths.py +0 -695
- teradataml/analytics/mle/GLM.py +0 -558
- teradataml/analytics/mle/GLML1L2.py +0 -547
- teradataml/analytics/mle/GLML1L2Predict.py +0 -519
- teradataml/analytics/mle/GLMPredict.py +0 -529
- teradataml/analytics/mle/HMMDecoder.py +0 -945
- teradataml/analytics/mle/HMMEvaluator.py +0 -901
- teradataml/analytics/mle/HMMSupervised.py +0 -521
- teradataml/analytics/mle/HMMUnsupervised.py +0 -572
- teradataml/analytics/mle/Histogram.py +0 -561
- teradataml/analytics/mle/IDWT.py +0 -476
- teradataml/analytics/mle/IDWT2D.py +0 -493
- teradataml/analytics/mle/IdentityMatch.py +0 -763
- teradataml/analytics/mle/Interpolator.py +0 -918
- teradataml/analytics/mle/KMeans.py +0 -485
- teradataml/analytics/mle/KNN.py +0 -627
- teradataml/analytics/mle/KNNRecommender.py +0 -488
- teradataml/analytics/mle/KNNRecommenderPredict.py +0 -581
- teradataml/analytics/mle/LAR.py +0 -439
- teradataml/analytics/mle/LARPredict.py +0 -478
- teradataml/analytics/mle/LDA.py +0 -548
- teradataml/analytics/mle/LDAInference.py +0 -492
- teradataml/analytics/mle/LDATopicSummary.py +0 -464
- teradataml/analytics/mle/LevenshteinDistance.py +0 -450
- teradataml/analytics/mle/LinReg.py +0 -433
- teradataml/analytics/mle/LinRegPredict.py +0 -438
- teradataml/analytics/mle/MinHash.py +0 -544
- teradataml/analytics/mle/Modularity.py +0 -587
- teradataml/analytics/mle/NEREvaluator.py +0 -410
- teradataml/analytics/mle/NERExtractor.py +0 -595
- teradataml/analytics/mle/NERTrainer.py +0 -458
- teradataml/analytics/mle/NGrams.py +0 -570
- teradataml/analytics/mle/NPath.py +0 -634
- teradataml/analytics/mle/NTree.py +0 -549
- teradataml/analytics/mle/NaiveBayes.py +0 -462
- teradataml/analytics/mle/NaiveBayesPredict.py +0 -513
- teradataml/analytics/mle/NaiveBayesTextClassifier.py +0 -607
- teradataml/analytics/mle/NaiveBayesTextClassifier2.py +0 -531
- teradataml/analytics/mle/NaiveBayesTextClassifierPredict.py +0 -799
- teradataml/analytics/mle/NamedEntityFinder.py +0 -529
- teradataml/analytics/mle/NamedEntityFinderEvaluator.py +0 -414
- teradataml/analytics/mle/NamedEntityFinderTrainer.py +0 -396
- teradataml/analytics/mle/POSTagger.py +0 -417
- teradataml/analytics/mle/Pack.py +0 -411
- teradataml/analytics/mle/PageRank.py +0 -535
- teradataml/analytics/mle/PathAnalyzer.py +0 -426
- teradataml/analytics/mle/PathGenerator.py +0 -367
- teradataml/analytics/mle/PathStart.py +0 -464
- teradataml/analytics/mle/PathSummarizer.py +0 -470
- teradataml/analytics/mle/Pivot.py +0 -471
- teradataml/analytics/mle/ROC.py +0 -425
- teradataml/analytics/mle/RandomSample.py +0 -637
- teradataml/analytics/mle/RandomWalkSample.py +0 -490
- teradataml/analytics/mle/SAX.py +0 -779
- teradataml/analytics/mle/SVMDense.py +0 -677
- teradataml/analytics/mle/SVMDensePredict.py +0 -536
- teradataml/analytics/mle/SVMDenseSummary.py +0 -437
- teradataml/analytics/mle/SVMSparse.py +0 -557
- teradataml/analytics/mle/SVMSparsePredict.py +0 -553
- teradataml/analytics/mle/SVMSparseSummary.py +0 -435
- teradataml/analytics/mle/Sampling.py +0 -549
- teradataml/analytics/mle/Scale.py +0 -565
- teradataml/analytics/mle/ScaleByPartition.py +0 -496
- teradataml/analytics/mle/ScaleMap.py +0 -378
- teradataml/analytics/mle/ScaleSummary.py +0 -320
- teradataml/analytics/mle/SentenceExtractor.py +0 -363
- teradataml/analytics/mle/SentimentEvaluator.py +0 -432
- teradataml/analytics/mle/SentimentExtractor.py +0 -578
- teradataml/analytics/mle/SentimentTrainer.py +0 -405
- teradataml/analytics/mle/SeriesSplitter.py +0 -641
- teradataml/analytics/mle/Sessionize.py +0 -475
- teradataml/analytics/mle/SimpleMovAvg.py +0 -397
- teradataml/analytics/mle/StringSimilarity.py +0 -425
- teradataml/analytics/mle/TF.py +0 -389
- teradataml/analytics/mle/TFIDF.py +0 -504
- teradataml/analytics/mle/TextChunker.py +0 -414
- teradataml/analytics/mle/TextClassifier.py +0 -399
- teradataml/analytics/mle/TextClassifierEvaluator.py +0 -413
- teradataml/analytics/mle/TextClassifierTrainer.py +0 -565
- teradataml/analytics/mle/TextMorph.py +0 -494
- teradataml/analytics/mle/TextParser.py +0 -623
- teradataml/analytics/mle/TextTagger.py +0 -530
- teradataml/analytics/mle/TextTokenizer.py +0 -502
- teradataml/analytics/mle/UnivariateStatistics.py +0 -488
- teradataml/analytics/mle/Unpack.py +0 -526
- teradataml/analytics/mle/Unpivot.py +0 -438
- teradataml/analytics/mle/VarMax.py +0 -776
- teradataml/analytics/mle/VectorDistance.py +0 -762
- teradataml/analytics/mle/WeightedMovAvg.py +0 -400
- teradataml/analytics/mle/XGBoost.py +0 -842
- teradataml/analytics/mle/XGBoostPredict.py +0 -627
- teradataml/analytics/mle/__init__.py +0 -123
- teradataml/analytics/mle/json/adaboost_mle.json +0 -135
- teradataml/analytics/mle/json/adaboostpredict_mle.json +0 -85
- teradataml/analytics/mle/json/antiselect_mle.json +0 -34
- teradataml/analytics/mle/json/antiselect_mle_mle.json +0 -34
- teradataml/analytics/mle/json/arima_mle.json +0 -172
- teradataml/analytics/mle/json/arimapredict_mle.json +0 -52
- teradataml/analytics/mle/json/attribution_mle_mle.json +0 -143
- teradataml/analytics/mle/json/betweenness_mle.json +0 -97
- teradataml/analytics/mle/json/burst_mle.json +0 -140
- teradataml/analytics/mle/json/ccm_mle.json +0 -124
- teradataml/analytics/mle/json/ccmprepare_mle.json +0 -14
- teradataml/analytics/mle/json/cfilter_mle.json +0 -93
- teradataml/analytics/mle/json/changepointdetection_mle.json +0 -92
- teradataml/analytics/mle/json/changepointdetectionrt_mle.json +0 -78
- teradataml/analytics/mle/json/closeness_mle.json +0 -104
- teradataml/analytics/mle/json/confusionmatrix_mle.json +0 -79
- teradataml/analytics/mle/json/correlation_mle.json +0 -86
- teradataml/analytics/mle/json/correlationreduce_mle.json +0 -49
- teradataml/analytics/mle/json/coxhazardratio_mle.json +0 -89
- teradataml/analytics/mle/json/coxph_mle.json +0 -98
- teradataml/analytics/mle/json/coxsurvival_mle.json +0 -79
- teradataml/analytics/mle/json/cumulativemovavg_mle.json +0 -34
- teradataml/analytics/mle/json/decisionforest_mle.json +0 -167
- teradataml/analytics/mle/json/decisionforestevaluator_mle.json +0 -33
- teradataml/analytics/mle/json/decisionforestpredict_mle_mle.json +0 -74
- teradataml/analytics/mle/json/decisiontree_mle.json +0 -194
- teradataml/analytics/mle/json/decisiontreepredict_mle_mle.json +0 -86
- teradataml/analytics/mle/json/dtw_mle.json +0 -97
- teradataml/analytics/mle/json/dwt2d_mle.json +0 -116
- teradataml/analytics/mle/json/dwt_mle.json +0 -101
- teradataml/analytics/mle/json/exponentialmovavg_mle.json +0 -55
- teradataml/analytics/mle/json/fmeasure_mle.json +0 -58
- teradataml/analytics/mle/json/fpgrowth_mle.json +0 -159
- teradataml/analytics/mle/json/frequentpaths_mle.json +0 -129
- teradataml/analytics/mle/json/glm_mle.json +0 -111
- teradataml/analytics/mle/json/glml1l2_mle.json +0 -106
- teradataml/analytics/mle/json/glml1l2predict_mle.json +0 -57
- teradataml/analytics/mle/json/glmpredict_mle_mle.json +0 -74
- teradataml/analytics/mle/json/histogram_mle.json +0 -100
- teradataml/analytics/mle/json/hmmdecoder_mle.json +0 -192
- teradataml/analytics/mle/json/hmmevaluator_mle.json +0 -206
- teradataml/analytics/mle/json/hmmsupervised_mle.json +0 -91
- teradataml/analytics/mle/json/hmmunsupervised_mle.json +0 -114
- teradataml/analytics/mle/json/identitymatch_mle.json +0 -88
- teradataml/analytics/mle/json/idwt2d_mle.json +0 -73
- teradataml/analytics/mle/json/idwt_mle.json +0 -66
- teradataml/analytics/mle/json/interpolator_mle.json +0 -151
- teradataml/analytics/mle/json/kmeans_mle.json +0 -97
- teradataml/analytics/mle/json/knn_mle.json +0 -141
- teradataml/analytics/mle/json/knnrecommender_mle.json +0 -111
- teradataml/analytics/mle/json/knnrecommenderpredict_mle.json +0 -75
- teradataml/analytics/mle/json/lar_mle.json +0 -78
- teradataml/analytics/mle/json/larpredict_mle.json +0 -69
- teradataml/analytics/mle/json/lda_mle.json +0 -130
- teradataml/analytics/mle/json/ldainference_mle.json +0 -78
- teradataml/analytics/mle/json/ldatopicsummary_mle.json +0 -64
- teradataml/analytics/mle/json/levenshteindistance_mle.json +0 -92
- teradataml/analytics/mle/json/linreg_mle.json +0 -42
- teradataml/analytics/mle/json/linregpredict_mle.json +0 -56
- teradataml/analytics/mle/json/minhash_mle.json +0 -113
- teradataml/analytics/mle/json/modularity_mle.json +0 -91
- teradataml/analytics/mle/json/naivebayespredict_mle_mle.json +0 -85
- teradataml/analytics/mle/json/naivebayesreduce_mle.json +0 -52
- teradataml/analytics/mle/json/naivebayestextclassifierpredict_mle_mle.json +0 -147
- teradataml/analytics/mle/json/naivebayestextclassifiertrainer2_mle.json +0 -108
- teradataml/analytics/mle/json/naivebayestextclassifiertrainer_mle.json +0 -102
- teradataml/analytics/mle/json/namedentityfinder_mle.json +0 -84
- teradataml/analytics/mle/json/namedentityfinderevaluatorreduce_mle.json +0 -43
- teradataml/analytics/mle/json/namedentityfindertrainer_mle.json +0 -64
- teradataml/analytics/mle/json/nerevaluator_mle.json +0 -54
- teradataml/analytics/mle/json/nerextractor_mle.json +0 -87
- teradataml/analytics/mle/json/nertrainer_mle.json +0 -89
- teradataml/analytics/mle/json/ngrams_mle.json +0 -137
- teradataml/analytics/mle/json/ngramsplitter_mle_mle.json +0 -137
- teradataml/analytics/mle/json/npath@coprocessor_mle.json +0 -73
- teradataml/analytics/mle/json/ntree@coprocessor_mle.json +0 -123
- teradataml/analytics/mle/json/pack_mle.json +0 -58
- teradataml/analytics/mle/json/pack_mle_mle.json +0 -58
- teradataml/analytics/mle/json/pagerank_mle.json +0 -81
- teradataml/analytics/mle/json/pathanalyzer_mle.json +0 -63
- teradataml/analytics/mle/json/pathgenerator_mle.json +0 -40
- teradataml/analytics/mle/json/pathstart_mle.json +0 -62
- teradataml/analytics/mle/json/pathsummarizer_mle.json +0 -72
- teradataml/analytics/mle/json/pivoting_mle.json +0 -71
- teradataml/analytics/mle/json/postagger_mle.json +0 -51
- teradataml/analytics/mle/json/randomsample_mle.json +0 -131
- teradataml/analytics/mle/json/randomwalksample_mle.json +0 -85
- teradataml/analytics/mle/json/roc_mle.json +0 -73
- teradataml/analytics/mle/json/sampling_mle.json +0 -75
- teradataml/analytics/mle/json/sax_mle.json +0 -154
- teradataml/analytics/mle/json/scale_mle.json +0 -93
- teradataml/analytics/mle/json/scalebypartition_mle.json +0 -89
- teradataml/analytics/mle/json/scalemap_mle.json +0 -44
- teradataml/analytics/mle/json/scalesummary_mle.json +0 -14
- teradataml/analytics/mle/json/sentenceextractor_mle.json +0 -41
- teradataml/analytics/mle/json/sentimentevaluator_mle.json +0 -43
- teradataml/analytics/mle/json/sentimentextractor_mle.json +0 -100
- teradataml/analytics/mle/json/sentimenttrainer_mle.json +0 -68
- teradataml/analytics/mle/json/seriessplitter_mle.json +0 -133
- teradataml/analytics/mle/json/sessionize_mle_mle.json +0 -62
- teradataml/analytics/mle/json/simplemovavg_mle.json +0 -48
- teradataml/analytics/mle/json/stringsimilarity_mle.json +0 -50
- teradataml/analytics/mle/json/stringsimilarity_mle_mle.json +0 -50
- teradataml/analytics/mle/json/svmdense_mle.json +0 -165
- teradataml/analytics/mle/json/svmdensepredict_mle.json +0 -95
- teradataml/analytics/mle/json/svmdensesummary_mle.json +0 -58
- teradataml/analytics/mle/json/svmsparse_mle.json +0 -148
- teradataml/analytics/mle/json/svmsparsepredict_mle_mle.json +0 -103
- teradataml/analytics/mle/json/svmsparsesummary_mle.json +0 -57
- teradataml/analytics/mle/json/textchunker_mle.json +0 -40
- teradataml/analytics/mle/json/textclassifier_mle.json +0 -51
- teradataml/analytics/mle/json/textclassifierevaluator_mle.json +0 -43
- teradataml/analytics/mle/json/textclassifiertrainer_mle.json +0 -103
- teradataml/analytics/mle/json/textmorph_mle.json +0 -63
- teradataml/analytics/mle/json/textparser_mle.json +0 -166
- teradataml/analytics/mle/json/texttagger_mle.json +0 -81
- teradataml/analytics/mle/json/texttokenizer_mle.json +0 -91
- teradataml/analytics/mle/json/tf_mle.json +0 -33
- teradataml/analytics/mle/json/tfidf_mle.json +0 -34
- teradataml/analytics/mle/json/univariatestatistics_mle.json +0 -81
- teradataml/analytics/mle/json/unpack_mle.json +0 -91
- teradataml/analytics/mle/json/unpack_mle_mle.json +0 -91
- teradataml/analytics/mle/json/unpivoting_mle.json +0 -63
- teradataml/analytics/mle/json/varmax_mle.json +0 -176
- teradataml/analytics/mle/json/vectordistance_mle.json +0 -179
- teradataml/analytics/mle/json/weightedmovavg_mle.json +0 -48
- teradataml/analytics/mle/json/xgboost_mle.json +0 -178
- teradataml/analytics/mle/json/xgboostpredict_mle.json +0 -104
- teradataml/analytics/sqle/Antiselect.py +0 -321
- teradataml/analytics/sqle/Attribution.py +0 -603
- teradataml/analytics/sqle/DecisionForestPredict.py +0 -408
- teradataml/analytics/sqle/GLMPredict.py +0 -430
- teradataml/analytics/sqle/MovingAverage.py +0 -543
- teradataml/analytics/sqle/NGramSplitter.py +0 -548
- teradataml/analytics/sqle/NPath.py +0 -632
- teradataml/analytics/sqle/NaiveBayesTextClassifierPredict.py +0 -515
- teradataml/analytics/sqle/Pack.py +0 -388
- teradataml/analytics/sqle/SVMSparsePredict.py +0 -464
- teradataml/analytics/sqle/Sessionize.py +0 -390
- teradataml/analytics/sqle/StringSimilarity.py +0 -400
- teradataml/analytics/sqle/Unpack.py +0 -503
- teradataml/analytics/sqle/json/antiselect_sqle.json +0 -21
- teradataml/analytics/sqle/json/attribution_sqle.json +0 -92
- teradataml/analytics/sqle/json/decisionforestpredict_sqle.json +0 -48
- teradataml/analytics/sqle/json/glmpredict_sqle.json +0 -48
- teradataml/analytics/sqle/json/h2opredict_sqle.json +0 -63
- teradataml/analytics/sqle/json/movingaverage_sqle.json +0 -58
- teradataml/analytics/sqle/json/naivebayestextclassifierpredict_sqle.json +0 -76
- teradataml/analytics/sqle/json/ngramsplitter_sqle.json +0 -126
- teradataml/analytics/sqle/json/npath_sqle.json +0 -67
- teradataml/analytics/sqle/json/pack_sqle.json +0 -47
- teradataml/analytics/sqle/json/pmmlpredict_sqle.json +0 -55
- teradataml/analytics/sqle/json/sessionize_sqle.json +0 -43
- teradataml/analytics/sqle/json/stringsimilarity_sqle.json +0 -39
- teradataml/analytics/sqle/json/svmsparsepredict_sqle.json +0 -74
- teradataml/analytics/sqle/json/unpack_sqle.json +0 -80
- teradataml/catalog/model_cataloging.py +0 -980
- teradataml/config/mlengine_alias_definitions_v1.0 +0 -118
- teradataml/config/mlengine_alias_definitions_v1.1 +0 -127
- teradataml/config/mlengine_alias_definitions_v1.3 +0 -129
- teradataml/table_operators/sandbox_container_util.py +0 -643
- teradataml-17.20.0.7.dist-info/RECORD +0 -1280
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,1026 @@
|
|
|
1
|
+
# ##################################################################
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2024 Teradata. All rights reserved.
|
|
4
|
+
# TERADATA CONFIDENTIAL AND TRADE SECRET
|
|
5
|
+
#
|
|
6
|
+
# Primary Owner: Sweta Shaw
|
|
7
|
+
# Email Id: Sweta.Shaw@Teradata.com
|
|
8
|
+
#
|
|
9
|
+
# Secondary Owner: Akhil Bisht
|
|
10
|
+
# Email Id: AKHIL.BISHT@Teradata.com
|
|
11
|
+
#
|
|
12
|
+
# Version: 1.1
|
|
13
|
+
# Function Version: 1.0
|
|
14
|
+
# ##################################################################
|
|
15
|
+
|
|
16
|
+
# Python libraries
|
|
17
|
+
import concurrent.futures
|
|
18
|
+
from concurrent.futures import ThreadPoolExecutor
|
|
19
|
+
import math
|
|
20
|
+
import pandas as pd
|
|
21
|
+
from itertools import product
|
|
22
|
+
|
|
23
|
+
# Teradata libraries
|
|
24
|
+
from teradataml.context import context as tdmlctx
|
|
25
|
+
from teradataml.dataframe.copy_to import copy_to_sql
|
|
26
|
+
from teradataml.dataframe.dataframe import DataFrame
|
|
27
|
+
from teradataml import execute_sql, get_connection
|
|
28
|
+
from teradataml import SVM, GLM, DecisionForest, XGBoost, GridSearch, KNN, RandomSearch
|
|
29
|
+
from teradataml.utils.validators import _Validators
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class _ModelTraining:
|
|
33
|
+
|
|
34
|
+
def __init__(self,
|
|
35
|
+
data,
|
|
36
|
+
target_column,
|
|
37
|
+
model_list,
|
|
38
|
+
verbose=0,
|
|
39
|
+
features=None,
|
|
40
|
+
task_type="Regression",
|
|
41
|
+
custom_data = None):
|
|
42
|
+
"""
|
|
43
|
+
DESCRIPTION:
|
|
44
|
+
Function initializes the data, target column, features and models
|
|
45
|
+
for model training.
|
|
46
|
+
|
|
47
|
+
PARAMETERS:
|
|
48
|
+
data:
|
|
49
|
+
Required Argument.
|
|
50
|
+
Specifies the dataset for model training phase.
|
|
51
|
+
Types: teradataml Dataframe
|
|
52
|
+
|
|
53
|
+
target_column:
|
|
54
|
+
Required Argument.
|
|
55
|
+
Specifies the target column present inside the dataset.
|
|
56
|
+
Types: str
|
|
57
|
+
|
|
58
|
+
model_list:
|
|
59
|
+
Required Argument.
|
|
60
|
+
Specifies the list of models to be used for model training.
|
|
61
|
+
Types: list
|
|
62
|
+
|
|
63
|
+
verbose:
|
|
64
|
+
Optional Argument.
|
|
65
|
+
Specifies the detailed execution steps based on verbose level.
|
|
66
|
+
Default Value: 0
|
|
67
|
+
Permitted Values:
|
|
68
|
+
* 0: prints the progress bar and leaderboard
|
|
69
|
+
* 1: prints the execution steps of AutoML.
|
|
70
|
+
* 2: prints the intermediate data between the
|
|
71
|
+
execution of each step of AutoML.
|
|
72
|
+
Types: int
|
|
73
|
+
|
|
74
|
+
features:
|
|
75
|
+
Required Argument.
|
|
76
|
+
Specifies the list of selected feature by rfe, lasso and pca
|
|
77
|
+
respectively in this order.
|
|
78
|
+
Types: list of list of strings (str)
|
|
79
|
+
|
|
80
|
+
task_type:
|
|
81
|
+
Required Argument.
|
|
82
|
+
Specifies the task type for AutoML, whether to apply regresion
|
|
83
|
+
or classification on the provived dataset.
|
|
84
|
+
Default Value: "Regression"
|
|
85
|
+
Permitted Values: "Regression", "Classification"
|
|
86
|
+
Types: str
|
|
87
|
+
|
|
88
|
+
custom_data:
|
|
89
|
+
Optional Argument.
|
|
90
|
+
Specifies json object containing user customized input.
|
|
91
|
+
Types: json object
|
|
92
|
+
"""
|
|
93
|
+
self.data = data
|
|
94
|
+
self.target_column = target_column
|
|
95
|
+
self.model_list = model_list
|
|
96
|
+
self.verbose = verbose
|
|
97
|
+
self.features = (features[1], features[0], features[2])
|
|
98
|
+
self.task_type = task_type
|
|
99
|
+
self.custom_data = custom_data
|
|
100
|
+
self.labels = self.data.drop_duplicate(self.target_column).size
|
|
101
|
+
self.startify_col = None
|
|
102
|
+
|
|
103
|
+
def model_training(self,
|
|
104
|
+
auto=True,
|
|
105
|
+
max_runtime_secs=None,
|
|
106
|
+
stopping_metric=None,
|
|
107
|
+
stopping_tolerance=0,
|
|
108
|
+
max_models=None
|
|
109
|
+
):
|
|
110
|
+
"""
|
|
111
|
+
DESCRIPTION:
|
|
112
|
+
Function to perform following tasks:-
|
|
113
|
+
1. Generates the hyperparameters for different ML models.
|
|
114
|
+
2. Performs hyperparameter tunning for different ML models in parallel.
|
|
115
|
+
3. Displays the leaderboard of trained ML models.
|
|
116
|
+
|
|
117
|
+
PARAMETERS:
|
|
118
|
+
auto:
|
|
119
|
+
Optional Argument.
|
|
120
|
+
Specifies whether to run data preparation in auto mode or custom mode.
|
|
121
|
+
When set to True, runs automtically otherwise, it take user inputs.
|
|
122
|
+
Default Value: True
|
|
123
|
+
Types: boolean
|
|
124
|
+
|
|
125
|
+
max_runtime_secs:
|
|
126
|
+
Optional Argument.
|
|
127
|
+
Specifies the time limit in seconds for model training.
|
|
128
|
+
Types: int
|
|
129
|
+
|
|
130
|
+
stopping_metric:
|
|
131
|
+
Required, when "stopping_tolerance" is set, otherwise optional.
|
|
132
|
+
Specifies the stopping mertics for stopping tolerance in model training.
|
|
133
|
+
Types: str
|
|
134
|
+
|
|
135
|
+
stopping_tolerance:
|
|
136
|
+
Required, when "stopping_metric" is set, otherwise optional.
|
|
137
|
+
Specifies the stopping tolerance for stopping metrics in model training.
|
|
138
|
+
Types: float
|
|
139
|
+
|
|
140
|
+
max_models:
|
|
141
|
+
Optional Argument.
|
|
142
|
+
Specifies the maximum number of models to be trained.
|
|
143
|
+
Types: int
|
|
144
|
+
|
|
145
|
+
RETURNS:
|
|
146
|
+
pandas dataframes containing model information, leaderboard and target
|
|
147
|
+
column distinct count.
|
|
148
|
+
"""
|
|
149
|
+
self.stopping_metric = stopping_metric
|
|
150
|
+
self.stopping_tolerance = stopping_tolerance
|
|
151
|
+
self.max_runtime_secs = max_runtime_secs
|
|
152
|
+
self.max_models = max_models
|
|
153
|
+
|
|
154
|
+
self._display_heading(phase=3, progress_bar=self.progress_bar)
|
|
155
|
+
self._display_msg(msg='Model Training started ...',
|
|
156
|
+
progress_bar=self.progress_bar,
|
|
157
|
+
show_data=True)
|
|
158
|
+
# Generates the hyperparameters for different ML models
|
|
159
|
+
parameters = self._generate_parameter()
|
|
160
|
+
|
|
161
|
+
# handles customized hyperparameters
|
|
162
|
+
if not auto:
|
|
163
|
+
parameters = self._custom_hyperparameters(parameters)
|
|
164
|
+
|
|
165
|
+
# Validates the upper limit of max_models based on total model combinations
|
|
166
|
+
if self.max_models is not None:
|
|
167
|
+
self._validate_upper_limit_for_max_models(parameters)
|
|
168
|
+
|
|
169
|
+
if self.verbose == 2:
|
|
170
|
+
self._display_hyperparameters(parameters)
|
|
171
|
+
|
|
172
|
+
# Parallel execution of hpt
|
|
173
|
+
trained_models_info = self._parallel_training(parameters)
|
|
174
|
+
|
|
175
|
+
# Displaying leaderboard
|
|
176
|
+
leader_board, models = self._display_leaderboard(trained_models_info)
|
|
177
|
+
|
|
178
|
+
self._display_heading(phase=4,
|
|
179
|
+
progress_bar=self.progress_bar)
|
|
180
|
+
self.progress_bar.update()
|
|
181
|
+
|
|
182
|
+
return models, leader_board, self.labels
|
|
183
|
+
|
|
184
|
+
def _get_model_param_space(self,
|
|
185
|
+
hyperparameters):
|
|
186
|
+
"""
|
|
187
|
+
DESCRIPTION:
|
|
188
|
+
Internal function to calculate the total number of models to be trained for specific model.
|
|
189
|
+
|
|
190
|
+
PARAMETERS:
|
|
191
|
+
hyperparameters:
|
|
192
|
+
Required Argument.
|
|
193
|
+
Specifies the hyperparameters availables for ML model.
|
|
194
|
+
Types: list of dict
|
|
195
|
+
|
|
196
|
+
RETURNS:
|
|
197
|
+
int containing, total number of models available for training.
|
|
198
|
+
"""
|
|
199
|
+
# Creating all possible combinations of hyperparameters
|
|
200
|
+
all_combinations = list(product(*[v if isinstance(v, tuple) else [v] for v in hyperparameters.values()]))
|
|
201
|
+
# Getting total number of models for each model model training function
|
|
202
|
+
total_models = len(all_combinations)
|
|
203
|
+
return total_models
|
|
204
|
+
|
|
205
|
+
def _validate_upper_limit_for_max_models(self,
|
|
206
|
+
hyperparameters_list):
|
|
207
|
+
"""
|
|
208
|
+
DESCRIPTION:
|
|
209
|
+
Internal function to validate the upper limit of max_models.
|
|
210
|
+
|
|
211
|
+
PARAMETERS:
|
|
212
|
+
hyperparameters_list:
|
|
213
|
+
Required Argument.
|
|
214
|
+
Specifies the hyperparameters for different ML models.
|
|
215
|
+
Types: list of dict
|
|
216
|
+
|
|
217
|
+
RETURNS:
|
|
218
|
+
None
|
|
219
|
+
|
|
220
|
+
RAISES:
|
|
221
|
+
TeradataMlException, ValueError
|
|
222
|
+
"""
|
|
223
|
+
model_param_space = 0
|
|
224
|
+
for hyperparameter_dct in hyperparameters_list:
|
|
225
|
+
# getting total number of models for each model
|
|
226
|
+
total_models = self._get_model_param_space(hyperparameter_dct)
|
|
227
|
+
model_param_space += total_models
|
|
228
|
+
|
|
229
|
+
# Validating upper range for max_models
|
|
230
|
+
_Validators._validate_argument_range(self.max_models, "max_models", ubound=model_param_space, ubound_inclusive=True)
|
|
231
|
+
|
|
232
|
+
def _display_hyperparameters(self,
|
|
233
|
+
hyperparameters_list):
|
|
234
|
+
"""
|
|
235
|
+
DESCRIPTION:
|
|
236
|
+
Internal function to display the hyperparameters for different ML models.
|
|
237
|
+
|
|
238
|
+
PARAMETERS:
|
|
239
|
+
hyperparameters_list:
|
|
240
|
+
Required Argument.
|
|
241
|
+
Specifies the hyperparameters for different ML models.
|
|
242
|
+
Types: list of dict
|
|
243
|
+
|
|
244
|
+
RETURNS:
|
|
245
|
+
None
|
|
246
|
+
"""
|
|
247
|
+
self._display_msg(msg="\nHyperparameters used for model training: ",
|
|
248
|
+
progress_bar = self.progress_bar,
|
|
249
|
+
show_data=True)
|
|
250
|
+
print(" " *150, end='\r', flush=True)
|
|
251
|
+
|
|
252
|
+
# Iterating over hyperparameters_list
|
|
253
|
+
for hyperparameter_dct in hyperparameters_list:
|
|
254
|
+
# Extracting hyperparameter and their value from hyperparameters dictionary
|
|
255
|
+
for key, val in hyperparameter_dct.items():
|
|
256
|
+
# Displaying hyperparameters
|
|
257
|
+
print(f"{key} : {str(val)}")
|
|
258
|
+
|
|
259
|
+
# Displaying total number of models for each model
|
|
260
|
+
total_models = self._get_model_param_space(hyperparameter_dct)
|
|
261
|
+
print(f"Total number of models for {hyperparameter_dct['name']} : {total_models}")
|
|
262
|
+
print(f"--"*100+'\n')
|
|
263
|
+
|
|
264
|
+
def _display_leaderboard(self,
|
|
265
|
+
trained_models_info):
|
|
266
|
+
"""
|
|
267
|
+
DESCRIPTION:
|
|
268
|
+
Internal function to display the trainined ML models.
|
|
269
|
+
|
|
270
|
+
PARAMETERS:
|
|
271
|
+
trained_models_info:
|
|
272
|
+
Required Argument.
|
|
273
|
+
Specifies the trained models inforamtion to display.
|
|
274
|
+
Types: pandas Dataframe
|
|
275
|
+
|
|
276
|
+
RETURNS:
|
|
277
|
+
pandas Dataframe.
|
|
278
|
+
"""
|
|
279
|
+
# Creating a copy to avoid use of same reference of memory
|
|
280
|
+
if self.task_type != "Regression":
|
|
281
|
+
sorted_model_df = trained_models_info.sort_values(by=['Micro-F1', 'Weighted-F1'],
|
|
282
|
+
ascending=[False, False]).reset_index(drop=True)
|
|
283
|
+
else:
|
|
284
|
+
sorted_model_df = trained_models_info.sort_values(by='R2-score',
|
|
285
|
+
ascending=False).reset_index(drop=True)
|
|
286
|
+
|
|
287
|
+
# Adding rank to leaderboard
|
|
288
|
+
sorted_model_df.insert(0, 'Rank', sorted_model_df.index + 1)
|
|
289
|
+
|
|
290
|
+
# Excluding the model object and model name from leaderboard
|
|
291
|
+
leaderboard = sorted_model_df.drop(["model-obj","Name"], axis=1)
|
|
292
|
+
# filtering the rows based on the max_models
|
|
293
|
+
if self.max_models is not None:
|
|
294
|
+
leaderboard = leaderboard[leaderboard["Rank"] <= self.max_models]
|
|
295
|
+
|
|
296
|
+
self._display_msg(msg="Leaderboard",
|
|
297
|
+
progress_bar=self.progress_bar,
|
|
298
|
+
data=leaderboard,
|
|
299
|
+
show_data=True)
|
|
300
|
+
|
|
301
|
+
return leaderboard, sorted_model_df
|
|
302
|
+
|
|
303
|
+
def _update_hyperparameters(self,
|
|
304
|
+
existing_params,
|
|
305
|
+
new_params):
|
|
306
|
+
"""
|
|
307
|
+
DESCRIPTION:
|
|
308
|
+
Function to update customized hyperparameters by performing addition or replacement
|
|
309
|
+
based on user input.
|
|
310
|
+
|
|
311
|
+
PARAMETERS:
|
|
312
|
+
existing_params:
|
|
313
|
+
Required Argument.
|
|
314
|
+
Specifies the existing generated hyperparameters for specific model.
|
|
315
|
+
Types: dict
|
|
316
|
+
|
|
317
|
+
new_params:
|
|
318
|
+
Required Argument.
|
|
319
|
+
Specifies the newly passed hyperparameters from user input.
|
|
320
|
+
Types: dict
|
|
321
|
+
|
|
322
|
+
RETURNS:
|
|
323
|
+
Updated dictionary containing hyperparameters for specific model.
|
|
324
|
+
"""
|
|
325
|
+
# Iterating over new hyperparameters and performing required operation
|
|
326
|
+
# based on passed method ADD or REPLACE
|
|
327
|
+
for feature, param_list in new_params.items():
|
|
328
|
+
if feature in existing_params.keys():
|
|
329
|
+
if param_list["Method"] == "ADD":
|
|
330
|
+
# Extending existing list
|
|
331
|
+
existing_params[feature] = list(existing_params[feature])
|
|
332
|
+
existing_params[feature].extend(param_list["Value"])
|
|
333
|
+
# Updating list with unique values.
|
|
334
|
+
existing_params[feature]=tuple(set(existing_params[feature]))
|
|
335
|
+
elif param_list["Method"] == "REPLACE":
|
|
336
|
+
# Replacing with entirely new value
|
|
337
|
+
existing_params[feature] = tuple(param_list["Value"])
|
|
338
|
+
else:
|
|
339
|
+
self._display_msg(inline_msg="Passed method is not valid.")
|
|
340
|
+
else:
|
|
341
|
+
self._display_msg(inline_msg="\nPassed model argument {} is not"
|
|
342
|
+
"available for model {}. Skipping it."
|
|
343
|
+
.format(feature,existing_params['name']))
|
|
344
|
+
continue
|
|
345
|
+
# Returning updated hyperparamter
|
|
346
|
+
return existing_params
|
|
347
|
+
|
|
348
|
+
def _custom_hyperparameters(self,
|
|
349
|
+
hyperparameters):
|
|
350
|
+
"""
|
|
351
|
+
DESCRIPTION:
|
|
352
|
+
Function to extract and update hyperaparameters from user input for model training.
|
|
353
|
+
|
|
354
|
+
PARAMETERS:
|
|
355
|
+
hyperparameters:
|
|
356
|
+
Required Argument.
|
|
357
|
+
Specifies the existing generated hyperparameters for all models.
|
|
358
|
+
Types: list
|
|
359
|
+
|
|
360
|
+
RETURNS:
|
|
361
|
+
Updated list of dictionaries containing hyperparameterd for all models.
|
|
362
|
+
"""
|
|
363
|
+
self._display_msg(msg="\nStarting customized hyperparameter update ...",
|
|
364
|
+
progress_bar=self.progress_bar,
|
|
365
|
+
show_data=True)
|
|
366
|
+
|
|
367
|
+
# Fetching user input for performing hyperparameter tuning
|
|
368
|
+
hyperparameter_tuning_input = self.custom_data.get("HyperparameterTuningIndicator", False)
|
|
369
|
+
if hyperparameter_tuning_input:
|
|
370
|
+
# Extracting models and its corresponding hyperparameters details
|
|
371
|
+
model_hyperparameters = self.custom_data.get("HyperparameterTuningParam", None)
|
|
372
|
+
# Getting model index for mapping
|
|
373
|
+
model_index_param = self.model_mapping
|
|
374
|
+
# Checking hyperparameters passed by user and mapping them according to model
|
|
375
|
+
if model_hyperparameters:
|
|
376
|
+
for model_name, hyp_list in model_hyperparameters.items():
|
|
377
|
+
if model_name in list(model_index_param.keys()):
|
|
378
|
+
model_index = model_index_param[model_name]
|
|
379
|
+
else:
|
|
380
|
+
self._display_msg(inline_msg="\nPassed model {} is not available for training.".format(model_name))
|
|
381
|
+
continue
|
|
382
|
+
# Updating existing hyperparameters with customized hyperparameters as per user input
|
|
383
|
+
hyperparameters[model_index]=self._update_hyperparameters(hyperparameters[model_index],hyp_list)
|
|
384
|
+
# Displaying it after update
|
|
385
|
+
self._display_msg(inline_msg="\nCompleted customized hyperparameter update.",
|
|
386
|
+
progress_bar=self.progress_bar)
|
|
387
|
+
else:
|
|
388
|
+
self._display_msg(inline_msg="No information provided for custom hyperparameters. AutoML will proceed with default values.",
|
|
389
|
+
progress_bar=self.progress_bar)
|
|
390
|
+
else:
|
|
391
|
+
self._display_msg(inline_msg="\nSkipping customized hyperparameter tuning",
|
|
392
|
+
progress_bar=self.progress_bar)
|
|
393
|
+
# Retunring updated hyperparameters for all models
|
|
394
|
+
return hyperparameters
|
|
395
|
+
|
|
396
|
+
# Hyperparameter generation for XGBoost or Decision Forest
|
|
397
|
+
def _get_tree_model_hyperparameters(self,
|
|
398
|
+
num_rows,
|
|
399
|
+
num_cols,
|
|
400
|
+
model_name):
|
|
401
|
+
"""
|
|
402
|
+
DESCRIPTION:
|
|
403
|
+
Internal function to generate hyperparameters for tree based model i.e., XGBoost or Decision Forest.
|
|
404
|
+
|
|
405
|
+
PARAMETERS:
|
|
406
|
+
num_rows:
|
|
407
|
+
Required Argument.
|
|
408
|
+
Specifies the number of rows in dataset.
|
|
409
|
+
Types: int
|
|
410
|
+
|
|
411
|
+
num_cols:
|
|
412
|
+
Required Argument.
|
|
413
|
+
Specifies the number of columns in dataset.
|
|
414
|
+
Types: int
|
|
415
|
+
|
|
416
|
+
model_name:
|
|
417
|
+
Required Argument.
|
|
418
|
+
Specifies which linear model is getting used for generating hyperparameters.
|
|
419
|
+
Types: Str
|
|
420
|
+
|
|
421
|
+
RETURNS:
|
|
422
|
+
dict containing, hyperparameters for XGBoost or Decision Forest.
|
|
423
|
+
"""
|
|
424
|
+
# Initializing hyperparameters based on default value
|
|
425
|
+
min_impurity = [0.0]
|
|
426
|
+
shrinkage_factor = [0.5]
|
|
427
|
+
max_depth = [5]
|
|
428
|
+
min_node_size = [1]
|
|
429
|
+
iter_num = [10]
|
|
430
|
+
num_trees = [-1]
|
|
431
|
+
|
|
432
|
+
# Extending values for hyperparameters based on dataset size, i.e., number of rows and columns
|
|
433
|
+
if num_rows < 1000 and num_cols < 10:
|
|
434
|
+
min_impurity.extend([0.1])
|
|
435
|
+
shrinkage_factor.extend([0.1, 0.2])
|
|
436
|
+
max_depth.extend([6, 7, 8])
|
|
437
|
+
min_node_size.extend([2])
|
|
438
|
+
iter_num.extend([20])
|
|
439
|
+
num_trees.extend([10, 20])
|
|
440
|
+
elif num_rows < 10000 and num_cols < 15:
|
|
441
|
+
min_impurity.extend([0.1, 0.2])
|
|
442
|
+
shrinkage_factor.extend([0.1, 0.3])
|
|
443
|
+
max_depth.extend([6, 8, 10])
|
|
444
|
+
min_node_size.extend([2, 3])
|
|
445
|
+
iter_num.extend([20, 30])
|
|
446
|
+
num_trees.extend([20, 30])
|
|
447
|
+
elif num_rows < 100000 and num_cols < 20:
|
|
448
|
+
min_impurity.extend([0.2, 0.3])
|
|
449
|
+
shrinkage_factor.extend([0.01, 0.1, 0.2])
|
|
450
|
+
max_depth.extend([4, 6, 7])
|
|
451
|
+
min_node_size.extend([3, 4])
|
|
452
|
+
iter_num.extend([30, 40])
|
|
453
|
+
num_trees.extend([30, 40])
|
|
454
|
+
else:
|
|
455
|
+
min_impurity.extend([0.1, 0.2, 0.3])
|
|
456
|
+
shrinkage_factor.extend([0.01, 0.05, 0.1])
|
|
457
|
+
max_depth.extend([3, 4, 7, 8])
|
|
458
|
+
min_node_size.extend([2, 3, 4])
|
|
459
|
+
iter_num.extend([20, 30, 40])
|
|
460
|
+
num_trees.extend([20, 30, 40])
|
|
461
|
+
|
|
462
|
+
# Hyperparameters for XGBoost model
|
|
463
|
+
xgb_params = {
|
|
464
|
+
'response_column': self.target_column,
|
|
465
|
+
'name':'xgboost',
|
|
466
|
+
'model_type': 'Regression',
|
|
467
|
+
'column_sampling': (1, .6),
|
|
468
|
+
'min_impurity': tuple(min_impurity),
|
|
469
|
+
'lambda1': (0.01, 0.1, 1, 10),
|
|
470
|
+
'shrinkage_factor': tuple(shrinkage_factor),
|
|
471
|
+
'max_depth': tuple(max_depth),
|
|
472
|
+
'min_node_size': tuple(min_node_size),
|
|
473
|
+
'iter_num': tuple(iter_num),
|
|
474
|
+
'seed':42
|
|
475
|
+
}
|
|
476
|
+
# Hyperparameters for Decision Forest model
|
|
477
|
+
df_params = {
|
|
478
|
+
'response_column': self.target_column,
|
|
479
|
+
'name': 'decision_forest',
|
|
480
|
+
'tree_type': 'Regression',
|
|
481
|
+
'min_impurity': tuple(min_impurity),
|
|
482
|
+
'max_depth': tuple(max_depth),
|
|
483
|
+
'min_node_size': tuple(min_node_size),
|
|
484
|
+
'num_trees': tuple(num_trees),
|
|
485
|
+
'seed':42
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
# Updating model type in case of classification
|
|
489
|
+
if self.task_type == "Classification":
|
|
490
|
+
xgb_params['model_type'] = 'Classification'
|
|
491
|
+
df_params['tree_type'] = 'Classification'
|
|
492
|
+
|
|
493
|
+
# Returning hyperparameters based on passed model
|
|
494
|
+
if model_name == 'xgboost':
|
|
495
|
+
return xgb_params
|
|
496
|
+
elif model_name == 'decision_forest':
|
|
497
|
+
return df_params
|
|
498
|
+
else:
|
|
499
|
+
return None
|
|
500
|
+
|
|
501
|
+
# Hyperparameter generation for KNN
|
|
502
|
+
def _get_knn_hyperparameters(self,
|
|
503
|
+
num_rows=None,
|
|
504
|
+
num_cols=None):
|
|
505
|
+
"""
|
|
506
|
+
DESCRIPTION:
|
|
507
|
+
Internal function to generate hyperparameters for KNN.
|
|
508
|
+
|
|
509
|
+
PARAMETERS:
|
|
510
|
+
num_rows
|
|
511
|
+
Required Argument.
|
|
512
|
+
Specifies the number of rows in dataset.
|
|
513
|
+
Types: int
|
|
514
|
+
|
|
515
|
+
num_cols:
|
|
516
|
+
Required Argument.
|
|
517
|
+
Specifies the number of columns in dataset.
|
|
518
|
+
Types: int
|
|
519
|
+
|
|
520
|
+
RETURNS:
|
|
521
|
+
dict containing, hyperparameters for KNN.
|
|
522
|
+
"""
|
|
523
|
+
params = {
|
|
524
|
+
'response_column': self.target_column,
|
|
525
|
+
'name': 'knn',
|
|
526
|
+
'model_type': 'Regression',
|
|
527
|
+
'k': (3, 5, 6, 8, 10, 12),
|
|
528
|
+
"id_column":"id",
|
|
529
|
+
"voting_weight": 1.0
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
if self.task_type == "Classification":
|
|
533
|
+
params['model_type'] = 'Classification'
|
|
534
|
+
|
|
535
|
+
return params
|
|
536
|
+
|
|
537
|
+
# Hyperparameter generation for SVM/GLM
|
|
538
|
+
def _get_linear_model_hyperparameters(self,
|
|
539
|
+
num_rows,
|
|
540
|
+
num_cols,
|
|
541
|
+
model_name):
|
|
542
|
+
"""
|
|
543
|
+
DESCRIPTION:
|
|
544
|
+
Internal function to generate hyperparameters for linear models i.e., SVM or GLM.
|
|
545
|
+
|
|
546
|
+
PARAMETERS:
|
|
547
|
+
num_rows:
|
|
548
|
+
Required Argument.
|
|
549
|
+
Specifies the number of rows in dataset.
|
|
550
|
+
Types: int
|
|
551
|
+
|
|
552
|
+
num_cols:
|
|
553
|
+
Required Argument.
|
|
554
|
+
Specifies the number of columns in dataset.
|
|
555
|
+
Types: int
|
|
556
|
+
|
|
557
|
+
model_name:
|
|
558
|
+
Required Argument.
|
|
559
|
+
Specifies which tree model is getting used for generating hyperparameters.
|
|
560
|
+
Types: Str
|
|
561
|
+
|
|
562
|
+
RETURNS:
|
|
563
|
+
dict containing, hyperparameters for SVM or GLM.
|
|
564
|
+
"""
|
|
565
|
+
# Initializing hyperparameters based on default value
|
|
566
|
+
iter_max = [300]
|
|
567
|
+
batch_size = [10]
|
|
568
|
+
|
|
569
|
+
# Extending values for hyperparameters based on dataset size i.e., number of rows and columns
|
|
570
|
+
if num_rows < 1000 and num_cols < 10:
|
|
571
|
+
iter_max.extend([100, 200])
|
|
572
|
+
batch_size.extend([20, 40, 50])
|
|
573
|
+
elif num_rows < 10000 and num_cols < 15:
|
|
574
|
+
iter_max.extend([200, 400])
|
|
575
|
+
batch_size.extend([50, 60, 80])
|
|
576
|
+
elif num_rows < 100000 and num_cols < 20:
|
|
577
|
+
iter_max.extend([400])
|
|
578
|
+
batch_size.extend([100, 150])
|
|
579
|
+
else:
|
|
580
|
+
iter_max.extend([200, 400, 500])
|
|
581
|
+
batch_size.extend([80, 100, 150])
|
|
582
|
+
|
|
583
|
+
# Hyperparameters for SVM model
|
|
584
|
+
svm_params = {
|
|
585
|
+
'response_column': self.target_column,
|
|
586
|
+
'name':'svm',
|
|
587
|
+
'model_type':'regression',
|
|
588
|
+
'lambda1':(0.001, 0.02, 0.1),
|
|
589
|
+
'alpha':(.15, .85),
|
|
590
|
+
'tolerance':(0.001, 0.01),
|
|
591
|
+
'learning_rate':('Invtime','Adaptive','constant'),
|
|
592
|
+
'initial_eta' : (0.05, 0.1),
|
|
593
|
+
'momentum':(0.65, 0.8, 0.95),
|
|
594
|
+
'nesterov': True,
|
|
595
|
+
'intercept': True,
|
|
596
|
+
'iter_num_no_change':(5, 10, 50),
|
|
597
|
+
'local_sgd_iterations ': (10, 20),
|
|
598
|
+
'iter_max' : tuple(iter_max),
|
|
599
|
+
'batch_size' : tuple(batch_size)
|
|
600
|
+
}
|
|
601
|
+
# Hyperparameters for GLM model
|
|
602
|
+
glm_params={
|
|
603
|
+
'response_column': self.target_column,
|
|
604
|
+
'name': 'glm',
|
|
605
|
+
'family': 'GAUSSIAN',
|
|
606
|
+
'lambda1':(0.001, 0.02, 0.1),
|
|
607
|
+
'alpha': (0.15, 0.85),
|
|
608
|
+
'learning_rate': ('invtime', 'constant', 'adaptive'),
|
|
609
|
+
'initial_eta': (0.05, 0.1),
|
|
610
|
+
'momentum': (0.65, 0.8, 0.95),
|
|
611
|
+
'iter_num_no_change':(5, 10, 50),
|
|
612
|
+
'iter_max' : tuple(iter_max),
|
|
613
|
+
'batch_size' : tuple(batch_size)
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
# Updating model type in case of classification
|
|
617
|
+
if self.task_type == "Classification":
|
|
618
|
+
svm_params['model_type'] = 'Classification'
|
|
619
|
+
svm_params['learning_rate'] = 'OPTIMAL'
|
|
620
|
+
glm_params['family'] = 'BINOMIAL'
|
|
621
|
+
glm_params['learning_rate'] = 'OPTIMAL'
|
|
622
|
+
|
|
623
|
+
# Returning hyperparameters based on passed model
|
|
624
|
+
if model_name == 'svm':
|
|
625
|
+
return svm_params
|
|
626
|
+
elif model_name == 'glm':
|
|
627
|
+
return glm_params
|
|
628
|
+
else:
|
|
629
|
+
return None
|
|
630
|
+
|
|
631
|
+
def _generate_parameter(self):
|
|
632
|
+
"""
|
|
633
|
+
DESCRIPTION:
|
|
634
|
+
Internal function to generate hyperparameters for ML models.
|
|
635
|
+
|
|
636
|
+
RETURNS:
|
|
637
|
+
list containing, dict of hyperparameters for different ML models.
|
|
638
|
+
"""
|
|
639
|
+
# list for storing hyperparameters
|
|
640
|
+
parameters=[]
|
|
641
|
+
# Index for model mapping
|
|
642
|
+
model_index=0
|
|
643
|
+
# Dictionary for mapping model with index
|
|
644
|
+
self.model_mapping={}
|
|
645
|
+
|
|
646
|
+
# Getting number of rows and columns
|
|
647
|
+
num_rows = self.data.shape[0]
|
|
648
|
+
num_cols = self.data.shape[1]
|
|
649
|
+
|
|
650
|
+
# Updating model list for multi-class classification
|
|
651
|
+
if self.task_type.casefold() == "classification" and self.labels > 2:
|
|
652
|
+
for model in ['glm','svm']:
|
|
653
|
+
if model in self.model_list:
|
|
654
|
+
self._display_msg(inline_msg="\nMulti-class classification is "
|
|
655
|
+
"not supported by {} model. Skipping {} model."
|
|
656
|
+
.format(model, model),
|
|
657
|
+
progress_bar=self.progress_bar)
|
|
658
|
+
self.model_list.remove(model)
|
|
659
|
+
|
|
660
|
+
# Model functions mapping for hyperparameter generation
|
|
661
|
+
model_functions = {
|
|
662
|
+
'decision_forest': self._get_tree_model_hyperparameters,
|
|
663
|
+
'xgboost': self._get_tree_model_hyperparameters,
|
|
664
|
+
'knn': self._get_knn_hyperparameters,
|
|
665
|
+
'glm': self._get_linear_model_hyperparameters,
|
|
666
|
+
'svm': self._get_linear_model_hyperparameters,
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
# Generating hyperparameters for each model
|
|
670
|
+
if self.model_list:
|
|
671
|
+
for model in self.model_list:
|
|
672
|
+
self.model_mapping[model] = model_index
|
|
673
|
+
if model == 'knn':
|
|
674
|
+
parameters.append(model_functions[model](num_rows, num_cols))
|
|
675
|
+
else:
|
|
676
|
+
parameters.append(model_functions[model](num_rows, num_cols, model))
|
|
677
|
+
model_index += 1
|
|
678
|
+
else:
|
|
679
|
+
raise ValueError("No model is selected for training.")
|
|
680
|
+
|
|
681
|
+
return parameters
|
|
682
|
+
|
|
683
|
+
def distribute_max_models(self):
|
|
684
|
+
"""
|
|
685
|
+
DESCRIPTION:
|
|
686
|
+
Internal function to distribute max_models across available model functions.
|
|
687
|
+
|
|
688
|
+
RETURNS:
|
|
689
|
+
dictionary containing max_models distribution and list of models to remove.
|
|
690
|
+
"""
|
|
691
|
+
# Getting total number of models
|
|
692
|
+
model_count=len(self.model_list)
|
|
693
|
+
# Evenly distributing max_models across models
|
|
694
|
+
base_assign = self.max_models // model_count
|
|
695
|
+
# Creating list of max_models for each model
|
|
696
|
+
distribution = [base_assign] * model_count
|
|
697
|
+
|
|
698
|
+
# Calculating remaining models
|
|
699
|
+
remaining_model_count = self.max_models % model_count
|
|
700
|
+
if remaining_model_count:
|
|
701
|
+
# distributing remaining model across models.
|
|
702
|
+
# Starting from first model in list and distributing remaining models by 1 each.
|
|
703
|
+
for i in range(remaining_model_count):
|
|
704
|
+
distribution[i] += 1
|
|
705
|
+
|
|
706
|
+
# Creating dictionary for model distribution
|
|
707
|
+
model_distribution = dict(zip(self.model_list, distribution))
|
|
708
|
+
# Getting list of models with 0 distribution and removing them from model list
|
|
709
|
+
# While for model having distribution greater than 0, updating distribution with
|
|
710
|
+
# 1/3rd of original value as we are training with 3 different feature selection methods.
|
|
711
|
+
models_to_remove = []
|
|
712
|
+
for model in self.model_list:
|
|
713
|
+
initial_count = model_distribution[model]
|
|
714
|
+
if initial_count == 0:
|
|
715
|
+
models_to_remove.append(model)
|
|
716
|
+
else:
|
|
717
|
+
model_distribution[model] = math.ceil(initial_count / 3)
|
|
718
|
+
|
|
719
|
+
return model_distribution, models_to_remove
|
|
720
|
+
|
|
721
|
+
def _parallel_training(self, parameters):
|
|
722
|
+
"""
|
|
723
|
+
DESCRIPTION:
|
|
724
|
+
Internal function initiates the threadpool executor
|
|
725
|
+
for hyperparameter tunning of ML models.
|
|
726
|
+
|
|
727
|
+
PARAMETERS:
|
|
728
|
+
parameters:
|
|
729
|
+
Required Argument.
|
|
730
|
+
Specifies the hyperparamters for ML models.
|
|
731
|
+
Types: list of dict
|
|
732
|
+
|
|
733
|
+
RETURNS:
|
|
734
|
+
Pandas DataFrame containing, trained models information.
|
|
735
|
+
"""
|
|
736
|
+
|
|
737
|
+
# Hyperparameters for each model
|
|
738
|
+
model_params = parameters[:min(len(parameters), 5)]
|
|
739
|
+
self._display_msg(msg="\nPerforming hyperParameter tuning ...", progress_bar=self.progress_bar)
|
|
740
|
+
|
|
741
|
+
# Defining training and testing data
|
|
742
|
+
data_types = ['lasso', 'rfe', 'pca']
|
|
743
|
+
trainng_datas = tuple(DataFrame(self.table_name_mapping[f'{data_type}_train']) for data_type in data_types)
|
|
744
|
+
testing_datas = tuple(DataFrame(self.table_name_mapping[f'{data_type}_test']) for data_type in data_types)
|
|
745
|
+
|
|
746
|
+
if self.stopping_metric is None:
|
|
747
|
+
self.stopping_tolerance, self.stopping_metric = 1.0, 'MICRO-F1' \
|
|
748
|
+
if self.is_classification_type() else 'R2'
|
|
749
|
+
|
|
750
|
+
self.max_runtime_secs = self.max_runtime_secs/len(model_params) \
|
|
751
|
+
if self.max_runtime_secs is not None else None
|
|
752
|
+
|
|
753
|
+
if self.max_models is not None:
|
|
754
|
+
# Getting model distribution and models to remove
|
|
755
|
+
self.max_models_distribution, models_to_remove = self.distribute_max_models()
|
|
756
|
+
# Removing model parameters with 0 distribution
|
|
757
|
+
if len(models_to_remove):
|
|
758
|
+
for model in models_to_remove:
|
|
759
|
+
model_params = [param for param in model_params if param['name'] != model]
|
|
760
|
+
# Updating progress bar as we are removing model
|
|
761
|
+
self.progress_bar.update()
|
|
762
|
+
|
|
763
|
+
if self.is_classification_type():
|
|
764
|
+
self.startify_col = self.target_column
|
|
765
|
+
|
|
766
|
+
trained_models = []
|
|
767
|
+
for param in model_params:
|
|
768
|
+
result = self._hyperparameter_tunning(param, trainng_datas, testing_datas)
|
|
769
|
+
trained_models.append(result)
|
|
770
|
+
|
|
771
|
+
models_df = pd.concat(trained_models, ignore_index=True)
|
|
772
|
+
|
|
773
|
+
# Score the model and combine the results into a single DataFrame
|
|
774
|
+
trained_models_info = self._model_scoring(testing_datas, models_df)
|
|
775
|
+
trained_models_info = trained_models_info.reset_index(drop=True)
|
|
776
|
+
|
|
777
|
+
return trained_models_info
|
|
778
|
+
|
|
779
|
+
def _model_scoring(self,
|
|
780
|
+
test_data,
|
|
781
|
+
model_info):
|
|
782
|
+
"""
|
|
783
|
+
DESCRIPTION:
|
|
784
|
+
Internal function generates the performance metrics for
|
|
785
|
+
trained ML models using testing dataset.
|
|
786
|
+
|
|
787
|
+
PARAMETERS:
|
|
788
|
+
test_data
|
|
789
|
+
Required Argument.
|
|
790
|
+
Specifies the testing datasets
|
|
791
|
+
Types: tuple of Teradataml DataFrame
|
|
792
|
+
|
|
793
|
+
model_info
|
|
794
|
+
Required Argument.
|
|
795
|
+
Specifies the trained models information.
|
|
796
|
+
Types: Pandas DataFrame
|
|
797
|
+
|
|
798
|
+
RETURNS:
|
|
799
|
+
Pandas DataFrame containing, trained models with their performance metrics.
|
|
800
|
+
"""
|
|
801
|
+
self._display_msg(msg="Evaluating models performance ...",
|
|
802
|
+
progress_bar = self.progress_bar,
|
|
803
|
+
show_data=True)
|
|
804
|
+
# Empty list for storing model performance metrics
|
|
805
|
+
model_performance_data = []
|
|
806
|
+
|
|
807
|
+
# Mapping feature selection methods to corresponding test data
|
|
808
|
+
feature_selection_to_test_data = {"lasso": test_data[0],
|
|
809
|
+
"rfe": test_data[1],
|
|
810
|
+
"pca": test_data[2]}
|
|
811
|
+
|
|
812
|
+
# Iterating over models
|
|
813
|
+
for index, model_row in model_info.iterrows():
|
|
814
|
+
# Extracting model name, model id, feature selection method, and model object
|
|
815
|
+
model_name, model_id, feature_selection, model_object = model_row['Name'], \
|
|
816
|
+
model_row['Model-ID'], model_row['Feature-Selection'], model_row['obj']
|
|
817
|
+
|
|
818
|
+
# Selecting test data based on feature selection method
|
|
819
|
+
test_set = feature_selection_to_test_data[feature_selection]
|
|
820
|
+
|
|
821
|
+
# Model evaluation
|
|
822
|
+
if model_name == 'knn':
|
|
823
|
+
performance_metrics = model_object.evaluate(test_data=test_set)
|
|
824
|
+
else:
|
|
825
|
+
eval_params = _ModelTraining._eval_params_generation(model_name,
|
|
826
|
+
self.target_column,
|
|
827
|
+
self.task_type)
|
|
828
|
+
performance_metrics = model_object.evaluate(newdata=test_set, **eval_params)
|
|
829
|
+
|
|
830
|
+
# Extracting performance metrics
|
|
831
|
+
if self.is_classification_type():
|
|
832
|
+
# Classification
|
|
833
|
+
# Extract performance metrics from the output data
|
|
834
|
+
performance_metrics_list = [metric[2] for metric in performance_metrics.output_data.itertuples()]
|
|
835
|
+
|
|
836
|
+
# Combine all the elements to form a new row
|
|
837
|
+
new_row = [model_name, model_id, feature_selection] + performance_metrics_list + [model_object]
|
|
838
|
+
else:
|
|
839
|
+
# Regression
|
|
840
|
+
regression_metrics = next(performance_metrics.result.itertuples())
|
|
841
|
+
sample_size = test_set.select('id').size
|
|
842
|
+
feature_count = len(test_set.columns) - 2
|
|
843
|
+
r2_score = regression_metrics[8]
|
|
844
|
+
adjusted_r2_score = 1 - ((1 - r2_score) * (sample_size - 1) / (sample_size - feature_count - 1))
|
|
845
|
+
new_row = [model_name, model_id, feature_selection, regression_metrics[0],
|
|
846
|
+
regression_metrics[1], regression_metrics[2], regression_metrics[5],
|
|
847
|
+
regression_metrics[6], r2_score, adjusted_r2_score, model_object]
|
|
848
|
+
|
|
849
|
+
model_performance_data.append(new_row)
|
|
850
|
+
|
|
851
|
+
if self.is_classification_type():
|
|
852
|
+
model_metrics_df = pd.DataFrame(model_performance_data, columns=['Name','Model-ID',
|
|
853
|
+
'Feature-Selection','Accuracy','Micro-Precision',
|
|
854
|
+
'Micro-Recall','Micro-F1',
|
|
855
|
+
'Macro-Precision','Macro-Recall',
|
|
856
|
+
'Macro-F1','Weighted-Precision',
|
|
857
|
+
'Weighted-Recall','Weighted-F1',
|
|
858
|
+
'model-obj'])
|
|
859
|
+
else:
|
|
860
|
+
model_metrics_df = pd.DataFrame(model_performance_data, columns=['Name', 'Model-ID',
|
|
861
|
+
'Feature-Selection',
|
|
862
|
+
'MAE', 'MSE', 'MSLE',
|
|
863
|
+
'RMSE', 'RMSLE',
|
|
864
|
+
'R2-score',
|
|
865
|
+
'Adjusted R2-score',
|
|
866
|
+
'model-obj'])
|
|
867
|
+
self._display_msg(msg="Evaluation completed.",
|
|
868
|
+
progress_bar = self.progress_bar,
|
|
869
|
+
show_data=True)
|
|
870
|
+
|
|
871
|
+
return model_metrics_df
|
|
872
|
+
|
|
873
|
+
def _hyperparameter_tunning(self,
|
|
874
|
+
model_param,
|
|
875
|
+
train_data,
|
|
876
|
+
test_data):
|
|
877
|
+
"""
|
|
878
|
+
DESCRIPTION:
|
|
879
|
+
Internal function performs hyperparameter tuning on
|
|
880
|
+
ML models for regression/classification problems.
|
|
881
|
+
|
|
882
|
+
PARAMETERS:
|
|
883
|
+
model_param
|
|
884
|
+
Required Argument.
|
|
885
|
+
Specifies the eval_params argument for GridSearch.
|
|
886
|
+
Types: dict
|
|
887
|
+
|
|
888
|
+
train_data:
|
|
889
|
+
Required Argument.
|
|
890
|
+
Specifies the training datasets.
|
|
891
|
+
Types: tuple of Teradataml DataFrame
|
|
892
|
+
|
|
893
|
+
test_data
|
|
894
|
+
Required Argument.
|
|
895
|
+
Specifies the testing datasets
|
|
896
|
+
Types: tuple of Teradataml DataFrame
|
|
897
|
+
|
|
898
|
+
RETURNS:
|
|
899
|
+
pandas DataFrame containing, trained models information.
|
|
900
|
+
"""
|
|
901
|
+
# Mapping model names to functions
|
|
902
|
+
model_to_func = {"glm": GLM, "svm": SVM,
|
|
903
|
+
"xgboost": XGBoost, "decision_forest": DecisionForest, "knn": KNN}
|
|
904
|
+
|
|
905
|
+
# Setting eval_params for hpt.
|
|
906
|
+
eval_params = _ModelTraining._eval_params_generation(model_param['name'],
|
|
907
|
+
self.target_column,
|
|
908
|
+
self.task_type)
|
|
909
|
+
|
|
910
|
+
# Input columns for model
|
|
911
|
+
model_param['input_columns'] = self.features
|
|
912
|
+
|
|
913
|
+
self._display_msg(msg=model_param['name'],
|
|
914
|
+
progress_bar=self.progress_bar,
|
|
915
|
+
show_data=True)
|
|
916
|
+
|
|
917
|
+
# Defining test data for KNN
|
|
918
|
+
if model_param['name'] == 'knn':
|
|
919
|
+
model_param['test_data'] = test_data
|
|
920
|
+
|
|
921
|
+
# Using RandomSearch for hyperparameter tunning when max_models is given.
|
|
922
|
+
# Otherwise, using GridSearch for hyperparameter tunning.
|
|
923
|
+
if self.max_models is not None:
|
|
924
|
+
# Setting max_models for RandomSearch based on model name
|
|
925
|
+
model_param['max_models'] = self.max_models_distribution[model_param['name']]
|
|
926
|
+
# Defining RandomSearch with ML model based on Name, and max_models
|
|
927
|
+
_obj = RandomSearch(func=model_to_func[model_param['name']],
|
|
928
|
+
params=model_param,
|
|
929
|
+
n_iter=model_param['max_models'])
|
|
930
|
+
else:
|
|
931
|
+
# Defining Gridsearch with ML model based on Name
|
|
932
|
+
_obj = GridSearch(func=model_to_func[model_param['name']],
|
|
933
|
+
params=model_param)
|
|
934
|
+
|
|
935
|
+
if self.verbose > 0:
|
|
936
|
+
print(" " *200, end='\r', flush=True)
|
|
937
|
+
verbose = 1
|
|
938
|
+
else:
|
|
939
|
+
verbose = 0
|
|
940
|
+
|
|
941
|
+
# Hyperparameter tunning
|
|
942
|
+
if model_param['name'] == 'knn':
|
|
943
|
+
_obj.fit(data=train_data, evaluation_metric=self.stopping_metric,
|
|
944
|
+
early_stop=self.stopping_tolerance, run_parallel=True,
|
|
945
|
+
sample_seed=42, sample_id_column='id', discard_invalid_column_params=True,
|
|
946
|
+
stratify_column=self.startify_col,verbose=verbose, max_time=self.max_runtime_secs)
|
|
947
|
+
else:
|
|
948
|
+
_obj.fit(data=train_data, evaluation_metric=self.stopping_metric,
|
|
949
|
+
early_stop=self.stopping_tolerance, **eval_params,
|
|
950
|
+
run_parallel=True, discard_invalid_column_params=True, sample_seed=42,
|
|
951
|
+
sample_id_column='id',stratify_column=self.startify_col, verbose=verbose, max_time=self.max_runtime_secs)
|
|
952
|
+
|
|
953
|
+
# Getting all passed models
|
|
954
|
+
_df = _obj.model_stats.merge(_obj.models[_obj.models['STATUS']=='PASS'][['MODEL_ID', 'DATA_ID']], on='MODEL_ID', how='inner')
|
|
955
|
+
# Creating mapping data ID to feature selection method
|
|
956
|
+
data_id_to_method_map = {"DF_0": "lasso", "DF_1": "rfe", "DF_2": "pca"}
|
|
957
|
+
|
|
958
|
+
# Mapping data ID to feature selection method
|
|
959
|
+
_df['Feature-Selection'] = _df['DATA_ID'].map(data_id_to_method_map)
|
|
960
|
+
# Getting model details
|
|
961
|
+
_df['Name'] = model_param['name']
|
|
962
|
+
_df['Model-ID'] = _df['MODEL_ID']
|
|
963
|
+
_df['obj'] = _df['MODEL_ID'].apply(lambda x: _obj.get_model(x))
|
|
964
|
+
|
|
965
|
+
# Extracting needed columns
|
|
966
|
+
model_info = _df[["Name", "Model-ID", "Feature-Selection", "obj"]]
|
|
967
|
+
|
|
968
|
+
self._display_msg(msg="-"*100,
|
|
969
|
+
progress_bar=self.progress_bar,
|
|
970
|
+
show_data=True)
|
|
971
|
+
self.progress_bar.update()
|
|
972
|
+
|
|
973
|
+
return model_info
|
|
974
|
+
|
|
975
|
+
@staticmethod
|
|
976
|
+
def _eval_params_generation(ml_name,
|
|
977
|
+
target_column,
|
|
978
|
+
task_type):
|
|
979
|
+
"""
|
|
980
|
+
DESCRIPTION:
|
|
981
|
+
Internal function generates the eval_params for
|
|
982
|
+
different ML models.
|
|
983
|
+
|
|
984
|
+
PARAMETERS:
|
|
985
|
+
ml_name
|
|
986
|
+
Required Argument.
|
|
987
|
+
Specifies the ML name for eval_params generation.
|
|
988
|
+
Types: str
|
|
989
|
+
|
|
990
|
+
target_column
|
|
991
|
+
Required Argument.
|
|
992
|
+
Specifies the target column.
|
|
993
|
+
Types: str
|
|
994
|
+
|
|
995
|
+
task_type:
|
|
996
|
+
Required Argument.
|
|
997
|
+
Specifies the task type for AutoML, whether to apply regresion
|
|
998
|
+
or classification on the provived dataset.
|
|
999
|
+
Default Value: "Regression"
|
|
1000
|
+
Permitted Values: "Regression", "Classification"
|
|
1001
|
+
Types: str
|
|
1002
|
+
|
|
1003
|
+
RETURNS:
|
|
1004
|
+
dict containing, eval_params for ML model.
|
|
1005
|
+
"""
|
|
1006
|
+
# Setting the eval_params
|
|
1007
|
+
eval_params = {"id_column": "id",
|
|
1008
|
+
"accumulate": target_column}
|
|
1009
|
+
|
|
1010
|
+
# For Classification
|
|
1011
|
+
if task_type.lower() != "regression":
|
|
1012
|
+
if ml_name == 'xgboost':
|
|
1013
|
+
eval_params['model_type'] = 'Classification'
|
|
1014
|
+
eval_params['object_order_column'] = ['task_index', 'tree_num', 'iter','class_num', 'tree_order']
|
|
1015
|
+
else:
|
|
1016
|
+
if ml_name == 'glm':
|
|
1017
|
+
eval_params['family'] = 'BINOMIAL'
|
|
1018
|
+
|
|
1019
|
+
eval_params['output_prob'] = True
|
|
1020
|
+
else:
|
|
1021
|
+
# For Regression
|
|
1022
|
+
if ml_name == 'xgboost':
|
|
1023
|
+
eval_params['model_type'] = 'Regression'
|
|
1024
|
+
eval_params['object_order_column'] = ['task_index', 'tree_num', 'iter', 'tree_order']
|
|
1025
|
+
|
|
1026
|
+
return eval_params
|