teradataml 20.0.0.8__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.
- teradataml/LICENSE-3RD-PARTY.pdf +0 -0
- teradataml/LICENSE.pdf +0 -0
- teradataml/README.md +2762 -0
- teradataml/__init__.py +78 -0
- teradataml/_version.py +11 -0
- teradataml/analytics/Transformations.py +2996 -0
- teradataml/analytics/__init__.py +82 -0
- teradataml/analytics/analytic_function_executor.py +2416 -0
- teradataml/analytics/analytic_query_generator.py +1050 -0
- teradataml/analytics/byom/H2OPredict.py +514 -0
- teradataml/analytics/byom/PMMLPredict.py +437 -0
- teradataml/analytics/byom/__init__.py +16 -0
- teradataml/analytics/json_parser/__init__.py +133 -0
- teradataml/analytics/json_parser/analytic_functions_argument.py +1805 -0
- teradataml/analytics/json_parser/json_store.py +191 -0
- teradataml/analytics/json_parser/metadata.py +1666 -0
- teradataml/analytics/json_parser/utils.py +805 -0
- teradataml/analytics/meta_class.py +236 -0
- teradataml/analytics/sqle/DecisionTreePredict.py +456 -0
- teradataml/analytics/sqle/NaiveBayesPredict.py +420 -0
- teradataml/analytics/sqle/__init__.py +128 -0
- teradataml/analytics/sqle/json/decisiontreepredict_sqle.json +78 -0
- teradataml/analytics/sqle/json/naivebayespredict_sqle.json +62 -0
- teradataml/analytics/table_operator/__init__.py +11 -0
- teradataml/analytics/uaf/__init__.py +82 -0
- teradataml/analytics/utils.py +828 -0
- teradataml/analytics/valib.py +1617 -0
- teradataml/automl/__init__.py +5835 -0
- teradataml/automl/autodataprep/__init__.py +493 -0
- teradataml/automl/custom_json_utils.py +1625 -0
- teradataml/automl/data_preparation.py +1384 -0
- teradataml/automl/data_transformation.py +1254 -0
- teradataml/automl/feature_engineering.py +2273 -0
- teradataml/automl/feature_exploration.py +1873 -0
- teradataml/automl/model_evaluation.py +488 -0
- teradataml/automl/model_training.py +1407 -0
- teradataml/catalog/__init__.py +2 -0
- teradataml/catalog/byom.py +1759 -0
- teradataml/catalog/function_argument_mapper.py +859 -0
- teradataml/catalog/model_cataloging_utils.py +491 -0
- teradataml/clients/__init__.py +0 -0
- teradataml/clients/auth_client.py +137 -0
- teradataml/clients/keycloak_client.py +165 -0
- teradataml/clients/pkce_client.py +481 -0
- teradataml/common/__init__.py +1 -0
- teradataml/common/aed_utils.py +2078 -0
- teradataml/common/bulk_exposed_utils.py +113 -0
- teradataml/common/constants.py +1669 -0
- teradataml/common/deprecations.py +166 -0
- teradataml/common/exceptions.py +147 -0
- teradataml/common/formula.py +743 -0
- teradataml/common/garbagecollector.py +666 -0
- teradataml/common/logger.py +1261 -0
- teradataml/common/messagecodes.py +518 -0
- teradataml/common/messages.py +262 -0
- teradataml/common/pylogger.py +67 -0
- teradataml/common/sqlbundle.py +764 -0
- teradataml/common/td_coltype_code_to_tdtype.py +48 -0
- teradataml/common/utils.py +3166 -0
- teradataml/common/warnings.py +36 -0
- teradataml/common/wrapper_utils.py +625 -0
- teradataml/config/__init__.py +0 -0
- teradataml/config/dummy_file1.cfg +5 -0
- teradataml/config/dummy_file2.cfg +3 -0
- teradataml/config/sqlengine_alias_definitions_v1.0 +14 -0
- teradataml/config/sqlengine_alias_definitions_v1.1 +20 -0
- teradataml/config/sqlengine_alias_definitions_v1.3 +19 -0
- teradataml/context/__init__.py +0 -0
- teradataml/context/aed_context.py +223 -0
- teradataml/context/context.py +1462 -0
- teradataml/data/A_loan.csv +19 -0
- teradataml/data/BINARY_REALS_LEFT.csv +11 -0
- teradataml/data/BINARY_REALS_RIGHT.csv +11 -0
- teradataml/data/B_loan.csv +49 -0
- teradataml/data/BuoyData2.csv +17 -0
- teradataml/data/CONVOLVE2_COMPLEX_LEFT.csv +5 -0
- teradataml/data/CONVOLVE2_COMPLEX_RIGHT.csv +5 -0
- teradataml/data/Convolve2RealsLeft.csv +5 -0
- teradataml/data/Convolve2RealsRight.csv +5 -0
- teradataml/data/Convolve2ValidLeft.csv +11 -0
- teradataml/data/Convolve2ValidRight.csv +11 -0
- teradataml/data/DFFTConv_Real_8_8.csv +65 -0
- teradataml/data/Employee.csv +5 -0
- teradataml/data/Employee_Address.csv +4 -0
- teradataml/data/Employee_roles.csv +5 -0
- teradataml/data/JulesBelvezeDummyData.csv +100 -0
- teradataml/data/Mall_customer_data.csv +201 -0
- teradataml/data/Orders1_12mf.csv +25 -0
- teradataml/data/Pi_loan.csv +7 -0
- teradataml/data/SMOOTHED_DATA.csv +7 -0
- teradataml/data/TestDFFT8.csv +9 -0
- teradataml/data/TestRiver.csv +109 -0
- teradataml/data/Traindata.csv +28 -0
- teradataml/data/__init__.py +0 -0
- teradataml/data/acf.csv +17 -0
- teradataml/data/adaboost_example.json +34 -0
- teradataml/data/adaboostpredict_example.json +24 -0
- teradataml/data/additional_table.csv +11 -0
- teradataml/data/admissions_test.csv +21 -0
- teradataml/data/admissions_train.csv +41 -0
- teradataml/data/admissions_train_nulls.csv +41 -0
- teradataml/data/advertising.csv +201 -0
- teradataml/data/ageandheight.csv +13 -0
- teradataml/data/ageandpressure.csv +31 -0
- teradataml/data/amazon_reviews_25.csv +26 -0
- teradataml/data/antiselect_example.json +36 -0
- teradataml/data/antiselect_input.csv +8 -0
- teradataml/data/antiselect_input_mixed_case.csv +8 -0
- teradataml/data/applicant_external.csv +7 -0
- teradataml/data/applicant_reference.csv +7 -0
- teradataml/data/apriori_example.json +22 -0
- teradataml/data/arima_example.json +9 -0
- teradataml/data/assortedtext_input.csv +8 -0
- teradataml/data/attribution_example.json +34 -0
- teradataml/data/attribution_sample_table.csv +27 -0
- teradataml/data/attribution_sample_table1.csv +6 -0
- teradataml/data/attribution_sample_table2.csv +11 -0
- teradataml/data/bank_churn.csv +10001 -0
- teradataml/data/bank_marketing.csv +11163 -0
- teradataml/data/bank_web_clicks1.csv +43 -0
- teradataml/data/bank_web_clicks2.csv +91 -0
- teradataml/data/bank_web_url.csv +85 -0
- teradataml/data/barrier.csv +2 -0
- teradataml/data/barrier_new.csv +3 -0
- teradataml/data/betweenness_example.json +14 -0
- teradataml/data/bike_sharing.csv +732 -0
- teradataml/data/bin_breaks.csv +8 -0
- teradataml/data/bin_fit_ip.csv +4 -0
- teradataml/data/binary_complex_left.csv +11 -0
- teradataml/data/binary_complex_right.csv +11 -0
- teradataml/data/binary_matrix_complex_left.csv +21 -0
- teradataml/data/binary_matrix_complex_right.csv +21 -0
- teradataml/data/binary_matrix_real_left.csv +21 -0
- teradataml/data/binary_matrix_real_right.csv +21 -0
- teradataml/data/blood2ageandweight.csv +26 -0
- teradataml/data/bmi.csv +501 -0
- teradataml/data/boston.csv +507 -0
- teradataml/data/boston2cols.csv +721 -0
- teradataml/data/breast_cancer.csv +570 -0
- teradataml/data/buoydata_mix.csv +11 -0
- teradataml/data/burst_data.csv +5 -0
- teradataml/data/burst_example.json +21 -0
- teradataml/data/byom_example.json +34 -0
- teradataml/data/bytes_table.csv +4 -0
- teradataml/data/cal_housing_ex_raw.csv +70 -0
- teradataml/data/callers.csv +7 -0
- teradataml/data/calls.csv +10 -0
- teradataml/data/cars_hist.csv +33 -0
- teradataml/data/cat_table.csv +25 -0
- teradataml/data/ccm_example.json +32 -0
- teradataml/data/ccm_input.csv +91 -0
- teradataml/data/ccm_input2.csv +13 -0
- teradataml/data/ccmexample.csv +101 -0
- teradataml/data/ccmprepare_example.json +9 -0
- teradataml/data/ccmprepare_input.csv +91 -0
- teradataml/data/cfilter_example.json +12 -0
- teradataml/data/changepointdetection_example.json +18 -0
- teradataml/data/changepointdetectionrt_example.json +8 -0
- teradataml/data/chi_sq.csv +3 -0
- teradataml/data/churn_data.csv +14 -0
- teradataml/data/churn_emission.csv +35 -0
- teradataml/data/churn_initial.csv +3 -0
- teradataml/data/churn_state_transition.csv +5 -0
- teradataml/data/citedges_2.csv +745 -0
- teradataml/data/citvertices_2.csv +1210 -0
- teradataml/data/clicks2.csv +16 -0
- teradataml/data/clickstream.csv +13 -0
- teradataml/data/clickstream1.csv +11 -0
- teradataml/data/closeness_example.json +16 -0
- teradataml/data/complaints.csv +21 -0
- teradataml/data/complaints_mini.csv +3 -0
- teradataml/data/complaints_test_tokenized.csv +353 -0
- teradataml/data/complaints_testtoken.csv +224 -0
- teradataml/data/complaints_tokens_model.csv +348 -0
- teradataml/data/complaints_tokens_test.csv +353 -0
- teradataml/data/complaints_traintoken.csv +472 -0
- teradataml/data/computers_category.csv +1001 -0
- teradataml/data/computers_test1.csv +1252 -0
- teradataml/data/computers_train1.csv +5009 -0
- teradataml/data/computers_train1_clustered.csv +5009 -0
- teradataml/data/confusionmatrix_example.json +9 -0
- teradataml/data/conversion_event_table.csv +3 -0
- teradataml/data/corr_input.csv +17 -0
- teradataml/data/correlation_example.json +11 -0
- teradataml/data/covid_confirm_sd.csv +83 -0
- teradataml/data/coxhazardratio_example.json +39 -0
- teradataml/data/coxph_example.json +15 -0
- teradataml/data/coxsurvival_example.json +28 -0
- teradataml/data/cpt.csv +41 -0
- teradataml/data/credit_ex_merged.csv +45 -0
- teradataml/data/creditcard_data.csv +1001 -0
- teradataml/data/customer_loyalty.csv +301 -0
- teradataml/data/customer_loyalty_newseq.csv +31 -0
- teradataml/data/customer_segmentation_test.csv +2628 -0
- teradataml/data/customer_segmentation_train.csv +8069 -0
- teradataml/data/dataframe_example.json +173 -0
- teradataml/data/decisionforest_example.json +37 -0
- teradataml/data/decisionforestpredict_example.json +38 -0
- teradataml/data/decisiontree_example.json +21 -0
- teradataml/data/decisiontreepredict_example.json +45 -0
- teradataml/data/dfft2_size4_real.csv +17 -0
- teradataml/data/dfft2_test_matrix16.csv +17 -0
- teradataml/data/dfft2conv_real_4_4.csv +65 -0
- teradataml/data/diabetes.csv +443 -0
- teradataml/data/diabetes_test.csv +89 -0
- teradataml/data/dict_table.csv +5 -0
- teradataml/data/docperterm_table.csv +4 -0
- teradataml/data/docs/__init__.py +1 -0
- teradataml/data/docs/byom/__init__.py +0 -0
- teradataml/data/docs/byom/docs/DataRobotPredict.py +180 -0
- teradataml/data/docs/byom/docs/DataikuPredict.py +217 -0
- teradataml/data/docs/byom/docs/H2OPredict.py +325 -0
- teradataml/data/docs/byom/docs/ONNXEmbeddings.py +242 -0
- teradataml/data/docs/byom/docs/ONNXPredict.py +283 -0
- teradataml/data/docs/byom/docs/ONNXSeq2Seq.py +255 -0
- teradataml/data/docs/byom/docs/PMMLPredict.py +278 -0
- teradataml/data/docs/byom/docs/__init__.py +0 -0
- teradataml/data/docs/sqle/__init__.py +0 -0
- teradataml/data/docs/sqle/docs_17_10/Antiselect.py +83 -0
- teradataml/data/docs/sqle/docs_17_10/Attribution.py +200 -0
- teradataml/data/docs/sqle/docs_17_10/BincodeFit.py +172 -0
- teradataml/data/docs/sqle/docs_17_10/BincodeTransform.py +131 -0
- teradataml/data/docs/sqle/docs_17_10/CategoricalSummary.py +86 -0
- teradataml/data/docs/sqle/docs_17_10/ChiSq.py +90 -0
- teradataml/data/docs/sqle/docs_17_10/ColumnSummary.py +86 -0
- teradataml/data/docs/sqle/docs_17_10/ConvertTo.py +96 -0
- teradataml/data/docs/sqle/docs_17_10/DecisionForestPredict.py +139 -0
- teradataml/data/docs/sqle/docs_17_10/DecisionTreePredict.py +152 -0
- teradataml/data/docs/sqle/docs_17_10/FTest.py +161 -0
- teradataml/data/docs/sqle/docs_17_10/FillRowId.py +83 -0
- teradataml/data/docs/sqle/docs_17_10/Fit.py +88 -0
- teradataml/data/docs/sqle/docs_17_10/GLMPredict.py +144 -0
- teradataml/data/docs/sqle/docs_17_10/GetRowsWithMissingValues.py +85 -0
- teradataml/data/docs/sqle/docs_17_10/GetRowsWithoutMissingValues.py +82 -0
- teradataml/data/docs/sqle/docs_17_10/Histogram.py +165 -0
- teradataml/data/docs/sqle/docs_17_10/MovingAverage.py +134 -0
- teradataml/data/docs/sqle/docs_17_10/NGramSplitter.py +209 -0
- teradataml/data/docs/sqle/docs_17_10/NPath.py +266 -0
- teradataml/data/docs/sqle/docs_17_10/NaiveBayesPredict.py +116 -0
- teradataml/data/docs/sqle/docs_17_10/NaiveBayesTextClassifierPredict.py +176 -0
- teradataml/data/docs/sqle/docs_17_10/NumApply.py +147 -0
- teradataml/data/docs/sqle/docs_17_10/OneHotEncodingFit.py +135 -0
- teradataml/data/docs/sqle/docs_17_10/OneHotEncodingTransform.py +109 -0
- teradataml/data/docs/sqle/docs_17_10/OutlierFilterFit.py +166 -0
- teradataml/data/docs/sqle/docs_17_10/OutlierFilterTransform.py +105 -0
- teradataml/data/docs/sqle/docs_17_10/Pack.py +128 -0
- teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesFit.py +112 -0
- teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesTransform.py +102 -0
- teradataml/data/docs/sqle/docs_17_10/QQNorm.py +105 -0
- teradataml/data/docs/sqle/docs_17_10/RoundColumns.py +110 -0
- teradataml/data/docs/sqle/docs_17_10/RowNormalizeFit.py +118 -0
- teradataml/data/docs/sqle/docs_17_10/RowNormalizeTransform.py +99 -0
- teradataml/data/docs/sqle/docs_17_10/SVMSparsePredict.py +153 -0
- teradataml/data/docs/sqle/docs_17_10/ScaleFit.py +197 -0
- teradataml/data/docs/sqle/docs_17_10/ScaleTransform.py +99 -0
- teradataml/data/docs/sqle/docs_17_10/Sessionize.py +114 -0
- teradataml/data/docs/sqle/docs_17_10/SimpleImputeFit.py +116 -0
- teradataml/data/docs/sqle/docs_17_10/SimpleImputeTransform.py +98 -0
- teradataml/data/docs/sqle/docs_17_10/StrApply.py +187 -0
- teradataml/data/docs/sqle/docs_17_10/StringSimilarity.py +146 -0
- teradataml/data/docs/sqle/docs_17_10/Transform.py +105 -0
- teradataml/data/docs/sqle/docs_17_10/UnivariateStatistics.py +142 -0
- teradataml/data/docs/sqle/docs_17_10/Unpack.py +214 -0
- teradataml/data/docs/sqle/docs_17_10/WhichMax.py +83 -0
- teradataml/data/docs/sqle/docs_17_10/WhichMin.py +83 -0
- teradataml/data/docs/sqle/docs_17_10/ZTest.py +155 -0
- teradataml/data/docs/sqle/docs_17_10/__init__.py +0 -0
- teradataml/data/docs/sqle/docs_17_20/ANOVA.py +186 -0
- teradataml/data/docs/sqle/docs_17_20/Antiselect.py +83 -0
- teradataml/data/docs/sqle/docs_17_20/Apriori.py +138 -0
- teradataml/data/docs/sqle/docs_17_20/Attribution.py +201 -0
- teradataml/data/docs/sqle/docs_17_20/BincodeFit.py +172 -0
- teradataml/data/docs/sqle/docs_17_20/BincodeTransform.py +139 -0
- teradataml/data/docs/sqle/docs_17_20/CFilter.py +132 -0
- teradataml/data/docs/sqle/docs_17_20/CategoricalSummary.py +86 -0
- teradataml/data/docs/sqle/docs_17_20/ChiSq.py +90 -0
- teradataml/data/docs/sqle/docs_17_20/ClassificationEvaluator.py +166 -0
- teradataml/data/docs/sqle/docs_17_20/ColumnSummary.py +86 -0
- teradataml/data/docs/sqle/docs_17_20/ColumnTransformer.py +246 -0
- teradataml/data/docs/sqle/docs_17_20/ConvertTo.py +113 -0
- teradataml/data/docs/sqle/docs_17_20/DecisionForest.py +280 -0
- teradataml/data/docs/sqle/docs_17_20/DecisionForestPredict.py +144 -0
- teradataml/data/docs/sqle/docs_17_20/DecisionTreePredict.py +136 -0
- teradataml/data/docs/sqle/docs_17_20/FTest.py +240 -0
- teradataml/data/docs/sqle/docs_17_20/FillRowId.py +83 -0
- teradataml/data/docs/sqle/docs_17_20/Fit.py +88 -0
- teradataml/data/docs/sqle/docs_17_20/GLM.py +541 -0
- teradataml/data/docs/sqle/docs_17_20/GLMPerSegment.py +415 -0
- teradataml/data/docs/sqle/docs_17_20/GLMPredict.py +144 -0
- teradataml/data/docs/sqle/docs_17_20/GLMPredictPerSegment.py +233 -0
- teradataml/data/docs/sqle/docs_17_20/GetFutileColumns.py +125 -0
- teradataml/data/docs/sqle/docs_17_20/GetRowsWithMissingValues.py +109 -0
- teradataml/data/docs/sqle/docs_17_20/GetRowsWithoutMissingValues.py +106 -0
- teradataml/data/docs/sqle/docs_17_20/Histogram.py +224 -0
- teradataml/data/docs/sqle/docs_17_20/KMeans.py +251 -0
- teradataml/data/docs/sqle/docs_17_20/KMeansPredict.py +144 -0
- teradataml/data/docs/sqle/docs_17_20/KNN.py +215 -0
- teradataml/data/docs/sqle/docs_17_20/MovingAverage.py +134 -0
- teradataml/data/docs/sqle/docs_17_20/NERExtractor.py +121 -0
- teradataml/data/docs/sqle/docs_17_20/NGramSplitter.py +209 -0
- teradataml/data/docs/sqle/docs_17_20/NPath.py +266 -0
- teradataml/data/docs/sqle/docs_17_20/NaiveBayes.py +162 -0
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesPredict.py +116 -0
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierPredict.py +177 -0
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierTrainer.py +127 -0
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineFit.py +119 -0
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineTransform.py +112 -0
- teradataml/data/docs/sqle/docs_17_20/NumApply.py +147 -0
- teradataml/data/docs/sqle/docs_17_20/OneClassSVM.py +307 -0
- teradataml/data/docs/sqle/docs_17_20/OneClassSVMPredict.py +185 -0
- teradataml/data/docs/sqle/docs_17_20/OneHotEncodingFit.py +231 -0
- teradataml/data/docs/sqle/docs_17_20/OneHotEncodingTransform.py +121 -0
- teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingFit.py +220 -0
- teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingTransform.py +127 -0
- teradataml/data/docs/sqle/docs_17_20/OutlierFilterFit.py +191 -0
- teradataml/data/docs/sqle/docs_17_20/OutlierFilterTransform.py +117 -0
- teradataml/data/docs/sqle/docs_17_20/Pack.py +128 -0
- teradataml/data/docs/sqle/docs_17_20/Pivoting.py +279 -0
- teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesFit.py +112 -0
- teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesTransform.py +112 -0
- teradataml/data/docs/sqle/docs_17_20/QQNorm.py +105 -0
- teradataml/data/docs/sqle/docs_17_20/ROC.py +164 -0
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionFit.py +155 -0
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionMinComponents.py +106 -0
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionTransform.py +120 -0
- teradataml/data/docs/sqle/docs_17_20/RegressionEvaluator.py +211 -0
- teradataml/data/docs/sqle/docs_17_20/RoundColumns.py +109 -0
- teradataml/data/docs/sqle/docs_17_20/RowNormalizeFit.py +118 -0
- teradataml/data/docs/sqle/docs_17_20/RowNormalizeTransform.py +111 -0
- teradataml/data/docs/sqle/docs_17_20/SMOTE.py +212 -0
- teradataml/data/docs/sqle/docs_17_20/SVM.py +414 -0
- teradataml/data/docs/sqle/docs_17_20/SVMPredict.py +213 -0
- teradataml/data/docs/sqle/docs_17_20/SVMSparsePredict.py +153 -0
- teradataml/data/docs/sqle/docs_17_20/ScaleFit.py +315 -0
- teradataml/data/docs/sqle/docs_17_20/ScaleTransform.py +202 -0
- teradataml/data/docs/sqle/docs_17_20/SentimentExtractor.py +206 -0
- teradataml/data/docs/sqle/docs_17_20/Sessionize.py +114 -0
- teradataml/data/docs/sqle/docs_17_20/Shap.py +225 -0
- teradataml/data/docs/sqle/docs_17_20/Silhouette.py +153 -0
- teradataml/data/docs/sqle/docs_17_20/SimpleImputeFit.py +116 -0
- teradataml/data/docs/sqle/docs_17_20/SimpleImputeTransform.py +109 -0
- teradataml/data/docs/sqle/docs_17_20/StrApply.py +187 -0
- teradataml/data/docs/sqle/docs_17_20/StringSimilarity.py +146 -0
- teradataml/data/docs/sqle/docs_17_20/TDDecisionForestPredict.py +207 -0
- teradataml/data/docs/sqle/docs_17_20/TDGLMPredict.py +333 -0
- teradataml/data/docs/sqle/docs_17_20/TDNaiveBayesPredict.py +189 -0
- teradataml/data/docs/sqle/docs_17_20/TFIDF.py +142 -0
- teradataml/data/docs/sqle/docs_17_20/TargetEncodingFit.py +267 -0
- teradataml/data/docs/sqle/docs_17_20/TargetEncodingTransform.py +141 -0
- teradataml/data/docs/sqle/docs_17_20/TextMorph.py +119 -0
- teradataml/data/docs/sqle/docs_17_20/TextParser.py +224 -0
- teradataml/data/docs/sqle/docs_17_20/TrainTestSplit.py +160 -0
- teradataml/data/docs/sqle/docs_17_20/Transform.py +123 -0
- teradataml/data/docs/sqle/docs_17_20/UnivariateStatistics.py +142 -0
- teradataml/data/docs/sqle/docs_17_20/Unpack.py +214 -0
- teradataml/data/docs/sqle/docs_17_20/Unpivoting.py +216 -0
- teradataml/data/docs/sqle/docs_17_20/VectorDistance.py +169 -0
- teradataml/data/docs/sqle/docs_17_20/WhichMax.py +83 -0
- teradataml/data/docs/sqle/docs_17_20/WhichMin.py +83 -0
- teradataml/data/docs/sqle/docs_17_20/WordEmbeddings.py +237 -0
- teradataml/data/docs/sqle/docs_17_20/XGBoost.py +362 -0
- teradataml/data/docs/sqle/docs_17_20/XGBoostPredict.py +281 -0
- teradataml/data/docs/sqle/docs_17_20/ZTest.py +220 -0
- teradataml/data/docs/sqle/docs_17_20/__init__.py +0 -0
- teradataml/data/docs/tableoperator/__init__.py +0 -0
- teradataml/data/docs/tableoperator/docs_17_00/ReadNOS.py +430 -0
- teradataml/data/docs/tableoperator/docs_17_00/__init__.py +0 -0
- teradataml/data/docs/tableoperator/docs_17_05/ReadNOS.py +430 -0
- teradataml/data/docs/tableoperator/docs_17_05/WriteNOS.py +348 -0
- teradataml/data/docs/tableoperator/docs_17_05/__init__.py +0 -0
- teradataml/data/docs/tableoperator/docs_17_10/ReadNOS.py +429 -0
- teradataml/data/docs/tableoperator/docs_17_10/WriteNOS.py +348 -0
- teradataml/data/docs/tableoperator/docs_17_10/__init__.py +0 -0
- teradataml/data/docs/tableoperator/docs_17_20/Image2Matrix.py +118 -0
- teradataml/data/docs/tableoperator/docs_17_20/ReadNOS.py +440 -0
- teradataml/data/docs/tableoperator/docs_17_20/WriteNOS.py +387 -0
- teradataml/data/docs/tableoperator/docs_17_20/__init__.py +0 -0
- teradataml/data/docs/uaf/__init__.py +0 -0
- teradataml/data/docs/uaf/docs_17_20/ACF.py +186 -0
- teradataml/data/docs/uaf/docs_17_20/ArimaEstimate.py +370 -0
- teradataml/data/docs/uaf/docs_17_20/ArimaForecast.py +172 -0
- teradataml/data/docs/uaf/docs_17_20/ArimaValidate.py +161 -0
- teradataml/data/docs/uaf/docs_17_20/ArimaXEstimate.py +293 -0
- teradataml/data/docs/uaf/docs_17_20/AutoArima.py +354 -0
- teradataml/data/docs/uaf/docs_17_20/BinaryMatrixOp.py +248 -0
- teradataml/data/docs/uaf/docs_17_20/BinarySeriesOp.py +252 -0
- teradataml/data/docs/uaf/docs_17_20/BreuschGodfrey.py +178 -0
- teradataml/data/docs/uaf/docs_17_20/BreuschPaganGodfrey.py +175 -0
- teradataml/data/docs/uaf/docs_17_20/Convolve.py +230 -0
- teradataml/data/docs/uaf/docs_17_20/Convolve2.py +218 -0
- teradataml/data/docs/uaf/docs_17_20/CopyArt.py +145 -0
- teradataml/data/docs/uaf/docs_17_20/CumulPeriodogram.py +185 -0
- teradataml/data/docs/uaf/docs_17_20/DFFT.py +204 -0
- teradataml/data/docs/uaf/docs_17_20/DFFT2.py +216 -0
- teradataml/data/docs/uaf/docs_17_20/DFFT2Conv.py +216 -0
- teradataml/data/docs/uaf/docs_17_20/DFFTConv.py +192 -0
- teradataml/data/docs/uaf/docs_17_20/DIFF.py +175 -0
- teradataml/data/docs/uaf/docs_17_20/DTW.py +180 -0
- teradataml/data/docs/uaf/docs_17_20/DWT.py +235 -0
- teradataml/data/docs/uaf/docs_17_20/DWT2D.py +217 -0
- teradataml/data/docs/uaf/docs_17_20/DickeyFuller.py +142 -0
- teradataml/data/docs/uaf/docs_17_20/DurbinWatson.py +184 -0
- teradataml/data/docs/uaf/docs_17_20/ExtractResults.py +185 -0
- teradataml/data/docs/uaf/docs_17_20/FilterFactory1d.py +160 -0
- teradataml/data/docs/uaf/docs_17_20/FitMetrics.py +172 -0
- teradataml/data/docs/uaf/docs_17_20/GenseriesFormula.py +206 -0
- teradataml/data/docs/uaf/docs_17_20/GenseriesSinusoids.py +143 -0
- teradataml/data/docs/uaf/docs_17_20/GoldfeldQuandt.py +198 -0
- teradataml/data/docs/uaf/docs_17_20/HoltWintersForecaster.py +260 -0
- teradataml/data/docs/uaf/docs_17_20/IDFFT.py +165 -0
- teradataml/data/docs/uaf/docs_17_20/IDFFT2.py +191 -0
- teradataml/data/docs/uaf/docs_17_20/IDWT.py +236 -0
- teradataml/data/docs/uaf/docs_17_20/IDWT2D.py +226 -0
- teradataml/data/docs/uaf/docs_17_20/IQR.py +134 -0
- teradataml/data/docs/uaf/docs_17_20/InputValidator.py +121 -0
- teradataml/data/docs/uaf/docs_17_20/LineSpec.py +156 -0
- teradataml/data/docs/uaf/docs_17_20/LinearRegr.py +215 -0
- teradataml/data/docs/uaf/docs_17_20/MAMean.py +174 -0
- teradataml/data/docs/uaf/docs_17_20/MInfo.py +134 -0
- teradataml/data/docs/uaf/docs_17_20/Matrix2Image.py +297 -0
- teradataml/data/docs/uaf/docs_17_20/MatrixMultiply.py +145 -0
- teradataml/data/docs/uaf/docs_17_20/MultivarRegr.py +191 -0
- teradataml/data/docs/uaf/docs_17_20/PACF.py +157 -0
- teradataml/data/docs/uaf/docs_17_20/Portman.py +217 -0
- teradataml/data/docs/uaf/docs_17_20/PowerSpec.py +203 -0
- teradataml/data/docs/uaf/docs_17_20/PowerTransform.py +155 -0
- teradataml/data/docs/uaf/docs_17_20/Resample.py +237 -0
- teradataml/data/docs/uaf/docs_17_20/SAX.py +246 -0
- teradataml/data/docs/uaf/docs_17_20/SInfo.py +123 -0
- teradataml/data/docs/uaf/docs_17_20/SeasonalNormalize.py +173 -0
- teradataml/data/docs/uaf/docs_17_20/SelectionCriteria.py +174 -0
- teradataml/data/docs/uaf/docs_17_20/SignifPeriodicities.py +171 -0
- teradataml/data/docs/uaf/docs_17_20/SignifResidmean.py +164 -0
- teradataml/data/docs/uaf/docs_17_20/SimpleExp.py +180 -0
- teradataml/data/docs/uaf/docs_17_20/Smoothma.py +208 -0
- teradataml/data/docs/uaf/docs_17_20/TrackingOp.py +151 -0
- teradataml/data/docs/uaf/docs_17_20/UNDIFF.py +171 -0
- teradataml/data/docs/uaf/docs_17_20/Unnormalize.py +202 -0
- teradataml/data/docs/uaf/docs_17_20/WhitesGeneral.py +171 -0
- teradataml/data/docs/uaf/docs_17_20/WindowDFFT.py +368 -0
- teradataml/data/docs/uaf/docs_17_20/__init__.py +0 -0
- teradataml/data/dtw_example.json +18 -0
- teradataml/data/dtw_t1.csv +11 -0
- teradataml/data/dtw_t2.csv +4 -0
- teradataml/data/dwt2d_dataTable.csv +65 -0
- teradataml/data/dwt2d_example.json +16 -0
- teradataml/data/dwt_dataTable.csv +8 -0
- teradataml/data/dwt_example.json +15 -0
- teradataml/data/dwt_filterTable.csv +3 -0
- teradataml/data/dwt_filter_dim.csv +5 -0
- teradataml/data/emission.csv +9 -0
- teradataml/data/emp_table_by_dept.csv +19 -0
- teradataml/data/employee_info.csv +4 -0
- teradataml/data/employee_table.csv +6 -0
- teradataml/data/excluding_event_table.csv +2 -0
- teradataml/data/finance_data.csv +6 -0
- teradataml/data/finance_data2.csv +61 -0
- teradataml/data/finance_data3.csv +93 -0
- teradataml/data/finance_data4.csv +13 -0
- teradataml/data/fish.csv +160 -0
- teradataml/data/fm_blood2ageandweight.csv +26 -0
- teradataml/data/fmeasure_example.json +12 -0
- teradataml/data/followers_leaders.csv +10 -0
- teradataml/data/fpgrowth_example.json +12 -0
- teradataml/data/frequentpaths_example.json +29 -0
- teradataml/data/friends.csv +9 -0
- teradataml/data/fs_input.csv +33 -0
- teradataml/data/fs_input1.csv +33 -0
- teradataml/data/genData.csv +513 -0
- teradataml/data/geodataframe_example.json +40 -0
- teradataml/data/glass_types.csv +215 -0
- teradataml/data/glm_admissions_model.csv +12 -0
- teradataml/data/glm_example.json +56 -0
- teradataml/data/glml1l2_example.json +28 -0
- teradataml/data/glml1l2predict_example.json +54 -0
- teradataml/data/glmpredict_example.json +54 -0
- teradataml/data/gq_t1.csv +21 -0
- teradataml/data/grocery_transaction.csv +19 -0
- teradataml/data/hconvolve_complex_right.csv +5 -0
- teradataml/data/hconvolve_complex_rightmulti.csv +5 -0
- teradataml/data/histogram_example.json +12 -0
- teradataml/data/hmmdecoder_example.json +79 -0
- teradataml/data/hmmevaluator_example.json +25 -0
- teradataml/data/hmmsupervised_example.json +10 -0
- teradataml/data/hmmunsupervised_example.json +8 -0
- teradataml/data/hnsw_alter_data.csv +5 -0
- teradataml/data/hnsw_data.csv +10 -0
- teradataml/data/house_values.csv +12 -0
- teradataml/data/house_values2.csv +13 -0
- teradataml/data/housing_cat.csv +7 -0
- teradataml/data/housing_data.csv +9 -0
- teradataml/data/housing_test.csv +47 -0
- teradataml/data/housing_test_binary.csv +47 -0
- teradataml/data/housing_train.csv +493 -0
- teradataml/data/housing_train_attribute.csv +5 -0
- teradataml/data/housing_train_binary.csv +437 -0
- teradataml/data/housing_train_parameter.csv +2 -0
- teradataml/data/housing_train_response.csv +493 -0
- teradataml/data/housing_train_segment.csv +201 -0
- teradataml/data/ibm_stock.csv +370 -0
- teradataml/data/ibm_stock1.csv +370 -0
- teradataml/data/identitymatch_example.json +22 -0
- teradataml/data/idf_table.csv +4 -0
- teradataml/data/idwt2d_dataTable.csv +5 -0
- teradataml/data/idwt_dataTable.csv +8 -0
- teradataml/data/idwt_filterTable.csv +3 -0
- teradataml/data/impressions.csv +101 -0
- teradataml/data/inflation.csv +21 -0
- teradataml/data/initial.csv +3 -0
- teradataml/data/insect2Cols.csv +61 -0
- teradataml/data/insect_sprays.csv +13 -0
- teradataml/data/insurance.csv +1339 -0
- teradataml/data/interpolator_example.json +13 -0
- teradataml/data/interval_data.csv +5 -0
- teradataml/data/iris_altinput.csv +481 -0
- teradataml/data/iris_attribute_output.csv +8 -0
- teradataml/data/iris_attribute_test.csv +121 -0
- teradataml/data/iris_attribute_train.csv +481 -0
- teradataml/data/iris_category_expect_predict.csv +31 -0
- teradataml/data/iris_data.csv +151 -0
- teradataml/data/iris_input.csv +151 -0
- teradataml/data/iris_response_train.csv +121 -0
- teradataml/data/iris_test.csv +31 -0
- teradataml/data/iris_train.csv +121 -0
- teradataml/data/join_table1.csv +4 -0
- teradataml/data/join_table2.csv +4 -0
- teradataml/data/jsons/anly_function_name.json +7 -0
- teradataml/data/jsons/byom/ONNXSeq2Seq.json +287 -0
- teradataml/data/jsons/byom/dataikupredict.json +148 -0
- teradataml/data/jsons/byom/datarobotpredict.json +147 -0
- teradataml/data/jsons/byom/h2opredict.json +195 -0
- teradataml/data/jsons/byom/onnxembeddings.json +267 -0
- teradataml/data/jsons/byom/onnxpredict.json +187 -0
- teradataml/data/jsons/byom/pmmlpredict.json +147 -0
- teradataml/data/jsons/paired_functions.json +450 -0
- teradataml/data/jsons/sqle/16.20/Antiselect.json +56 -0
- teradataml/data/jsons/sqle/16.20/Attribution.json +249 -0
- teradataml/data/jsons/sqle/16.20/DecisionForestPredict.json +156 -0
- teradataml/data/jsons/sqle/16.20/DecisionTreePredict.json +170 -0
- teradataml/data/jsons/sqle/16.20/GLMPredict.json +122 -0
- teradataml/data/jsons/sqle/16.20/MovingAverage.json +367 -0
- teradataml/data/jsons/sqle/16.20/NGramSplitter.json +239 -0
- teradataml/data/jsons/sqle/16.20/NaiveBayesPredict.json +136 -0
- teradataml/data/jsons/sqle/16.20/NaiveBayesTextClassifierPredict.json +235 -0
- teradataml/data/jsons/sqle/16.20/Pack.json +98 -0
- teradataml/data/jsons/sqle/16.20/SVMSparsePredict.json +162 -0
- teradataml/data/jsons/sqle/16.20/Sessionize.json +105 -0
- teradataml/data/jsons/sqle/16.20/StringSimilarity.json +86 -0
- teradataml/data/jsons/sqle/16.20/Unpack.json +166 -0
- teradataml/data/jsons/sqle/16.20/nPath.json +269 -0
- teradataml/data/jsons/sqle/17.00/Antiselect.json +56 -0
- teradataml/data/jsons/sqle/17.00/Attribution.json +249 -0
- teradataml/data/jsons/sqle/17.00/DecisionForestPredict.json +156 -0
- teradataml/data/jsons/sqle/17.00/DecisionTreePredict.json +170 -0
- teradataml/data/jsons/sqle/17.00/GLMPredict.json +122 -0
- teradataml/data/jsons/sqle/17.00/MovingAverage.json +367 -0
- teradataml/data/jsons/sqle/17.00/NGramSplitter.json +239 -0
- teradataml/data/jsons/sqle/17.00/NaiveBayesPredict.json +136 -0
- teradataml/data/jsons/sqle/17.00/NaiveBayesTextClassifierPredict.json +235 -0
- teradataml/data/jsons/sqle/17.00/Pack.json +98 -0
- teradataml/data/jsons/sqle/17.00/SVMSparsePredict.json +162 -0
- teradataml/data/jsons/sqle/17.00/Sessionize.json +105 -0
- teradataml/data/jsons/sqle/17.00/StringSimilarity.json +86 -0
- teradataml/data/jsons/sqle/17.00/Unpack.json +166 -0
- teradataml/data/jsons/sqle/17.00/nPath.json +269 -0
- teradataml/data/jsons/sqle/17.05/Antiselect.json +56 -0
- teradataml/data/jsons/sqle/17.05/Attribution.json +249 -0
- teradataml/data/jsons/sqle/17.05/DecisionForestPredict.json +156 -0
- teradataml/data/jsons/sqle/17.05/DecisionTreePredict.json +170 -0
- teradataml/data/jsons/sqle/17.05/GLMPredict.json +122 -0
- teradataml/data/jsons/sqle/17.05/MovingAverage.json +367 -0
- teradataml/data/jsons/sqle/17.05/NGramSplitter.json +239 -0
- teradataml/data/jsons/sqle/17.05/NaiveBayesPredict.json +136 -0
- teradataml/data/jsons/sqle/17.05/NaiveBayesTextClassifierPredict.json +235 -0
- teradataml/data/jsons/sqle/17.05/Pack.json +98 -0
- teradataml/data/jsons/sqle/17.05/SVMSparsePredict.json +162 -0
- teradataml/data/jsons/sqle/17.05/Sessionize.json +105 -0
- teradataml/data/jsons/sqle/17.05/StringSimilarity.json +86 -0
- teradataml/data/jsons/sqle/17.05/Unpack.json +166 -0
- teradataml/data/jsons/sqle/17.05/nPath.json +269 -0
- teradataml/data/jsons/sqle/17.10/Antiselect.json +56 -0
- teradataml/data/jsons/sqle/17.10/Attribution.json +249 -0
- teradataml/data/jsons/sqle/17.10/DecisionForestPredict.json +185 -0
- teradataml/data/jsons/sqle/17.10/DecisionTreePredict.json +172 -0
- teradataml/data/jsons/sqle/17.10/GLMPredict.json +151 -0
- teradataml/data/jsons/sqle/17.10/MovingAverage.json +368 -0
- teradataml/data/jsons/sqle/17.10/NGramSplitter.json +239 -0
- teradataml/data/jsons/sqle/17.10/NaiveBayesPredict.json +149 -0
- teradataml/data/jsons/sqle/17.10/NaiveBayesTextClassifierPredict.json +288 -0
- teradataml/data/jsons/sqle/17.10/Pack.json +133 -0
- teradataml/data/jsons/sqle/17.10/SVMSparsePredict.json +193 -0
- teradataml/data/jsons/sqle/17.10/Sessionize.json +105 -0
- teradataml/data/jsons/sqle/17.10/StringSimilarity.json +86 -0
- teradataml/data/jsons/sqle/17.10/TD_BinCodeFit.json +239 -0
- teradataml/data/jsons/sqle/17.10/TD_BinCodeTransform.json +70 -0
- teradataml/data/jsons/sqle/17.10/TD_CategoricalSummary.json +54 -0
- teradataml/data/jsons/sqle/17.10/TD_Chisq.json +68 -0
- teradataml/data/jsons/sqle/17.10/TD_ColumnSummary.json +54 -0
- teradataml/data/jsons/sqle/17.10/TD_ConvertTo.json +69 -0
- teradataml/data/jsons/sqle/17.10/TD_FTest.json +187 -0
- teradataml/data/jsons/sqle/17.10/TD_FillRowID.json +52 -0
- teradataml/data/jsons/sqle/17.10/TD_FunctionFit.json +46 -0
- teradataml/data/jsons/sqle/17.10/TD_FunctionTransform.json +72 -0
- teradataml/data/jsons/sqle/17.10/TD_GetRowsWithMissingValues.json +53 -0
- teradataml/data/jsons/sqle/17.10/TD_GetRowsWithoutMissingValues.json +53 -0
- teradataml/data/jsons/sqle/17.10/TD_Histogram.json +133 -0
- teradataml/data/jsons/sqle/17.10/TD_NumApply.json +147 -0
- teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingFit.json +183 -0
- teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingTransform.json +66 -0
- teradataml/data/jsons/sqle/17.10/TD_OutlierFilterFit.json +197 -0
- teradataml/data/jsons/sqle/17.10/TD_OutlierFilterTransform.json +48 -0
- teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesFit.json +114 -0
- teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesTransform.json +72 -0
- teradataml/data/jsons/sqle/17.10/TD_QQNorm.json +112 -0
- teradataml/data/jsons/sqle/17.10/TD_RoundColumns.json +93 -0
- teradataml/data/jsons/sqle/17.10/TD_RowNormalizeFit.json +128 -0
- teradataml/data/jsons/sqle/17.10/TD_RowNormalizeTransform.json +71 -0
- teradataml/data/jsons/sqle/17.10/TD_ScaleFit.json +157 -0
- teradataml/data/jsons/sqle/17.10/TD_ScaleTransform.json +71 -0
- teradataml/data/jsons/sqle/17.10/TD_SimpleImputeFit.json +148 -0
- teradataml/data/jsons/sqle/17.10/TD_SimpleImputeTransform.json +48 -0
- teradataml/data/jsons/sqle/17.10/TD_StrApply.json +240 -0
- teradataml/data/jsons/sqle/17.10/TD_UnivariateStatistics.json +119 -0
- teradataml/data/jsons/sqle/17.10/TD_WhichMax.json +53 -0
- teradataml/data/jsons/sqle/17.10/TD_WhichMin.json +53 -0
- teradataml/data/jsons/sqle/17.10/TD_ZTest.json +171 -0
- teradataml/data/jsons/sqle/17.10/Unpack.json +188 -0
- teradataml/data/jsons/sqle/17.10/nPath.json +269 -0
- teradataml/data/jsons/sqle/17.20/Antiselect.json +56 -0
- teradataml/data/jsons/sqle/17.20/Attribution.json +249 -0
- teradataml/data/jsons/sqle/17.20/DecisionForestPredict.json +185 -0
- teradataml/data/jsons/sqle/17.20/DecisionTreePredict.json +172 -0
- teradataml/data/jsons/sqle/17.20/GLMPredict.json +151 -0
- teradataml/data/jsons/sqle/17.20/MovingAverage.json +367 -0
- teradataml/data/jsons/sqle/17.20/NGramSplitter.json +239 -0
- teradataml/data/jsons/sqle/17.20/NaiveBayesPredict.json +149 -0
- teradataml/data/jsons/sqle/17.20/NaiveBayesTextClassifierPredict.json +287 -0
- teradataml/data/jsons/sqle/17.20/Pack.json +133 -0
- teradataml/data/jsons/sqle/17.20/SVMSparsePredict.json +192 -0
- teradataml/data/jsons/sqle/17.20/Sessionize.json +105 -0
- teradataml/data/jsons/sqle/17.20/StringSimilarity.json +86 -0
- teradataml/data/jsons/sqle/17.20/TD_ANOVA.json +149 -0
- teradataml/data/jsons/sqle/17.20/TD_Apriori.json +181 -0
- teradataml/data/jsons/sqle/17.20/TD_BinCodeFit.json +239 -0
- teradataml/data/jsons/sqle/17.20/TD_BinCodeTransform.json +71 -0
- teradataml/data/jsons/sqle/17.20/TD_CFilter.json +118 -0
- teradataml/data/jsons/sqle/17.20/TD_CategoricalSummary.json +53 -0
- teradataml/data/jsons/sqle/17.20/TD_Chisq.json +68 -0
- teradataml/data/jsons/sqle/17.20/TD_ClassificationEvaluator.json +146 -0
- teradataml/data/jsons/sqle/17.20/TD_ColumnSummary.json +53 -0
- teradataml/data/jsons/sqle/17.20/TD_ColumnTransformer.json +218 -0
- teradataml/data/jsons/sqle/17.20/TD_ConvertTo.json +92 -0
- teradataml/data/jsons/sqle/17.20/TD_DecisionForest.json +260 -0
- teradataml/data/jsons/sqle/17.20/TD_DecisionForestPredict.json +139 -0
- teradataml/data/jsons/sqle/17.20/TD_FTest.json +269 -0
- teradataml/data/jsons/sqle/17.20/TD_FillRowID.json +52 -0
- teradataml/data/jsons/sqle/17.20/TD_FunctionFit.json +46 -0
- teradataml/data/jsons/sqle/17.20/TD_FunctionTransform.json +72 -0
- teradataml/data/jsons/sqle/17.20/TD_GLM.json +507 -0
- teradataml/data/jsons/sqle/17.20/TD_GLMPREDICT.json +168 -0
- teradataml/data/jsons/sqle/17.20/TD_GLMPerSegment.json +411 -0
- teradataml/data/jsons/sqle/17.20/TD_GLMPredictPerSegment.json +146 -0
- teradataml/data/jsons/sqle/17.20/TD_GetFutileColumns.json +93 -0
- teradataml/data/jsons/sqle/17.20/TD_GetRowsWithMissingValues.json +76 -0
- teradataml/data/jsons/sqle/17.20/TD_GetRowsWithoutMissingValues.json +76 -0
- teradataml/data/jsons/sqle/17.20/TD_Histogram.json +152 -0
- teradataml/data/jsons/sqle/17.20/TD_KMeans.json +232 -0
- teradataml/data/jsons/sqle/17.20/TD_KMeansPredict.json +87 -0
- teradataml/data/jsons/sqle/17.20/TD_KNN.json +262 -0
- teradataml/data/jsons/sqle/17.20/TD_NERExtractor.json +145 -0
- teradataml/data/jsons/sqle/17.20/TD_NaiveBayes.json +193 -0
- teradataml/data/jsons/sqle/17.20/TD_NaiveBayesPredict.json +212 -0
- teradataml/data/jsons/sqle/17.20/TD_NaiveBayesTextClassifierTrainer.json +137 -0
- teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineFit.json +102 -0
- teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineTransform.json +71 -0
- teradataml/data/jsons/sqle/17.20/TD_NumApply.json +147 -0
- teradataml/data/jsons/sqle/17.20/TD_OneClassSVM.json +316 -0
- teradataml/data/jsons/sqle/17.20/TD_OneClassSVMPredict.json +124 -0
- teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingFit.json +271 -0
- teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingTransform.json +65 -0
- teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingFit.json +229 -0
- teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingTransform.json +75 -0
- teradataml/data/jsons/sqle/17.20/TD_OutlierFilterFit.json +217 -0
- teradataml/data/jsons/sqle/17.20/TD_OutlierFilterTransform.json +48 -0
- teradataml/data/jsons/sqle/17.20/TD_Pivoting.json +280 -0
- teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesFit.json +114 -0
- teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesTransform.json +72 -0
- teradataml/data/jsons/sqle/17.20/TD_QQNorm.json +111 -0
- teradataml/data/jsons/sqle/17.20/TD_ROC.json +179 -0
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionFit.json +179 -0
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionMinComponents.json +74 -0
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionTransform.json +74 -0
- teradataml/data/jsons/sqle/17.20/TD_RegressionEvaluator.json +138 -0
- teradataml/data/jsons/sqle/17.20/TD_RoundColumns.json +93 -0
- teradataml/data/jsons/sqle/17.20/TD_RowNormalizeFit.json +128 -0
- teradataml/data/jsons/sqle/17.20/TD_RowNormalizeTransform.json +71 -0
- teradataml/data/jsons/sqle/17.20/TD_SMOTE.json +267 -0
- teradataml/data/jsons/sqle/17.20/TD_SVM.json +389 -0
- teradataml/data/jsons/sqle/17.20/TD_SVMPredict.json +142 -0
- teradataml/data/jsons/sqle/17.20/TD_ScaleFit.json +310 -0
- teradataml/data/jsons/sqle/17.20/TD_ScaleTransform.json +120 -0
- teradataml/data/jsons/sqle/17.20/TD_SentimentExtractor.json +194 -0
- teradataml/data/jsons/sqle/17.20/TD_Shap.json +221 -0
- teradataml/data/jsons/sqle/17.20/TD_Silhouette.json +143 -0
- teradataml/data/jsons/sqle/17.20/TD_SimpleImputeFit.json +147 -0
- teradataml/data/jsons/sqle/17.20/TD_SimpleImputeTransform.json +48 -0
- teradataml/data/jsons/sqle/17.20/TD_StrApply.json +240 -0
- teradataml/data/jsons/sqle/17.20/TD_TFIDF.json +162 -0
- teradataml/data/jsons/sqle/17.20/TD_TargetEncodingFit.json +248 -0
- teradataml/data/jsons/sqle/17.20/TD_TargetEncodingTransform.json +75 -0
- teradataml/data/jsons/sqle/17.20/TD_TextMorph.json +134 -0
- teradataml/data/jsons/sqle/17.20/TD_TextParser.json +297 -0
- teradataml/data/jsons/sqle/17.20/TD_TrainTestSplit.json +142 -0
- teradataml/data/jsons/sqle/17.20/TD_UnivariateStatistics.json +117 -0
- teradataml/data/jsons/sqle/17.20/TD_Unpivoting.json +235 -0
- teradataml/data/jsons/sqle/17.20/TD_VectorDistance.json +183 -0
- teradataml/data/jsons/sqle/17.20/TD_WhichMax.json +53 -0
- teradataml/data/jsons/sqle/17.20/TD_WhichMin.json +53 -0
- teradataml/data/jsons/sqle/17.20/TD_WordEmbeddings.json +241 -0
- teradataml/data/jsons/sqle/17.20/TD_XGBoost.json +330 -0
- teradataml/data/jsons/sqle/17.20/TD_XGBoostPredict.json +195 -0
- teradataml/data/jsons/sqle/17.20/TD_ZTest.json +247 -0
- teradataml/data/jsons/sqle/17.20/Unpack.json +188 -0
- teradataml/data/jsons/sqle/17.20/nPath.json +269 -0
- teradataml/data/jsons/sqle/20.00/AI_AnalyzeSentiment.json +370 -0
- teradataml/data/jsons/sqle/20.00/AI_AskLLM.json +460 -0
- teradataml/data/jsons/sqle/20.00/AI_DetectLanguage.json +385 -0
- teradataml/data/jsons/sqle/20.00/AI_ExtractKeyPhrases.json +369 -0
- teradataml/data/jsons/sqle/20.00/AI_MaskPII.json +369 -0
- teradataml/data/jsons/sqle/20.00/AI_RecognizeEntities.json +369 -0
- teradataml/data/jsons/sqle/20.00/AI_RecognizePIIEntities.json +369 -0
- teradataml/data/jsons/sqle/20.00/AI_TextClassifier.json +400 -0
- teradataml/data/jsons/sqle/20.00/AI_TextEmbeddings.json +401 -0
- teradataml/data/jsons/sqle/20.00/AI_TextSummarize.json +384 -0
- teradataml/data/jsons/sqle/20.00/AI_TextTranslate.json +384 -0
- teradataml/data/jsons/sqle/20.00/TD_API_AzureML.json +151 -0
- teradataml/data/jsons/sqle/20.00/TD_API_Sagemaker.json +182 -0
- teradataml/data/jsons/sqle/20.00/TD_API_VertexAI.json +183 -0
- teradataml/data/jsons/sqle/20.00/TD_HNSW.json +296 -0
- teradataml/data/jsons/sqle/20.00/TD_HNSWPredict.json +206 -0
- teradataml/data/jsons/sqle/20.00/TD_HNSWSummary.json +32 -0
- teradataml/data/jsons/sqle/20.00/TD_KMeans.json +250 -0
- teradataml/data/jsons/sqle/20.00/TD_SMOTE.json +266 -0
- teradataml/data/jsons/sqle/20.00/TD_VectorDistance.json +278 -0
- teradataml/data/jsons/storedprocedure/17.20/TD_COPYART.json +71 -0
- teradataml/data/jsons/storedprocedure/17.20/TD_FILTERFACTORY1D.json +150 -0
- teradataml/data/jsons/tableoperator/17.00/read_nos.json +198 -0
- teradataml/data/jsons/tableoperator/17.05/read_nos.json +198 -0
- teradataml/data/jsons/tableoperator/17.05/write_nos.json +195 -0
- teradataml/data/jsons/tableoperator/17.10/read_nos.json +184 -0
- teradataml/data/jsons/tableoperator/17.10/write_nos.json +195 -0
- teradataml/data/jsons/tableoperator/17.20/IMAGE2MATRIX.json +53 -0
- teradataml/data/jsons/tableoperator/17.20/read_nos.json +183 -0
- teradataml/data/jsons/tableoperator/17.20/write_nos.json +224 -0
- teradataml/data/jsons/uaf/17.20/TD_ACF.json +132 -0
- teradataml/data/jsons/uaf/17.20/TD_ARIMAESTIMATE.json +396 -0
- teradataml/data/jsons/uaf/17.20/TD_ARIMAFORECAST.json +77 -0
- teradataml/data/jsons/uaf/17.20/TD_ARIMAVALIDATE.json +153 -0
- teradataml/data/jsons/uaf/17.20/TD_ARIMAXESTIMATE.json +362 -0
- teradataml/data/jsons/uaf/17.20/TD_AUTOARIMA.json +469 -0
- teradataml/data/jsons/uaf/17.20/TD_BINARYMATRIXOP.json +107 -0
- teradataml/data/jsons/uaf/17.20/TD_BINARYSERIESOP.json +106 -0
- teradataml/data/jsons/uaf/17.20/TD_BREUSCH_GODFREY.json +89 -0
- teradataml/data/jsons/uaf/17.20/TD_BREUSCH_PAGAN_GODFREY.json +104 -0
- teradataml/data/jsons/uaf/17.20/TD_CONVOLVE.json +78 -0
- teradataml/data/jsons/uaf/17.20/TD_CONVOLVE2.json +66 -0
- teradataml/data/jsons/uaf/17.20/TD_CUMUL_PERIODOGRAM.json +87 -0
- teradataml/data/jsons/uaf/17.20/TD_DFFT.json +134 -0
- teradataml/data/jsons/uaf/17.20/TD_DFFT2.json +144 -0
- teradataml/data/jsons/uaf/17.20/TD_DFFT2CONV.json +108 -0
- teradataml/data/jsons/uaf/17.20/TD_DFFTCONV.json +108 -0
- teradataml/data/jsons/uaf/17.20/TD_DICKEY_FULLER.json +78 -0
- teradataml/data/jsons/uaf/17.20/TD_DIFF.json +92 -0
- teradataml/data/jsons/uaf/17.20/TD_DTW.json +114 -0
- teradataml/data/jsons/uaf/17.20/TD_DURBIN_WATSON.json +101 -0
- teradataml/data/jsons/uaf/17.20/TD_DWT.json +173 -0
- teradataml/data/jsons/uaf/17.20/TD_DWT2D.json +160 -0
- teradataml/data/jsons/uaf/17.20/TD_EXTRACT_RESULTS.json +39 -0
- teradataml/data/jsons/uaf/17.20/TD_FITMETRICS.json +101 -0
- teradataml/data/jsons/uaf/17.20/TD_GENSERIES4FORMULA.json +85 -0
- teradataml/data/jsons/uaf/17.20/TD_GENSERIES4SINUSOIDS.json +71 -0
- teradataml/data/jsons/uaf/17.20/TD_GOLDFELD_QUANDT.json +139 -0
- teradataml/data/jsons/uaf/17.20/TD_HOLT_WINTERS_FORECASTER.json +313 -0
- teradataml/data/jsons/uaf/17.20/TD_IDFFT.json +58 -0
- teradataml/data/jsons/uaf/17.20/TD_IDFFT2.json +81 -0
- teradataml/data/jsons/uaf/17.20/TD_IDWT.json +162 -0
- teradataml/data/jsons/uaf/17.20/TD_IDWT2D.json +149 -0
- teradataml/data/jsons/uaf/17.20/TD_INPUTVALIDATOR.json +64 -0
- teradataml/data/jsons/uaf/17.20/TD_IQR.json +117 -0
- teradataml/data/jsons/uaf/17.20/TD_LINEAR_REGR.json +182 -0
- teradataml/data/jsons/uaf/17.20/TD_LINESPEC.json +103 -0
- teradataml/data/jsons/uaf/17.20/TD_MAMEAN.json +181 -0
- teradataml/data/jsons/uaf/17.20/TD_MATRIX2IMAGE.json +209 -0
- teradataml/data/jsons/uaf/17.20/TD_MATRIXMULTIPLY.json +68 -0
- teradataml/data/jsons/uaf/17.20/TD_MINFO.json +67 -0
- teradataml/data/jsons/uaf/17.20/TD_MULTIVAR_REGR.json +179 -0
- teradataml/data/jsons/uaf/17.20/TD_PACF.json +114 -0
- teradataml/data/jsons/uaf/17.20/TD_PORTMAN.json +119 -0
- teradataml/data/jsons/uaf/17.20/TD_POWERSPEC.json +175 -0
- teradataml/data/jsons/uaf/17.20/TD_POWERTRANSFORM.json +98 -0
- teradataml/data/jsons/uaf/17.20/TD_RESAMPLE.json +194 -0
- teradataml/data/jsons/uaf/17.20/TD_SAX.json +210 -0
- teradataml/data/jsons/uaf/17.20/TD_SEASONALNORMALIZE.json +143 -0
- teradataml/data/jsons/uaf/17.20/TD_SELECTION_CRITERIA.json +90 -0
- teradataml/data/jsons/uaf/17.20/TD_SIGNIF_PERIODICITIES.json +80 -0
- teradataml/data/jsons/uaf/17.20/TD_SIGNIF_RESIDMEAN.json +68 -0
- teradataml/data/jsons/uaf/17.20/TD_SIMPLEEXP.json +184 -0
- teradataml/data/jsons/uaf/17.20/TD_SINFO.json +58 -0
- teradataml/data/jsons/uaf/17.20/TD_SMOOTHMA.json +163 -0
- teradataml/data/jsons/uaf/17.20/TD_TRACKINGOP.json +101 -0
- teradataml/data/jsons/uaf/17.20/TD_UNDIFF.json +112 -0
- teradataml/data/jsons/uaf/17.20/TD_UNNORMALIZE.json +95 -0
- teradataml/data/jsons/uaf/17.20/TD_WHITES_GENERAL.json +78 -0
- teradataml/data/jsons/uaf/17.20/TD_WINDOWDFFT.json +410 -0
- teradataml/data/kmeans_example.json +23 -0
- teradataml/data/kmeans_table.csv +10 -0
- teradataml/data/kmeans_us_arrests_data.csv +51 -0
- teradataml/data/knn_example.json +19 -0
- teradataml/data/knnrecommender_example.json +7 -0
- teradataml/data/knnrecommenderpredict_example.json +12 -0
- teradataml/data/lar_example.json +17 -0
- teradataml/data/larpredict_example.json +30 -0
- teradataml/data/lc_new_predictors.csv +5 -0
- teradataml/data/lc_new_reference.csv +9 -0
- teradataml/data/lda_example.json +9 -0
- teradataml/data/ldainference_example.json +15 -0
- teradataml/data/ldatopicsummary_example.json +9 -0
- teradataml/data/levendist_input.csv +13 -0
- teradataml/data/levenshteindistance_example.json +10 -0
- teradataml/data/linreg_example.json +10 -0
- teradataml/data/load_example_data.py +350 -0
- teradataml/data/loan_prediction.csv +295 -0
- teradataml/data/lungcancer.csv +138 -0
- teradataml/data/mappingdata.csv +12 -0
- teradataml/data/medical_readings.csv +101 -0
- teradataml/data/milk_timeseries.csv +157 -0
- teradataml/data/min_max_titanic.csv +4 -0
- teradataml/data/minhash_example.json +6 -0
- teradataml/data/ml_ratings.csv +7547 -0
- teradataml/data/ml_ratings_10.csv +2445 -0
- teradataml/data/mobile_data.csv +13 -0
- teradataml/data/model1_table.csv +5 -0
- teradataml/data/model2_table.csv +5 -0
- teradataml/data/models/License_file.txt +1 -0
- teradataml/data/models/License_file_empty.txt +0 -0
- teradataml/data/models/dataiku_iris_data_ann_thin +0 -0
- teradataml/data/models/dr_iris_rf +0 -0
- teradataml/data/models/iris_db_dt_model_sklearn.onnx +0 -0
- teradataml/data/models/iris_db_dt_model_sklearn_floattensor.onnx +0 -0
- teradataml/data/models/iris_db_glm_model.pmml +57 -0
- teradataml/data/models/iris_db_xgb_model.pmml +4471 -0
- teradataml/data/models/iris_kmeans_model +0 -0
- teradataml/data/models/iris_mojo_glm_h2o_model +0 -0
- teradataml/data/models/iris_mojo_xgb_h2o_model +0 -0
- teradataml/data/modularity_example.json +12 -0
- teradataml/data/movavg_example.json +8 -0
- teradataml/data/mtx1.csv +7 -0
- teradataml/data/mtx2.csv +13 -0
- teradataml/data/multi_model_classification.csv +401 -0
- teradataml/data/multi_model_regression.csv +401 -0
- teradataml/data/mvdfft8.csv +9 -0
- teradataml/data/naivebayes_example.json +10 -0
- teradataml/data/naivebayespredict_example.json +19 -0
- teradataml/data/naivebayestextclassifier2_example.json +7 -0
- teradataml/data/naivebayestextclassifier_example.json +8 -0
- teradataml/data/naivebayestextclassifierpredict_example.json +32 -0
- teradataml/data/name_Find_configure.csv +10 -0
- teradataml/data/namedentityfinder_example.json +14 -0
- teradataml/data/namedentityfinderevaluator_example.json +10 -0
- teradataml/data/namedentityfindertrainer_example.json +6 -0
- teradataml/data/nb_iris_input_test.csv +31 -0
- teradataml/data/nb_iris_input_train.csv +121 -0
- teradataml/data/nbp_iris_model.csv +13 -0
- teradataml/data/ner_dict.csv +8 -0
- teradataml/data/ner_extractor_text.csv +2 -0
- teradataml/data/ner_input_eng.csv +7 -0
- teradataml/data/ner_rule.csv +5 -0
- teradataml/data/ner_sports_test2.csv +29 -0
- teradataml/data/ner_sports_train.csv +501 -0
- teradataml/data/nerevaluator_example.json +6 -0
- teradataml/data/nerextractor_example.json +18 -0
- teradataml/data/nermem_sports_test.csv +18 -0
- teradataml/data/nermem_sports_train.csv +51 -0
- teradataml/data/nertrainer_example.json +7 -0
- teradataml/data/ngrams_example.json +7 -0
- teradataml/data/notebooks/__init__.py +0 -0
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Aggregate Functions using SQLAlchemy.ipynb +1455 -0
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Arithmetic Functions Using SQLAlchemy.ipynb +1993 -0
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Bit-Byte Manipulation Functions using SQLAlchemy.ipynb +1492 -0
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Built-in functions using SQLAlchemy.ipynb +536 -0
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Regular Expressions Using SQLAlchemy.ipynb +570 -0
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage String Functions Using SQLAlchemy.ipynb +2559 -0
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Window Aggregate Functions using SQLAlchemy.ipynb +2911 -0
- teradataml/data/notebooks/sqlalchemy/Using Generic SQLAlchemy ClauseElements teradataml DataFrame assign method.ipynb +698 -0
- teradataml/data/notebooks/sqlalchemy/__init__.py +0 -0
- teradataml/data/notebooks/sqlalchemy/teradataml filtering using SQLAlchemy ClauseElements.ipynb +784 -0
- teradataml/data/npath_example.json +23 -0
- teradataml/data/ntree_example.json +14 -0
- teradataml/data/numeric_strings.csv +5 -0
- teradataml/data/numerics.csv +4 -0
- teradataml/data/ocean_buoy.csv +17 -0
- teradataml/data/ocean_buoy2.csv +17 -0
- teradataml/data/ocean_buoys.csv +28 -0
- teradataml/data/ocean_buoys2.csv +10 -0
- teradataml/data/ocean_buoys_nonpti.csv +28 -0
- teradataml/data/ocean_buoys_seq.csv +29 -0
- teradataml/data/onehot_encoder_train.csv +4 -0
- teradataml/data/openml_example.json +92 -0
- teradataml/data/optional_event_table.csv +4 -0
- teradataml/data/orders1.csv +11 -0
- teradataml/data/orders1_12.csv +13 -0
- teradataml/data/orders_ex.csv +4 -0
- teradataml/data/pack_example.json +9 -0
- teradataml/data/package_tracking.csv +19 -0
- teradataml/data/package_tracking_pti.csv +19 -0
- teradataml/data/pagerank_example.json +13 -0
- teradataml/data/paragraphs_input.csv +6 -0
- teradataml/data/pathanalyzer_example.json +8 -0
- teradataml/data/pathgenerator_example.json +8 -0
- teradataml/data/patient_profile.csv +101 -0
- teradataml/data/pattern_matching_data.csv +11 -0
- teradataml/data/payment_fraud_dataset.csv +10001 -0
- teradataml/data/peppers.png +0 -0
- teradataml/data/phrases.csv +7 -0
- teradataml/data/pivot_example.json +9 -0
- teradataml/data/pivot_input.csv +22 -0
- teradataml/data/playerRating.csv +31 -0
- teradataml/data/pos_input.csv +40 -0
- teradataml/data/postagger_example.json +7 -0
- teradataml/data/posttagger_output.csv +44 -0
- teradataml/data/production_data.csv +17 -0
- teradataml/data/production_data2.csv +7 -0
- teradataml/data/randomsample_example.json +32 -0
- teradataml/data/randomwalksample_example.json +9 -0
- teradataml/data/rank_table.csv +6 -0
- teradataml/data/real_values.csv +14 -0
- teradataml/data/ref_mobile_data.csv +4 -0
- teradataml/data/ref_mobile_data_dense.csv +2 -0
- teradataml/data/ref_url.csv +17 -0
- teradataml/data/restaurant_reviews.csv +7 -0
- teradataml/data/retail_churn_table.csv +27772 -0
- teradataml/data/river_data.csv +145 -0
- teradataml/data/roc_example.json +8 -0
- teradataml/data/roc_input.csv +101 -0
- teradataml/data/rule_inputs.csv +6 -0
- teradataml/data/rule_table.csv +2 -0
- teradataml/data/sales.csv +7 -0
- teradataml/data/sales_transaction.csv +501 -0
- teradataml/data/salesdata.csv +342 -0
- teradataml/data/sample_cities.csv +3 -0
- teradataml/data/sample_shapes.csv +11 -0
- teradataml/data/sample_streets.csv +3 -0
- teradataml/data/sampling_example.json +16 -0
- teradataml/data/sax_example.json +17 -0
- teradataml/data/scale_attributes.csv +3 -0
- teradataml/data/scale_example.json +74 -0
- teradataml/data/scale_housing.csv +11 -0
- teradataml/data/scale_housing_test.csv +6 -0
- 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 -0
- teradataml/data/scalebypartition_example.json +13 -0
- teradataml/data/scalemap_example.json +13 -0
- teradataml/data/scalesummary_example.json +12 -0
- teradataml/data/score_category.csv +101 -0
- teradataml/data/score_summary.csv +4 -0
- teradataml/data/script_example.json +10 -0
- teradataml/data/scripts/deploy_script.py +84 -0
- teradataml/data/scripts/lightgbm/dataset.template +175 -0
- teradataml/data/scripts/lightgbm/lightgbm_class_functions.template +264 -0
- teradataml/data/scripts/lightgbm/lightgbm_function.template +234 -0
- teradataml/data/scripts/lightgbm/lightgbm_sklearn.template +177 -0
- teradataml/data/scripts/mapper.R +20 -0
- teradataml/data/scripts/mapper.py +16 -0
- teradataml/data/scripts/mapper_replace.py +16 -0
- teradataml/data/scripts/sklearn/__init__.py +0 -0
- teradataml/data/scripts/sklearn/sklearn_fit.py +205 -0
- teradataml/data/scripts/sklearn/sklearn_fit_predict.py +148 -0
- teradataml/data/scripts/sklearn/sklearn_function.template +144 -0
- teradataml/data/scripts/sklearn/sklearn_model_selection_split.py +166 -0
- teradataml/data/scripts/sklearn/sklearn_neighbors.py +161 -0
- teradataml/data/scripts/sklearn/sklearn_score.py +145 -0
- teradataml/data/scripts/sklearn/sklearn_transform.py +327 -0
- teradataml/data/sdk/modelops/modelops_spec.json +101737 -0
- teradataml/data/seeds.csv +10 -0
- teradataml/data/sentenceextractor_example.json +7 -0
- teradataml/data/sentiment_extract_input.csv +11 -0
- teradataml/data/sentiment_train.csv +16 -0
- teradataml/data/sentiment_word.csv +20 -0
- teradataml/data/sentiment_word_input.csv +20 -0
- teradataml/data/sentimentextractor_example.json +24 -0
- teradataml/data/sentimenttrainer_example.json +8 -0
- teradataml/data/sequence_table.csv +10 -0
- teradataml/data/seriessplitter_example.json +8 -0
- teradataml/data/sessionize_example.json +17 -0
- teradataml/data/sessionize_table.csv +116 -0
- teradataml/data/setop_test1.csv +24 -0
- teradataml/data/setop_test2.csv +22 -0
- teradataml/data/soc_nw_edges.csv +11 -0
- teradataml/data/soc_nw_vertices.csv +8 -0
- teradataml/data/souvenir_timeseries.csv +168 -0
- teradataml/data/sparse_iris_attribute.csv +5 -0
- teradataml/data/sparse_iris_test.csv +121 -0
- teradataml/data/sparse_iris_train.csv +601 -0
- teradataml/data/star1.csv +6 -0
- teradataml/data/star_pivot.csv +8 -0
- teradataml/data/state_transition.csv +5 -0
- teradataml/data/stock_data.csv +53 -0
- teradataml/data/stock_movement.csv +11 -0
- teradataml/data/stock_vol.csv +76 -0
- teradataml/data/stop_words.csv +8 -0
- teradataml/data/store_sales.csv +37 -0
- teradataml/data/stringsimilarity_example.json +8 -0
- teradataml/data/strsimilarity_input.csv +13 -0
- teradataml/data/students.csv +101 -0
- teradataml/data/svm_iris_input_test.csv +121 -0
- teradataml/data/svm_iris_input_train.csv +481 -0
- teradataml/data/svm_iris_model.csv +7 -0
- teradataml/data/svmdense_example.json +10 -0
- teradataml/data/svmdensepredict_example.json +19 -0
- teradataml/data/svmsparse_example.json +8 -0
- teradataml/data/svmsparsepredict_example.json +14 -0
- teradataml/data/svmsparsesummary_example.json +8 -0
- teradataml/data/target_mobile_data.csv +13 -0
- teradataml/data/target_mobile_data_dense.csv +5 -0
- teradataml/data/target_udt_data.csv +8 -0
- teradataml/data/tdnerextractor_example.json +14 -0
- teradataml/data/templatedata.csv +1201 -0
- teradataml/data/templates/open_source_ml.json +11 -0
- teradataml/data/teradata_icon.ico +0 -0
- teradataml/data/teradataml_example.json +1473 -0
- teradataml/data/test_classification.csv +101 -0
- teradataml/data/test_loan_prediction.csv +53 -0
- teradataml/data/test_pacf_12.csv +37 -0
- teradataml/data/test_prediction.csv +101 -0
- teradataml/data/test_regression.csv +101 -0
- teradataml/data/test_river2.csv +109 -0
- teradataml/data/text_inputs.csv +6 -0
- teradataml/data/textchunker_example.json +8 -0
- teradataml/data/textclassifier_example.json +7 -0
- teradataml/data/textclassifier_input.csv +7 -0
- teradataml/data/textclassifiertrainer_example.json +7 -0
- teradataml/data/textmorph_example.json +11 -0
- teradataml/data/textparser_example.json +15 -0
- teradataml/data/texttagger_example.json +12 -0
- teradataml/data/texttokenizer_example.json +7 -0
- teradataml/data/texttrainer_input.csv +11 -0
- teradataml/data/tf_example.json +7 -0
- teradataml/data/tfidf_example.json +14 -0
- teradataml/data/tfidf_input1.csv +201 -0
- teradataml/data/tfidf_train.csv +6 -0
- teradataml/data/time_table1.csv +535 -0
- teradataml/data/time_table2.csv +14 -0
- teradataml/data/timeseriesdata.csv +1601 -0
- teradataml/data/timeseriesdatasetsd4.csv +105 -0
- teradataml/data/timestamp_data.csv +4 -0
- teradataml/data/titanic.csv +892 -0
- teradataml/data/titanic_dataset_unpivoted.csv +19 -0
- teradataml/data/to_num_data.csv +4 -0
- teradataml/data/tochar_data.csv +5 -0
- teradataml/data/token_table.csv +696 -0
- 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 +28 -0
- teradataml/data/trans_dense.csv +16 -0
- teradataml/data/trans_sparse.csv +55 -0
- teradataml/data/transformation_table.csv +6 -0
- teradataml/data/transformation_table_new.csv +2 -0
- teradataml/data/tv_spots.csv +16 -0
- teradataml/data/twod_climate_data.csv +117 -0
- teradataml/data/uaf_example.json +529 -0
- teradataml/data/univariatestatistics_example.json +9 -0
- teradataml/data/unpack_example.json +10 -0
- teradataml/data/unpivot_example.json +25 -0
- teradataml/data/unpivot_input.csv +8 -0
- teradataml/data/url_data.csv +10 -0
- teradataml/data/us_air_pass.csv +37 -0
- teradataml/data/us_population.csv +624 -0
- teradataml/data/us_states_shapes.csv +52 -0
- teradataml/data/varmax_example.json +18 -0
- teradataml/data/vectordistance_example.json +30 -0
- teradataml/data/ville_climatedata.csv +121 -0
- teradataml/data/ville_tempdata.csv +12 -0
- teradataml/data/ville_tempdata1.csv +12 -0
- teradataml/data/ville_temperature.csv +11 -0
- teradataml/data/waveletTable.csv +1605 -0
- teradataml/data/waveletTable2.csv +1605 -0
- teradataml/data/weightedmovavg_example.json +9 -0
- teradataml/data/wft_testing.csv +5 -0
- teradataml/data/windowdfft.csv +16 -0
- teradataml/data/wine_data.csv +1600 -0
- teradataml/data/word_embed_input_table1.csv +6 -0
- teradataml/data/word_embed_input_table2.csv +5 -0
- teradataml/data/word_embed_model.csv +23 -0
- teradataml/data/words_input.csv +13 -0
- teradataml/data/xconvolve_complex_left.csv +6 -0
- teradataml/data/xconvolve_complex_leftmulti.csv +6 -0
- teradataml/data/xgboost_example.json +36 -0
- teradataml/data/xgboostpredict_example.json +32 -0
- teradataml/data/ztest_example.json +16 -0
- teradataml/dataframe/__init__.py +0 -0
- teradataml/dataframe/copy_to.py +2446 -0
- teradataml/dataframe/data_transfer.py +2840 -0
- teradataml/dataframe/dataframe.py +20908 -0
- teradataml/dataframe/dataframe_utils.py +2114 -0
- teradataml/dataframe/fastload.py +794 -0
- teradataml/dataframe/functions.py +2110 -0
- teradataml/dataframe/indexer.py +424 -0
- teradataml/dataframe/row.py +160 -0
- teradataml/dataframe/setop.py +1171 -0
- teradataml/dataframe/sql.py +10904 -0
- teradataml/dataframe/sql_function_parameters.py +440 -0
- teradataml/dataframe/sql_functions.py +652 -0
- teradataml/dataframe/sql_interfaces.py +220 -0
- teradataml/dataframe/vantage_function_types.py +675 -0
- teradataml/dataframe/window.py +694 -0
- teradataml/dbutils/__init__.py +3 -0
- teradataml/dbutils/dbutils.py +2871 -0
- teradataml/dbutils/filemgr.py +318 -0
- teradataml/gen_ai/__init__.py +2 -0
- teradataml/gen_ai/convAI.py +473 -0
- teradataml/geospatial/__init__.py +4 -0
- teradataml/geospatial/geodataframe.py +1105 -0
- teradataml/geospatial/geodataframecolumn.py +392 -0
- teradataml/geospatial/geometry_types.py +926 -0
- teradataml/hyperparameter_tuner/__init__.py +1 -0
- teradataml/hyperparameter_tuner/optimizer.py +4115 -0
- teradataml/hyperparameter_tuner/utils.py +303 -0
- teradataml/lib/__init__.py +0 -0
- 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/lib/libaed_0_1_aarch64.so +0 -0
- teradataml/lib/libaed_0_1_ppc64le.so +0 -0
- teradataml/opensource/__init__.py +1 -0
- teradataml/opensource/_base.py +1321 -0
- teradataml/opensource/_class.py +464 -0
- teradataml/opensource/_constants.py +61 -0
- teradataml/opensource/_lightgbm.py +949 -0
- teradataml/opensource/_sklearn.py +1008 -0
- teradataml/opensource/_wrapper_utils.py +267 -0
- teradataml/options/__init__.py +148 -0
- teradataml/options/configure.py +489 -0
- teradataml/options/display.py +187 -0
- teradataml/plot/__init__.py +3 -0
- teradataml/plot/axis.py +1427 -0
- teradataml/plot/constants.py +15 -0
- teradataml/plot/figure.py +431 -0
- teradataml/plot/plot.py +810 -0
- teradataml/plot/query_generator.py +83 -0
- teradataml/plot/subplot.py +216 -0
- teradataml/scriptmgmt/UserEnv.py +4273 -0
- teradataml/scriptmgmt/__init__.py +3 -0
- teradataml/scriptmgmt/lls_utils.py +2157 -0
- teradataml/sdk/README.md +79 -0
- teradataml/sdk/__init__.py +4 -0
- teradataml/sdk/_auth_modes.py +422 -0
- teradataml/sdk/_func_params.py +487 -0
- teradataml/sdk/_json_parser.py +453 -0
- teradataml/sdk/_openapi_spec_constants.py +249 -0
- teradataml/sdk/_utils.py +236 -0
- teradataml/sdk/api_client.py +900 -0
- teradataml/sdk/constants.py +62 -0
- teradataml/sdk/modelops/__init__.py +98 -0
- teradataml/sdk/modelops/_client.py +409 -0
- teradataml/sdk/modelops/_constants.py +304 -0
- teradataml/sdk/modelops/models.py +2308 -0
- teradataml/sdk/spinner.py +107 -0
- teradataml/series/__init__.py +0 -0
- teradataml/series/series.py +537 -0
- teradataml/series/series_utils.py +71 -0
- teradataml/store/__init__.py +12 -0
- teradataml/store/feature_store/__init__.py +0 -0
- teradataml/store/feature_store/constants.py +658 -0
- teradataml/store/feature_store/feature_store.py +4814 -0
- teradataml/store/feature_store/mind_map.py +639 -0
- teradataml/store/feature_store/models.py +7330 -0
- teradataml/store/feature_store/utils.py +390 -0
- teradataml/table_operators/Apply.py +979 -0
- teradataml/table_operators/Script.py +1739 -0
- teradataml/table_operators/TableOperator.py +1343 -0
- teradataml/table_operators/__init__.py +2 -0
- teradataml/table_operators/apply_query_generator.py +262 -0
- teradataml/table_operators/query_generator.py +493 -0
- teradataml/table_operators/table_operator_query_generator.py +462 -0
- teradataml/table_operators/table_operator_util.py +726 -0
- teradataml/table_operators/templates/dataframe_apply.template +184 -0
- teradataml/table_operators/templates/dataframe_map.template +176 -0
- teradataml/table_operators/templates/dataframe_register.template +73 -0
- teradataml/table_operators/templates/dataframe_udf.template +67 -0
- teradataml/table_operators/templates/script_executor.template +170 -0
- teradataml/telemetry_utils/__init__.py +0 -0
- teradataml/telemetry_utils/queryband.py +53 -0
- teradataml/utils/__init__.py +0 -0
- teradataml/utils/docstring.py +527 -0
- teradataml/utils/dtypes.py +943 -0
- teradataml/utils/internal_buffer.py +122 -0
- teradataml/utils/print_versions.py +206 -0
- teradataml/utils/utils.py +451 -0
- teradataml/utils/validators.py +3305 -0
- teradataml-20.0.0.8.dist-info/METADATA +2804 -0
- teradataml-20.0.0.8.dist-info/RECORD +1208 -0
- teradataml-20.0.0.8.dist-info/WHEEL +5 -0
- teradataml-20.0.0.8.dist-info/top_level.txt +1 -0
- teradataml-20.0.0.8.dist-info/zip-safe +1 -0
|
@@ -0,0 +1,1625 @@
|
|
|
1
|
+
# ##################################################################
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2025 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
|
+
import json
|
|
17
|
+
from teradataml.common.constants import AutoMLConstants
|
|
18
|
+
|
|
19
|
+
class _GenerateCustomJson:
|
|
20
|
+
|
|
21
|
+
def __init__(self, cluster=False):
|
|
22
|
+
"""
|
|
23
|
+
DESCRIPTION:
|
|
24
|
+
Function initializes the data and flags for custom JSON file generation.
|
|
25
|
+
|
|
26
|
+
PARAMETERS:
|
|
27
|
+
cluster:
|
|
28
|
+
Optional Argument.
|
|
29
|
+
Specifies whether to apply clustering techniques.
|
|
30
|
+
Default Value: False
|
|
31
|
+
Types: bool
|
|
32
|
+
|
|
33
|
+
RETURNS:
|
|
34
|
+
None
|
|
35
|
+
|
|
36
|
+
RAISES:
|
|
37
|
+
None
|
|
38
|
+
|
|
39
|
+
EXAMPLES:
|
|
40
|
+
>>> json_generator = _GenerateCustomJson()
|
|
41
|
+
"""
|
|
42
|
+
# Initializing data dictionary for storing custom parameters
|
|
43
|
+
self.data = {}
|
|
44
|
+
# Initializing first time execution flag variables for each phase
|
|
45
|
+
self.fe_flag = {index : False for index in range(1, 8)}
|
|
46
|
+
self.de_flag = {index : False for index in range(1, 5)}
|
|
47
|
+
self.mt_flag = {index : False for index in range(1, 2)}
|
|
48
|
+
self.cluster = cluster
|
|
49
|
+
|
|
50
|
+
def _process_list_input(self,
|
|
51
|
+
input_data,
|
|
52
|
+
value_type='str',
|
|
53
|
+
allowed_values=None):
|
|
54
|
+
"""
|
|
55
|
+
DESCRIPTION:
|
|
56
|
+
Function processes input data contaning one or more than one, expected
|
|
57
|
+
to be comma separated and converts them into list of specified type.
|
|
58
|
+
|
|
59
|
+
PARAMETERS:
|
|
60
|
+
input_data:
|
|
61
|
+
Required Argument.
|
|
62
|
+
Specifies the input data to be processed.
|
|
63
|
+
Types: str
|
|
64
|
+
|
|
65
|
+
value_type:
|
|
66
|
+
Optional Argument.
|
|
67
|
+
Specifies the type of value present in input data.
|
|
68
|
+
Default Value: "str"
|
|
69
|
+
Types: str
|
|
70
|
+
|
|
71
|
+
allowed_values:
|
|
72
|
+
Optional Argument.
|
|
73
|
+
Specifies the list of allowed values for input data.
|
|
74
|
+
Default Value: None
|
|
75
|
+
Types: list
|
|
76
|
+
|
|
77
|
+
RETURNS:
|
|
78
|
+
List containing values of specified type.
|
|
79
|
+
|
|
80
|
+
RAISES:
|
|
81
|
+
ValueError: If input data is empty or not valid.
|
|
82
|
+
|
|
83
|
+
EXAMPLES:
|
|
84
|
+
>>> result = self._process_list_input(input_data=data, value_type="str")
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
while True:
|
|
88
|
+
try:
|
|
89
|
+
# Checking if input is empty
|
|
90
|
+
if not input_data.strip():
|
|
91
|
+
raise ValueError("\nInput data cannot be empty. "
|
|
92
|
+
"Please provide a valid comma separated input.")
|
|
93
|
+
# Processing multi-valued input data
|
|
94
|
+
if value_type == 'int':
|
|
95
|
+
result = [int(value.strip()) for value in input_data.split(',')]
|
|
96
|
+
elif value_type == 'float':
|
|
97
|
+
result = [float(value.strip()) for value in input_data.split(',')]
|
|
98
|
+
elif value_type == 'bool':
|
|
99
|
+
result = []
|
|
100
|
+
for value in input_data.split(','):
|
|
101
|
+
if value.strip().lower() not in ['true', 'false']:
|
|
102
|
+
raise ValueError("\nInvalid input. Please provide a valid input from 'True' or 'False'.")
|
|
103
|
+
else:
|
|
104
|
+
result.append(True if value.strip().lower() == 'true' else False)
|
|
105
|
+
else:
|
|
106
|
+
result = [value.strip() for value in input_data.split(',')]
|
|
107
|
+
|
|
108
|
+
if allowed_values:
|
|
109
|
+
for value in result:
|
|
110
|
+
if value not in allowed_values:
|
|
111
|
+
raise ValueError(f"\nInvalid input {value}. "
|
|
112
|
+
f"Please provide a valid input from {allowed_values}.")
|
|
113
|
+
return result
|
|
114
|
+
# Handling exceptions for invalid input
|
|
115
|
+
except ValueError as msg:
|
|
116
|
+
print(f"\n**ERROR:** {msg}")
|
|
117
|
+
# Ask the user to try again
|
|
118
|
+
input_data = input("\nEnter the correct input: ")
|
|
119
|
+
|
|
120
|
+
def _process_single_input(self,
|
|
121
|
+
input_data,
|
|
122
|
+
value_type='str',
|
|
123
|
+
allowed_values=None):
|
|
124
|
+
"""
|
|
125
|
+
DESCRIPTION:
|
|
126
|
+
Function processes the input data containing only single value and
|
|
127
|
+
converts it into specified type.
|
|
128
|
+
|
|
129
|
+
PARAMETERS:
|
|
130
|
+
input_data:
|
|
131
|
+
Required Argument.
|
|
132
|
+
Specifies the input data to be processed.
|
|
133
|
+
Types: str
|
|
134
|
+
|
|
135
|
+
value_type:
|
|
136
|
+
Optional Argument.
|
|
137
|
+
Specifies the type of value present in input data.
|
|
138
|
+
Default Value: "str"
|
|
139
|
+
Types: str
|
|
140
|
+
|
|
141
|
+
allowed_values:
|
|
142
|
+
Optional Argument.
|
|
143
|
+
Specifies the list of allowed values for input data.
|
|
144
|
+
Default Value: None
|
|
145
|
+
Types: list
|
|
146
|
+
|
|
147
|
+
RETURNS:
|
|
148
|
+
Value of specified type.
|
|
149
|
+
|
|
150
|
+
RAISES:
|
|
151
|
+
ValueError: If input data is empty or not valid.
|
|
152
|
+
|
|
153
|
+
EXAMPLES:
|
|
154
|
+
>>> self._process_single_input(input_data=data, value_type="int")
|
|
155
|
+
"""
|
|
156
|
+
while True:
|
|
157
|
+
try:
|
|
158
|
+
# Checking if input is empty
|
|
159
|
+
if not input_data.strip():
|
|
160
|
+
raise ValueError("\nInput data cannot be empty. "
|
|
161
|
+
"Please provide a valid input.")
|
|
162
|
+
# Processing single value input data
|
|
163
|
+
if value_type == 'int':
|
|
164
|
+
result = int(input_data)
|
|
165
|
+
elif value_type == 'float':
|
|
166
|
+
result = float(input_data)
|
|
167
|
+
elif value_type == 'bool':
|
|
168
|
+
result = True if input_data.lower() == 'true' else False
|
|
169
|
+
else:
|
|
170
|
+
result = input_data
|
|
171
|
+
|
|
172
|
+
if allowed_values:
|
|
173
|
+
if result not in allowed_values:
|
|
174
|
+
raise ValueError(f"\nInvalid input {result}. "
|
|
175
|
+
f"Please provide a valid input from {allowed_values}.")
|
|
176
|
+
return result
|
|
177
|
+
# Handling exceptions for invalid input
|
|
178
|
+
except ValueError as msg:
|
|
179
|
+
print(f"\n**ERROR:** {msg}")
|
|
180
|
+
# Ask the user to try again
|
|
181
|
+
input_data = input("\nEnter the correct input: ")
|
|
182
|
+
|
|
183
|
+
def _generate_custom_json(self):
|
|
184
|
+
"""
|
|
185
|
+
DESCRIPTION:
|
|
186
|
+
Function collects customized user input using prompt for feature enginnering,
|
|
187
|
+
data preparation and model training phases.
|
|
188
|
+
|
|
189
|
+
PARAMETERS:
|
|
190
|
+
None
|
|
191
|
+
|
|
192
|
+
RETURNS:
|
|
193
|
+
Dictionary containing custom parameters to generate custom JSON file for AutoML.
|
|
194
|
+
|
|
195
|
+
RAISES:
|
|
196
|
+
None
|
|
197
|
+
|
|
198
|
+
EXAMPLES:
|
|
199
|
+
>>> custom_config = self._generate_custom_json()
|
|
200
|
+
"""
|
|
201
|
+
|
|
202
|
+
print("\nGenerating custom config JSON for AutoML ...")
|
|
203
|
+
|
|
204
|
+
customize_options = {
|
|
205
|
+
1: 'Customize Feature Engineering Phase',
|
|
206
|
+
2: 'Customize Data Preparation Phase',
|
|
207
|
+
3: 'Customize Model Training Phase',
|
|
208
|
+
4: 'Generate custom json and exit'
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
while True:
|
|
212
|
+
|
|
213
|
+
print(f"\nAvailable main options for customization with corresponding indices: ")
|
|
214
|
+
print("-"*80)
|
|
215
|
+
for index, options in customize_options.items():
|
|
216
|
+
print(f"\nIndex {index}: {options}")
|
|
217
|
+
print("-"*80)
|
|
218
|
+
# Mapping each index to corresponding functionality
|
|
219
|
+
custom_method_map = {
|
|
220
|
+
1: self._get_customize_input_feature_engineering,
|
|
221
|
+
2: self._get_customize_input_data_preparation,
|
|
222
|
+
3: self._get_customize_input_model_training
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
# Taking required input for customizing feature engineering, data preparation and model training phases
|
|
226
|
+
phase_idx = self._process_single_input(
|
|
227
|
+
input("\nEnter the index you want to customize: "),
|
|
228
|
+
'int', list(customize_options.keys()))
|
|
229
|
+
# Checking if user wants to exit
|
|
230
|
+
if phase_idx == 4:
|
|
231
|
+
print("\nGenerating custom json and exiting ...")
|
|
232
|
+
break
|
|
233
|
+
else:
|
|
234
|
+
# Processing each functionality for customization
|
|
235
|
+
# Getting exit flag to exit from main menu
|
|
236
|
+
exit_flag = custom_method_map[phase_idx]()
|
|
237
|
+
if exit_flag:
|
|
238
|
+
break
|
|
239
|
+
|
|
240
|
+
print("\nProcess of generating custom config file for AutoML has been completed successfully.")
|
|
241
|
+
# Returning custom parameters
|
|
242
|
+
return self.data
|
|
243
|
+
|
|
244
|
+
def _get_customize_input_feature_engineering(self):
|
|
245
|
+
"""
|
|
246
|
+
DESCRIPTION:
|
|
247
|
+
Function takes user input for different functionalities to customize
|
|
248
|
+
feature engineering phase.
|
|
249
|
+
|
|
250
|
+
PARAMETERS:
|
|
251
|
+
None
|
|
252
|
+
|
|
253
|
+
RETURNS:
|
|
254
|
+
None
|
|
255
|
+
|
|
256
|
+
RAISES:
|
|
257
|
+
None
|
|
258
|
+
|
|
259
|
+
EXAMPLES:
|
|
260
|
+
>>> self._get_customize_input_feature_engineering()
|
|
261
|
+
"""
|
|
262
|
+
|
|
263
|
+
print("\nCustomizing Feature Engineering Phase ...")
|
|
264
|
+
# Available options for customization of feature engineering phase
|
|
265
|
+
fe_customize_options = {
|
|
266
|
+
1: 'Customize Missing Value Handling',
|
|
267
|
+
2: 'Customize Bincode Encoding',
|
|
268
|
+
3: 'Customize String Manipulation',
|
|
269
|
+
4: 'Customize Categorical Encoding',
|
|
270
|
+
5: 'Customize Mathematical Transformation',
|
|
271
|
+
6: 'Customize Nonlinear Transformation',
|
|
272
|
+
7: 'Customize Antiselect Features',
|
|
273
|
+
8: 'Back to main menu',
|
|
274
|
+
9: 'Generate custom json and exit'
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
while True:
|
|
278
|
+
|
|
279
|
+
print(f"\nAvailable options for customization of feature engineering phase with corresponding indices: ")
|
|
280
|
+
print("-"*80)
|
|
281
|
+
for index, options in fe_customize_options.items():
|
|
282
|
+
print(f"\nIndex {index}: {options}")
|
|
283
|
+
print("-"*80)
|
|
284
|
+
# Mapping each index to corresponding functionality
|
|
285
|
+
fe_method_map = {
|
|
286
|
+
1: self._get_customize_input_missing_value_handling,
|
|
287
|
+
2: self._get_customize_input_bin_code_encoding,
|
|
288
|
+
3: self._get_customize_input_string_manipulation,
|
|
289
|
+
4: self._get_customize_input_categorical_encoding,
|
|
290
|
+
5: self._get_customize_input_mathematical_transformation,
|
|
291
|
+
6: self._get_customize_input_nonlinear_transformation,
|
|
292
|
+
7: self._get_customize_input_antiselect
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
# Taking required input for customizing feature engineering
|
|
296
|
+
fe_phase_idx = self._process_list_input(
|
|
297
|
+
input("\nEnter the list of indices you want to customize in feature engineering phase: "),
|
|
298
|
+
'int', list(fe_customize_options.keys()))
|
|
299
|
+
|
|
300
|
+
# Setting back_key and exit_key
|
|
301
|
+
fe_back_key, fe_exit_key = 8, 9
|
|
302
|
+
# Flag variable to back to main menu
|
|
303
|
+
fe_exit_to_main_flag = False
|
|
304
|
+
# Flag variable to exit from main menu
|
|
305
|
+
# Handling the scenario when input contains both index 8 and 9
|
|
306
|
+
fe_exit_from_main_flag = fe_exit_key in fe_phase_idx
|
|
307
|
+
|
|
308
|
+
# Processing each functionality for customization in sorted order
|
|
309
|
+
for index in sorted(fe_phase_idx):
|
|
310
|
+
if index == fe_back_key or index == fe_exit_key:
|
|
311
|
+
fe_exit_to_main_flag = True
|
|
312
|
+
if index == fe_exit_key:
|
|
313
|
+
fe_exit_from_main_flag = True
|
|
314
|
+
break
|
|
315
|
+
fe_method_map[index](self.fe_flag[index])
|
|
316
|
+
self.fe_flag[index] = True
|
|
317
|
+
# Checking if user wants to return to main menu
|
|
318
|
+
if fe_exit_to_main_flag:
|
|
319
|
+
print("\nCustomization of feature engineering phase has been completed successfully.")
|
|
320
|
+
break
|
|
321
|
+
# Returning flag to exit from main menu
|
|
322
|
+
return fe_exit_from_main_flag
|
|
323
|
+
|
|
324
|
+
def _get_customize_input_data_preparation(self):
|
|
325
|
+
"""
|
|
326
|
+
DESCRIPTION:
|
|
327
|
+
Function takes user input for different functionalities to customize
|
|
328
|
+
data preparation phase.
|
|
329
|
+
|
|
330
|
+
PARAMETERS:
|
|
331
|
+
None
|
|
332
|
+
|
|
333
|
+
RETURNS:
|
|
334
|
+
None
|
|
335
|
+
|
|
336
|
+
RAISES:
|
|
337
|
+
None
|
|
338
|
+
|
|
339
|
+
EXAMPLES:
|
|
340
|
+
>>> self._get_customize_input_data_preparation()
|
|
341
|
+
"""
|
|
342
|
+
print("\nCustomizing Data Preparation Phase ...")
|
|
343
|
+
# Available options for customization of data preparation phase
|
|
344
|
+
if self.cluster:
|
|
345
|
+
dp_customize_options = {
|
|
346
|
+
1: 'Customize Outlier Handling',
|
|
347
|
+
2: 'Customize Feature Scaling',
|
|
348
|
+
3: 'Back to main menu',
|
|
349
|
+
4: 'Generate custom json and exit'
|
|
350
|
+
}
|
|
351
|
+
else:
|
|
352
|
+
dp_customize_options = {
|
|
353
|
+
1: 'Customize Data Imbalance Handling',
|
|
354
|
+
2: 'Customize Outlier Handling',
|
|
355
|
+
3: 'Customize Feature Scaling',
|
|
356
|
+
4: 'Back to main menu',
|
|
357
|
+
5: 'Generate custom json and exit'
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
while True:
|
|
361
|
+
|
|
362
|
+
print(f"\nAvailable options for customization of data preparation phase with corresponding indices: ")
|
|
363
|
+
print("-"*80)
|
|
364
|
+
for index, options in dp_customize_options.items():
|
|
365
|
+
print(f"\nIndex {index}: {options}")
|
|
366
|
+
print("-"*80)
|
|
367
|
+
# Mapping each index to corresponding functionality
|
|
368
|
+
if self.cluster:
|
|
369
|
+
de_method_map = {
|
|
370
|
+
1: self._get_customize_input_outlier_handling,
|
|
371
|
+
2: self._get_customize_input_feature_scaling
|
|
372
|
+
}
|
|
373
|
+
de_back_key, de_exit_key = 3, 4
|
|
374
|
+
else:
|
|
375
|
+
de_method_map = {
|
|
376
|
+
1: self._get_customize_input_data_imbalance_handling,
|
|
377
|
+
2: self._get_customize_input_outlier_handling,
|
|
378
|
+
3: self._get_customize_input_feature_scaling
|
|
379
|
+
}
|
|
380
|
+
de_back_key, de_exit_key = 4, 5
|
|
381
|
+
# Taking required input for customizing data preparation.
|
|
382
|
+
dp_phase_idx = self._process_list_input(
|
|
383
|
+
input("\nEnter the list of indices you want to customize in data preparation phase: "),
|
|
384
|
+
'int', list(dp_customize_options.keys()))
|
|
385
|
+
|
|
386
|
+
# Setting back_key and exit_key
|
|
387
|
+
|
|
388
|
+
# Flag variable to back to main menu
|
|
389
|
+
de_exit_to_main_flag = False
|
|
390
|
+
# Flag variable to exit from main menu
|
|
391
|
+
# Handling the scenario when input contains both back_key and exit_key
|
|
392
|
+
de_exit_from_main_flag = de_exit_key in dp_phase_idx
|
|
393
|
+
|
|
394
|
+
# Processing each functionality for customization in sorted order
|
|
395
|
+
for index in sorted(dp_phase_idx):
|
|
396
|
+
if index == de_back_key or index == de_exit_key:
|
|
397
|
+
de_exit_to_main_flag = True
|
|
398
|
+
if index == de_exit_key:
|
|
399
|
+
de_exit_from_main_flag = True
|
|
400
|
+
break
|
|
401
|
+
de_method_map[index](self.de_flag[index])
|
|
402
|
+
self.de_flag[index] = True
|
|
403
|
+
# Checking if user wants to return to main menu
|
|
404
|
+
if de_exit_to_main_flag:
|
|
405
|
+
print("\nCustomization of data preparation phase has been completed successfully.")
|
|
406
|
+
break
|
|
407
|
+
# Returning flag to exit from main menu
|
|
408
|
+
return de_exit_from_main_flag
|
|
409
|
+
|
|
410
|
+
def _get_customize_input_model_training(self):
|
|
411
|
+
"""
|
|
412
|
+
DESCRIPTION:
|
|
413
|
+
Function takes user input for different functionalities to customize
|
|
414
|
+
model training phase.
|
|
415
|
+
|
|
416
|
+
PARAMETERS:
|
|
417
|
+
None
|
|
418
|
+
|
|
419
|
+
RETURNS:
|
|
420
|
+
None
|
|
421
|
+
|
|
422
|
+
RAISES:
|
|
423
|
+
None
|
|
424
|
+
|
|
425
|
+
EXAMPLES:
|
|
426
|
+
>>> self._get_customize_input_model_training()
|
|
427
|
+
"""
|
|
428
|
+
print("\nCustomizing Model Training Phase ...")
|
|
429
|
+
# Available options for customization of model training phase
|
|
430
|
+
mt_customize_options = {
|
|
431
|
+
1: 'Customize Model Hyperparameter',
|
|
432
|
+
2: 'Back to main menu',
|
|
433
|
+
3: 'Generate custom json and exit'
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
while True:
|
|
437
|
+
|
|
438
|
+
print(f"\nAvailable options for customization of model training phase with corresponding indices: ")
|
|
439
|
+
print("-"*80)
|
|
440
|
+
for index, options in mt_customize_options.items():
|
|
441
|
+
print(f"\nIndex {index}: {options}")
|
|
442
|
+
print("-"*80)
|
|
443
|
+
|
|
444
|
+
# Taking required input for customizing model training.
|
|
445
|
+
mt_phase_idx = self._process_list_input(
|
|
446
|
+
input("\nEnter the list of indices you want to customize in model training phase: "),
|
|
447
|
+
'int', list(mt_customize_options.keys()))
|
|
448
|
+
|
|
449
|
+
# Flag variable to back to main menu
|
|
450
|
+
mt_exit_to_main_flag = False
|
|
451
|
+
# Flag variable to exit from main menu
|
|
452
|
+
# Handling the scenario when input contains both index 2 and 3
|
|
453
|
+
mt_exit_from_main_flag = 3 in mt_phase_idx
|
|
454
|
+
|
|
455
|
+
# Processing each functionality for customization in sorted order
|
|
456
|
+
for index in sorted(mt_phase_idx):
|
|
457
|
+
if index == 1:
|
|
458
|
+
self._get_customize_input_model_hyperparameter(self.mt_flag[index])
|
|
459
|
+
elif index == 2 or index == 3:
|
|
460
|
+
mt_exit_to_main_flag = True
|
|
461
|
+
if index == 3:
|
|
462
|
+
mt_exit_from_main_flag = True
|
|
463
|
+
break
|
|
464
|
+
self.mt_flag[index] = True
|
|
465
|
+
# Checking if user wants to return to main menu
|
|
466
|
+
if mt_exit_to_main_flag:
|
|
467
|
+
print("\nCustomization of model training phase has been completed successfully.")
|
|
468
|
+
break
|
|
469
|
+
# Returning flag to exit from main menu
|
|
470
|
+
return mt_exit_from_main_flag
|
|
471
|
+
|
|
472
|
+
def _set_generic_arguement(self,
|
|
473
|
+
func_name):
|
|
474
|
+
"""
|
|
475
|
+
DESCRIPTION:
|
|
476
|
+
Internal Function to set generic arguments for each functionality.
|
|
477
|
+
|
|
478
|
+
PARAMETERS:
|
|
479
|
+
func_name:
|
|
480
|
+
Required Argument.
|
|
481
|
+
Specifies the name of functionality for which generic arguments are to be set.
|
|
482
|
+
Types: str
|
|
483
|
+
|
|
484
|
+
RETURNS:
|
|
485
|
+
None
|
|
486
|
+
|
|
487
|
+
RAISES:
|
|
488
|
+
None
|
|
489
|
+
|
|
490
|
+
EXAMPLES:
|
|
491
|
+
>>> self._set_generic_arguement("missing_value_handling")
|
|
492
|
+
"""
|
|
493
|
+
generic_flag = {
|
|
494
|
+
0: 'Default',
|
|
495
|
+
1: 'volatile',
|
|
496
|
+
2: 'persist'
|
|
497
|
+
}
|
|
498
|
+
print("\nAvailable options for generic arguments: ")
|
|
499
|
+
for index, method in generic_flag.items():
|
|
500
|
+
print(f"Index {index}: {method}")
|
|
501
|
+
inp = self._process_list_input(
|
|
502
|
+
input("\nEnter the indices for generic arguments : "), 'int')[0]
|
|
503
|
+
if inp == 0:
|
|
504
|
+
return
|
|
505
|
+
if inp == 1:
|
|
506
|
+
self.data[func_name]['volatile'] = True
|
|
507
|
+
elif inp == 2:
|
|
508
|
+
self.data[func_name]['persist'] = True
|
|
509
|
+
|
|
510
|
+
def _get_customize_input_missing_value_handling(self,
|
|
511
|
+
first_execution_flag=False):
|
|
512
|
+
"""
|
|
513
|
+
DESCRIPTION:
|
|
514
|
+
Function takes user input to generate custom json paramaters for missing value handling.
|
|
515
|
+
|
|
516
|
+
PARAMETERS:
|
|
517
|
+
first_execution_flag:
|
|
518
|
+
Optional Argument.
|
|
519
|
+
Specifies the flag to check if the function is called for the first time.
|
|
520
|
+
Default Value: False
|
|
521
|
+
Types: bool
|
|
522
|
+
|
|
523
|
+
RETURNS:
|
|
524
|
+
None
|
|
525
|
+
|
|
526
|
+
RAISES:
|
|
527
|
+
None
|
|
528
|
+
|
|
529
|
+
EXAMPLES:
|
|
530
|
+
>>> self._get_customize_input_missing_value_handling()
|
|
531
|
+
"""
|
|
532
|
+
if first_execution_flag:
|
|
533
|
+
print("\nWARNING : Reinitiated missing value handling customization. "
|
|
534
|
+
"Overwriting the previous input.")
|
|
535
|
+
|
|
536
|
+
print("\nCustomizing Missing Value Handling ...")
|
|
537
|
+
# Setting indicator for missing value handling
|
|
538
|
+
self.data['MissingValueHandlingIndicator'] = True
|
|
539
|
+
print("\nProvide the following details to customize missing value handling:")
|
|
540
|
+
# Setting parameters for missing value handling
|
|
541
|
+
self.data['MissingValueHandlingParam'] = {}
|
|
542
|
+
|
|
543
|
+
missing_handling_methods = {1: 'Drop Columns',
|
|
544
|
+
2: 'Drop Rows',
|
|
545
|
+
3: 'Impute Missing values'}
|
|
546
|
+
|
|
547
|
+
print("\nAvailable missing value handling methods with corresponding indices: ")
|
|
548
|
+
for index, method in missing_handling_methods.items():
|
|
549
|
+
print(f"Index {index}: {method}")
|
|
550
|
+
|
|
551
|
+
missing_handling_methods_idx = self._process_list_input(
|
|
552
|
+
input("\nEnter the list of indices for missing value handling methods : "),
|
|
553
|
+
'int', list(missing_handling_methods.keys()))
|
|
554
|
+
|
|
555
|
+
for index in missing_handling_methods_idx:
|
|
556
|
+
if index == 1:
|
|
557
|
+
# Setting indicator for dropping columns with missing values
|
|
558
|
+
self.data['MissingValueHandlingParam']['DroppingColumnIndicator'] = True
|
|
559
|
+
drop_col_list = self._process_list_input(
|
|
560
|
+
input("\nEnter the feature or list of features for dropping columns with missing values: "))
|
|
561
|
+
self.data['MissingValueHandlingParam']['DroppingColumnList'] = drop_col_list
|
|
562
|
+
elif index == 2:
|
|
563
|
+
self.data['MissingValueHandlingParam']['DroppingRowIndicator'] = True
|
|
564
|
+
drop_row_list = self._process_list_input(
|
|
565
|
+
input("\nEnter the feature or list of features for dropping rows with missing values: "))
|
|
566
|
+
self.data['MissingValueHandlingParam']['DroppingRowList'] = drop_row_list
|
|
567
|
+
elif index == 3:
|
|
568
|
+
self.data['MissingValueHandlingParam']['ImputeMissingIndicator'] = True
|
|
569
|
+
|
|
570
|
+
impute_methods = {1: 'Statistical Imputation',
|
|
571
|
+
2: 'Literal Imputation'}
|
|
572
|
+
print("\nAvailable missing value imputation methods with corresponding indices: ")
|
|
573
|
+
for index, method in impute_methods.items():
|
|
574
|
+
print(f"Index {index}: {method}")
|
|
575
|
+
|
|
576
|
+
impute_methods_idx = self._process_list_input(
|
|
577
|
+
input("\nEnter the list of corresponding index missing value imputation methods you want to use: "),
|
|
578
|
+
'int', list(impute_methods.keys()))
|
|
579
|
+
|
|
580
|
+
for index in impute_methods_idx:
|
|
581
|
+
if index == 1:
|
|
582
|
+
stat_imp_list = self._process_list_input(
|
|
583
|
+
input("\nEnter the feature or list of features for imputing missing values using statistic values: "))
|
|
584
|
+
self.data['MissingValueHandlingParam']['StatImputeList'] = stat_imp_list
|
|
585
|
+
|
|
586
|
+
# Displaying available statistical imputation methods
|
|
587
|
+
stat_methods = {1: 'min',
|
|
588
|
+
2: 'max',
|
|
589
|
+
3: 'mean',
|
|
590
|
+
4: 'median',
|
|
591
|
+
5: 'mode'}
|
|
592
|
+
print("\nAvailable statistical methods with corresponding indices:")
|
|
593
|
+
for index, method in stat_methods.items():
|
|
594
|
+
print(f"Index {index}: {method}")
|
|
595
|
+
|
|
596
|
+
self.data['MissingValueHandlingParam']['StatImputeMethod'] = []
|
|
597
|
+
# Setting statistical imputation methods for features
|
|
598
|
+
for feature in stat_imp_list:
|
|
599
|
+
method_idx = self._process_single_input(
|
|
600
|
+
input(f"\nEnter the index of corresponding statistic imputation "
|
|
601
|
+
f"method for feature {feature}: "),
|
|
602
|
+
'int', list(stat_methods.keys()))
|
|
603
|
+
self.data['MissingValueHandlingParam']['StatImputeMethod'].append(stat_methods[method_idx])
|
|
604
|
+
elif index == 2:
|
|
605
|
+
literal_imp_list = self._process_list_input(
|
|
606
|
+
input("\nEnter the feature or list of features for imputing missing values "
|
|
607
|
+
"using a specific value(Literal): "))
|
|
608
|
+
# Setting list of features for imputing missing values using specific literal value
|
|
609
|
+
self.data['MissingValueHandlingParam']['LiteralImputeList'] = literal_imp_list
|
|
610
|
+
self.data['MissingValueHandlingParam']['LiteralImputeValue'] = []
|
|
611
|
+
for feature in literal_imp_list:
|
|
612
|
+
# Setting specific literal value for imputing missing values for each feature
|
|
613
|
+
literal_value = self._process_single_input(
|
|
614
|
+
input(f"\nEnter the specific literal value for imputing missing "
|
|
615
|
+
f"values for feature {feature}: "))
|
|
616
|
+
self.data['MissingValueHandlingParam']['LiteralImputeValue'].append(literal_value)
|
|
617
|
+
# Setting generic arguments
|
|
618
|
+
self._set_generic_arguement(func_name='MissingValueHandlingParam')
|
|
619
|
+
print("\nCustomization of missing value handling has been completed successfully.")
|
|
620
|
+
|
|
621
|
+
def _get_customize_input_bin_code_encoding(self,
|
|
622
|
+
first_execution_flag=False):
|
|
623
|
+
"""
|
|
624
|
+
DESCRIPTION:
|
|
625
|
+
Function takes user input to generate custom json paramaters for performing binning on features.
|
|
626
|
+
|
|
627
|
+
PARAMETERS:
|
|
628
|
+
first_execution_flag:
|
|
629
|
+
Optional Argument.
|
|
630
|
+
Specifies the flag to check if the function is called for the first time.
|
|
631
|
+
Default Value: False
|
|
632
|
+
Types: bool
|
|
633
|
+
|
|
634
|
+
RETURNS:
|
|
635
|
+
None
|
|
636
|
+
|
|
637
|
+
RAISES:
|
|
638
|
+
None
|
|
639
|
+
|
|
640
|
+
EXAMPLES:
|
|
641
|
+
>>> self._get_customize_input_bin_code_encoding()
|
|
642
|
+
"""
|
|
643
|
+
if first_execution_flag:
|
|
644
|
+
print("\nWARNING : Reinitiated bincode encoding customization. "
|
|
645
|
+
"Overwriting the previous input.")
|
|
646
|
+
|
|
647
|
+
print("\nCustomizing Bincode Encoding ...")
|
|
648
|
+
# Setting indicator for binning
|
|
649
|
+
self.data['BincodeIndicator'] = True
|
|
650
|
+
print("\nProvide the following details to customize binning and coding encoding:")
|
|
651
|
+
self.data['BincodeParam'] = {}
|
|
652
|
+
|
|
653
|
+
# Displaying available binning methods
|
|
654
|
+
binning_methods = {1: 'Equal-Width',
|
|
655
|
+
2: 'Variable-Width'}
|
|
656
|
+
print("\nAvailable binning methods with corresponding indices:")
|
|
657
|
+
for index, method in binning_methods.items():
|
|
658
|
+
print(f"Index {index}: {method}")
|
|
659
|
+
|
|
660
|
+
# Setting parameters for binning
|
|
661
|
+
binning_list = self._process_list_input(input("\nEnter the feature or list of features for binning: "))
|
|
662
|
+
if binning_list:
|
|
663
|
+
for feature in binning_list:
|
|
664
|
+
# Setting parameters for binning each feature
|
|
665
|
+
self.data['BincodeParam'][feature] = {}
|
|
666
|
+
bin_method_idx = self._process_single_input(
|
|
667
|
+
input(f"\nEnter the index of corresponding binning method for feature {feature}: "),
|
|
668
|
+
'int', list(binning_methods.keys()))
|
|
669
|
+
|
|
670
|
+
# Setting binning method and number of bins for each feature
|
|
671
|
+
self.data['BincodeParam'][feature]["Type"] = binning_methods[bin_method_idx]
|
|
672
|
+
num_of_bin = self._process_single_input(
|
|
673
|
+
input(f"\nEnter the number of bins for feature {feature}: "), 'int')
|
|
674
|
+
self.data['BincodeParam'][feature]["NumOfBins"] = num_of_bin
|
|
675
|
+
|
|
676
|
+
# Setting parameters for each bin of feature in case of variable width binning
|
|
677
|
+
if bin_method_idx == 2:
|
|
678
|
+
value_type = {
|
|
679
|
+
1: 'int',
|
|
680
|
+
2: 'float'
|
|
681
|
+
}
|
|
682
|
+
print("\nAvailable value type of feature for variable binning with corresponding indices:")
|
|
683
|
+
for index, v_type in value_type.items():
|
|
684
|
+
print(f"Index {index}: {v_type}")
|
|
685
|
+
# Setting parameters for each bin of feature
|
|
686
|
+
for num in range(1, num_of_bin+1):
|
|
687
|
+
print(f"\nProvide the range for bin {num} of feature {feature}: ")
|
|
688
|
+
bin_num="Bin_"+str(num)
|
|
689
|
+
self.data['BincodeParam'][feature][bin_num] = {}
|
|
690
|
+
|
|
691
|
+
# Setting bin value type for corresponding bin
|
|
692
|
+
bin_value_type_idx = self._process_single_input(
|
|
693
|
+
input(f"\nEnter the index of corresponding value type of feature {feature}: "),
|
|
694
|
+
'int', list(value_type.keys()))
|
|
695
|
+
|
|
696
|
+
bin_value_type = value_type[bin_value_type_idx]
|
|
697
|
+
|
|
698
|
+
# Setting minimum value for corresponding bin
|
|
699
|
+
self.data['BincodeParam'][feature][bin_num]['min_value'] = self._process_single_input(
|
|
700
|
+
input(f"\nEnter the minimum value for bin {num} of feature {feature}: "),
|
|
701
|
+
bin_value_type)
|
|
702
|
+
# Setting maximum value for corresponding bin
|
|
703
|
+
self.data['BincodeParam'][feature][bin_num]['max_value'] = self._process_single_input(
|
|
704
|
+
input(f"\nEnter the maximum value for bin {num} of feature {feature}: "),
|
|
705
|
+
bin_value_type)
|
|
706
|
+
# Setting label for corresponding bin
|
|
707
|
+
self.data['BincodeParam'][feature][bin_num]['label'] = self._process_single_input(
|
|
708
|
+
input(f"\nEnter the label for bin {num} of feature {feature}: "))
|
|
709
|
+
self._set_generic_arguement(func_name='BincodeParam')
|
|
710
|
+
|
|
711
|
+
print("\nCustomization of bincode encoding has been completed successfully.")
|
|
712
|
+
|
|
713
|
+
def _get_customize_input_string_manipulation(self,
|
|
714
|
+
first_execution_flag=False):
|
|
715
|
+
"""
|
|
716
|
+
DESCRIPTION:
|
|
717
|
+
Function takes user input to generate custom json paramaters for string manipulation.
|
|
718
|
+
|
|
719
|
+
PARAMETERS:
|
|
720
|
+
first_execution_flag:
|
|
721
|
+
Optional Argument.
|
|
722
|
+
Specifies the flag to check if the function is called for the first time.
|
|
723
|
+
Default Value: False
|
|
724
|
+
Types: bool
|
|
725
|
+
|
|
726
|
+
RETURNS:
|
|
727
|
+
None
|
|
728
|
+
|
|
729
|
+
RAISES:
|
|
730
|
+
None
|
|
731
|
+
|
|
732
|
+
EXAMPLES:
|
|
733
|
+
>>> self._get_customize_input_string_manipulation()
|
|
734
|
+
"""
|
|
735
|
+
if first_execution_flag:
|
|
736
|
+
print("\nWARNING : Reinitiated string manipulation customization. "
|
|
737
|
+
"Overwriting the previous input.")
|
|
738
|
+
|
|
739
|
+
print("\nCustomizing String Manipulation ...")
|
|
740
|
+
# Setting indicator for string manipulation
|
|
741
|
+
self.data['StringManipulationIndicator'] = True
|
|
742
|
+
print("\nProvide the following details to customize string manipulation:")
|
|
743
|
+
self.data['StringManipulationParam'] = {}
|
|
744
|
+
# Displaying available string manipulation methods
|
|
745
|
+
string_methods = {1: 'ToLower',
|
|
746
|
+
2: 'ToUpper',
|
|
747
|
+
3: 'StringCon',
|
|
748
|
+
4: 'StringPad',
|
|
749
|
+
5: 'Substring'}
|
|
750
|
+
print("\nAvailable string manipulation methods with corresponding indices:")
|
|
751
|
+
for index, method in string_methods.items():
|
|
752
|
+
print(f"Index {index}: {method}")
|
|
753
|
+
|
|
754
|
+
# Setting parameters for string manipulation
|
|
755
|
+
str_mnpl_list = self._process_list_input(
|
|
756
|
+
input("\nEnter the feature or list of features for string manipulation: "))
|
|
757
|
+
# Processing each feature
|
|
758
|
+
if str_mnpl_list:
|
|
759
|
+
for feature in str_mnpl_list:
|
|
760
|
+
# Setting parameters for string manipulation each feature
|
|
761
|
+
self.data['StringManipulationParam'][feature] = {}
|
|
762
|
+
str_mnpl_method_idx = self._process_single_input(
|
|
763
|
+
input(f"\nEnter the index of corresponding string manipulation "
|
|
764
|
+
f"method for feature {feature}: "), 'int', list(string_methods.keys()))
|
|
765
|
+
self.data['StringManipulationParam'][feature]["StringOperation"] = \
|
|
766
|
+
string_methods[str_mnpl_method_idx]
|
|
767
|
+
# Setting required parameters specific to each string manipulation method
|
|
768
|
+
if str_mnpl_method_idx in [3, 4]:
|
|
769
|
+
str_mnpl_string = self._process_single_input(
|
|
770
|
+
input(f"\nEnter the string value required for string manipulation "
|
|
771
|
+
f"operation for feature {feature}: "))
|
|
772
|
+
self.data['StringManipulationParam'][feature]["String"] = str_mnpl_string
|
|
773
|
+
|
|
774
|
+
if str_mnpl_method_idx in [4, 5]:
|
|
775
|
+
str_mnpl_length = self._process_single_input(
|
|
776
|
+
input(f"\nEnter the length value required for string manipulation "
|
|
777
|
+
f"operation for feature {feature}: "), 'int')
|
|
778
|
+
self.data['StringManipulationParam'][feature]["StringLength"] = str_mnpl_length
|
|
779
|
+
|
|
780
|
+
if str_mnpl_method_idx == 5:
|
|
781
|
+
str_mnpl_start = self._process_single_input(
|
|
782
|
+
input(f"\nEnter the start value required for string manipulation "
|
|
783
|
+
f"operation for feature {feature}: "), 'int')
|
|
784
|
+
self.data['StringManipulationParam'][feature]["StartIndex"] = str_mnpl_start
|
|
785
|
+
|
|
786
|
+
self._set_generic_arguement(func_name='StringManipulationParam')
|
|
787
|
+
print("\nCustomization of string manipulation has been completed successfully.")
|
|
788
|
+
|
|
789
|
+
def _get_customize_input_categorical_encoding(self,
|
|
790
|
+
first_execution_flag=False):
|
|
791
|
+
"""
|
|
792
|
+
DESCRIPTION:
|
|
793
|
+
Function takes user input to generate custom json paramaters for categorical encoding.
|
|
794
|
+
|
|
795
|
+
PARAMETERS:
|
|
796
|
+
first_execution_flag:
|
|
797
|
+
Optional Argument.
|
|
798
|
+
Specifies the flag to check if the function is called for the first time.
|
|
799
|
+
Default Value: False
|
|
800
|
+
Types: bool
|
|
801
|
+
|
|
802
|
+
RETURNS:
|
|
803
|
+
None
|
|
804
|
+
|
|
805
|
+
RAISES:
|
|
806
|
+
None
|
|
807
|
+
|
|
808
|
+
EXAMPLES:
|
|
809
|
+
>>> self._get_customize_input_categorical_encoding()
|
|
810
|
+
"""
|
|
811
|
+
if first_execution_flag:
|
|
812
|
+
print("\nWARNING : Reinitiated categorical encoding customization. "
|
|
813
|
+
"Overwriting the previous input.")
|
|
814
|
+
|
|
815
|
+
print("\nCustomizing Categorical Encoding ...")
|
|
816
|
+
# Setting indicator for categorical encoding
|
|
817
|
+
self.data['CategoricalEncodingIndicator'] = True
|
|
818
|
+
print("\nProvide the following details to customize categorical encoding:")
|
|
819
|
+
# Setting parameters for categorical encoding
|
|
820
|
+
self.data['CategoricalEncodingParam'] = {}
|
|
821
|
+
|
|
822
|
+
encoding_methods = {1: 'OneHotEncoding',
|
|
823
|
+
2: 'OrdinalEncoding',
|
|
824
|
+
3: 'TargetEncoding'}
|
|
825
|
+
|
|
826
|
+
print("\nAvailable categorical encoding methods with corresponding indices:")
|
|
827
|
+
for index, method in encoding_methods.items():
|
|
828
|
+
print(f"Index {index}: {method}")
|
|
829
|
+
|
|
830
|
+
encoding_methods_idx = self._process_list_input(
|
|
831
|
+
input("\nEnter the list of corresponding index categorical encoding methods you want to use: "),
|
|
832
|
+
'int', list(encoding_methods.keys()))
|
|
833
|
+
|
|
834
|
+
for index in encoding_methods_idx:
|
|
835
|
+
if index == 1:
|
|
836
|
+
# Setting indicator for OneHotEncoding
|
|
837
|
+
self.data['CategoricalEncodingParam']['OneHotEncodingIndicator'] = True
|
|
838
|
+
# Setting parameters for OneHotEncoding
|
|
839
|
+
one_hot_list = self._process_list_input(
|
|
840
|
+
input("\nEnter the feature or list of features for OneHotEncoding: "))
|
|
841
|
+
self.data['CategoricalEncodingParam']['OneHotEncodingList'] = one_hot_list
|
|
842
|
+
elif index == 2:
|
|
843
|
+
# Setting indicator for OrdinalEncoding
|
|
844
|
+
self.data['CategoricalEncodingParam']['OrdinalEncodingIndicator'] = True
|
|
845
|
+
# Setting parameters for OrdinalEncoding
|
|
846
|
+
ordinal_list = self._process_list_input(
|
|
847
|
+
input("\nEnter the feature or list of features for OrdinalEncoding: "))
|
|
848
|
+
self.data['CategoricalEncodingParam']['OrdinalEncodingList'] = ordinal_list
|
|
849
|
+
elif index == 3:
|
|
850
|
+
# Setting indicator for TargetEncoding
|
|
851
|
+
self.data['CategoricalEncodingParam']['TargetEncodingIndicator'] = True
|
|
852
|
+
target_end_list = self._process_list_input(input("\nEnter the feature or list of features for TargetEncoding: "))
|
|
853
|
+
# Setting parameters for TargetEncoding
|
|
854
|
+
self.data['CategoricalEncodingParam']['TargetEncodingList'] = {}
|
|
855
|
+
target_end_methods = {1: 'CBM_BETA',
|
|
856
|
+
2: 'CBM_DIRICHLET',
|
|
857
|
+
3: 'CBM_GAUSSIAN_INVERSE_GAMMA'}
|
|
858
|
+
print("\nAvailable target encoding methods with corresponding indices:")
|
|
859
|
+
for index, method in target_end_methods.items():
|
|
860
|
+
print(f"Index {index}: {method}")
|
|
861
|
+
|
|
862
|
+
# Setting parameters specific to each feature and corresponding method
|
|
863
|
+
for feature in target_end_list:
|
|
864
|
+
self.data['CategoricalEncodingParam']['TargetEncodingList'][feature] = {}
|
|
865
|
+
end_method_idx = self._process_single_input(
|
|
866
|
+
input(f"\nEnter the index of target encoding method for feature {feature}: "),
|
|
867
|
+
'int', list(target_end_methods.keys()))
|
|
868
|
+
# Setting target encoding method for each feature
|
|
869
|
+
self.data['CategoricalEncodingParam']['TargetEncodingList'][feature]["encoder_method"] = \
|
|
870
|
+
target_end_methods[end_method_idx]
|
|
871
|
+
|
|
872
|
+
# Setting response column for target encoding method
|
|
873
|
+
response_column = self._process_single_input(
|
|
874
|
+
input(f"\nEnter the response column for target encoding method for feature {feature}: "))
|
|
875
|
+
self.data['CategoricalEncodingParam']['TargetEncodingList'][feature]["response_column"] = \
|
|
876
|
+
response_column
|
|
877
|
+
|
|
878
|
+
# Getting specific parameter in case of CBM_DIRICHLET method
|
|
879
|
+
if end_method_idx == 2:
|
|
880
|
+
num_distinct_responses = self._process_single_input(
|
|
881
|
+
input(f"\nEnter the distinct count of response column "
|
|
882
|
+
f"for target encoding method for feature {feature}: "), 'int')
|
|
883
|
+
self.data['CategoricalEncodingParam']['TargetEncodingList'][feature]["num_distinct_responses"] = \
|
|
884
|
+
num_distinct_responses
|
|
885
|
+
|
|
886
|
+
self._set_generic_arguement(func_name='CategoricalEncodingParam')
|
|
887
|
+
print("\nCustomization of categorical encoding has been completed successfully.")
|
|
888
|
+
|
|
889
|
+
def _get_customize_input_mathematical_transformation(self,
|
|
890
|
+
first_execution_flag=False):
|
|
891
|
+
"""
|
|
892
|
+
DESCRIPTION:
|
|
893
|
+
Function takes user input to generate custom json paramaters for mathematical transformation.
|
|
894
|
+
|
|
895
|
+
PARAMETERS:
|
|
896
|
+
first_execution_flag:
|
|
897
|
+
Optional Argument.
|
|
898
|
+
Specifies the flag to check if the function is called for the first time.
|
|
899
|
+
Default Value: False
|
|
900
|
+
Types: bool
|
|
901
|
+
|
|
902
|
+
RETURNS:
|
|
903
|
+
None
|
|
904
|
+
|
|
905
|
+
RAISES:
|
|
906
|
+
None
|
|
907
|
+
|
|
908
|
+
EXAMPLES:
|
|
909
|
+
>>> self._get_customize_input_mathematical_transformation()
|
|
910
|
+
"""
|
|
911
|
+
if first_execution_flag:
|
|
912
|
+
print("\nWARNING : Reinitiated mathematical transformation customization. "
|
|
913
|
+
"Overwriting the previous input.")
|
|
914
|
+
|
|
915
|
+
print("\nCustomizing Mathematical Transformation ...")
|
|
916
|
+
# Setting indicator for mathematical transformation
|
|
917
|
+
self.data['MathameticalTransformationIndicator'] = True
|
|
918
|
+
print("\nProvide the following details to customize mathematical transformation:")
|
|
919
|
+
# Setting parameters for mathematical transformation
|
|
920
|
+
self.data['MathameticalTransformationParam'] = {}
|
|
921
|
+
mat_trans_methods = {1: 'sigmoid',
|
|
922
|
+
2: 'sininv',
|
|
923
|
+
3: 'log',
|
|
924
|
+
4: 'pow',
|
|
925
|
+
5: 'exp'}
|
|
926
|
+
print("\nAvailable mathematical transformation methods with corresponding indices:")
|
|
927
|
+
for index, method in mat_trans_methods.items():
|
|
928
|
+
print(f"Index {index}: {method}")
|
|
929
|
+
|
|
930
|
+
mat_trans_list = self._process_list_input(
|
|
931
|
+
input("\nEnter the feature or list of features for mathematical transformation: "))
|
|
932
|
+
if mat_trans_list:
|
|
933
|
+
for feature in mat_trans_list:
|
|
934
|
+
# Setting parameters for mathematical transformation specific to each feature
|
|
935
|
+
self.data['MathameticalTransformationParam'][feature] = {}
|
|
936
|
+
mat_trans_method_idx = self._process_single_input(
|
|
937
|
+
input(f"\nEnter the index of corresponding mathematical "
|
|
938
|
+
f"transformation method for feature {feature}: "),
|
|
939
|
+
'int', list(mat_trans_methods.keys()))
|
|
940
|
+
|
|
941
|
+
self.data['MathameticalTransformationParam'][feature]["apply_method"] = \
|
|
942
|
+
mat_trans_methods[mat_trans_method_idx]
|
|
943
|
+
# Setting required parameters specific to each mathematical transformation method
|
|
944
|
+
if mat_trans_method_idx == 1 :
|
|
945
|
+
sigmoid_style = self._process_single_input(
|
|
946
|
+
input(f"\nEnter the sigmoid style required for mathematical "
|
|
947
|
+
f"transformation for feature {feature}: "))
|
|
948
|
+
self.data['MathameticalTransformationParam'][feature]["sigmoid_style"] = \
|
|
949
|
+
sigmoid_style
|
|
950
|
+
|
|
951
|
+
if mat_trans_method_idx == 3:
|
|
952
|
+
base = self._process_single_input(
|
|
953
|
+
input(f"\nEnter the base value required for mathematical "
|
|
954
|
+
f"transformation for feature {feature}: "), 'int')
|
|
955
|
+
self.data['MathameticalTransformationParam'][feature]["base"] = base
|
|
956
|
+
|
|
957
|
+
if mat_trans_method_idx == 4:
|
|
958
|
+
exponent = self._process_single_input(
|
|
959
|
+
input(f"\nEnter the exponent value required for mathematical "
|
|
960
|
+
f"transformation for feature {feature}: "), 'int')
|
|
961
|
+
self.data['MathameticalTransformationParam'][feature]["exponent"] = exponent
|
|
962
|
+
|
|
963
|
+
self._set_generic_arguement(func_name='MathameticalTransformationParam')
|
|
964
|
+
print("\nCustomization of mathematical transformation has been completed successfully.")
|
|
965
|
+
|
|
966
|
+
def _get_customize_input_nonlinear_transformation(self,
|
|
967
|
+
first_execution_flag=False):
|
|
968
|
+
"""
|
|
969
|
+
DESCRIPTION:
|
|
970
|
+
Function takes user input to generate custom json paramaters for nonlinear transformation.
|
|
971
|
+
|
|
972
|
+
PARAMETERS:
|
|
973
|
+
first_execution_flag:
|
|
974
|
+
Optional Argument.
|
|
975
|
+
Specifies the flag to check if the function is called for the first time.
|
|
976
|
+
Default Value: False
|
|
977
|
+
Types: bool
|
|
978
|
+
|
|
979
|
+
RETURNS:
|
|
980
|
+
None
|
|
981
|
+
|
|
982
|
+
RAISES:
|
|
983
|
+
None
|
|
984
|
+
|
|
985
|
+
EXAMPLES:
|
|
986
|
+
>>> self._get_customize_input_nonlinear_transformation()
|
|
987
|
+
"""
|
|
988
|
+
if first_execution_flag:
|
|
989
|
+
print("\nWARNING : Reinitiated nonlinear transformation customization. "
|
|
990
|
+
"Overwriting the previous input.")
|
|
991
|
+
|
|
992
|
+
print("\nCustomizing Nonlinear Transformation ...")
|
|
993
|
+
# Setting indicator for nonlinear transformation
|
|
994
|
+
self.data['NonLinearTransformationIndicator'] = True
|
|
995
|
+
print("\nProvide the following details to customize nonlinear transformation:")
|
|
996
|
+
# Setting parameters for nonlinear transformation
|
|
997
|
+
self.data['NonLinearTransformationParam'] = {}
|
|
998
|
+
|
|
999
|
+
# Getting total number of non-linear combinations
|
|
1000
|
+
total_combinations = self._process_single_input(
|
|
1001
|
+
input("\nEnter number of non-linear combination you want to make: "), 'int')
|
|
1002
|
+
for num in range(1, total_combinations+1):
|
|
1003
|
+
print(f"\nProvide the details for non-linear combination {num}:")
|
|
1004
|
+
# Creating combination name and setting parameters for each combination
|
|
1005
|
+
combination = "Combination_"+str(num)
|
|
1006
|
+
self.data['NonLinearTransformationParam'][combination] = {}
|
|
1007
|
+
target_columns = self._process_list_input(
|
|
1008
|
+
input(f"\nEnter the list of target feature/s for non-linear combination {num}: "))
|
|
1009
|
+
self.data['NonLinearTransformationParam'][combination]["target_columns"] = target_columns
|
|
1010
|
+
|
|
1011
|
+
formula = self._process_single_input(
|
|
1012
|
+
input(f"\nEnter the formula for non-linear combination {num}: "))
|
|
1013
|
+
self.data['NonLinearTransformationParam'][combination]["formula"] = formula
|
|
1014
|
+
|
|
1015
|
+
result_column = self._process_single_input(
|
|
1016
|
+
input(f"\nEnter the resultant feature for non-linear combination {num}: "))
|
|
1017
|
+
self.data['NonLinearTransformationParam'][combination]["result_column"] = result_column
|
|
1018
|
+
|
|
1019
|
+
self._set_generic_arguement(func_name='NonLinearTransformationParam')
|
|
1020
|
+
print("\nCustomization of nonlinear transformation has been completed successfully.")
|
|
1021
|
+
|
|
1022
|
+
def _get_customize_input_antiselect(self,
|
|
1023
|
+
first_execution_flag=False):
|
|
1024
|
+
"""
|
|
1025
|
+
DESCRIPTION:
|
|
1026
|
+
Function takes user input to generate custom json paramaters for antiselect features.
|
|
1027
|
+
|
|
1028
|
+
PARAMETERS:
|
|
1029
|
+
first_execution_flag:
|
|
1030
|
+
Optional Argument.
|
|
1031
|
+
Specifies the flag to check if the function is called for the first time.
|
|
1032
|
+
Default Value: False
|
|
1033
|
+
Types: bool
|
|
1034
|
+
|
|
1035
|
+
RETURNS:
|
|
1036
|
+
None
|
|
1037
|
+
|
|
1038
|
+
RAISES:
|
|
1039
|
+
None
|
|
1040
|
+
|
|
1041
|
+
EXAMPLES:
|
|
1042
|
+
>>> self._get_customize_input_antiselect()
|
|
1043
|
+
"""
|
|
1044
|
+
if first_execution_flag:
|
|
1045
|
+
print("\nWARNING : Reinitiated nonlinear antiselect customization. "
|
|
1046
|
+
"Overwriting the previous input.")
|
|
1047
|
+
|
|
1048
|
+
print("\nCustomizing Antiselect Features ...")
|
|
1049
|
+
# Setting indicator and parameter for antiselect
|
|
1050
|
+
self.data['AntiselectIndicator'] = True
|
|
1051
|
+
self.data['AntiselectParam'] = {}
|
|
1052
|
+
self.data['AntiselectParam']['excluded_columns'] = self._process_list_input(
|
|
1053
|
+
input("\nEnter the feature or list of features for antiselect: "))
|
|
1054
|
+
|
|
1055
|
+
self._set_generic_arguement(func_name='AntiselectParam')
|
|
1056
|
+
print("\nCustomization of antiselect features has been completed successfully.")
|
|
1057
|
+
|
|
1058
|
+
def _get_customize_input_data_imbalance_handling(self,
|
|
1059
|
+
first_execution_flag):
|
|
1060
|
+
"""
|
|
1061
|
+
DESCRIPTION:
|
|
1062
|
+
Function takes user input to generate custom json paramaters for data imbalance handling.
|
|
1063
|
+
|
|
1064
|
+
PARAMETERS:
|
|
1065
|
+
first_execution_flag:
|
|
1066
|
+
Required Argument.
|
|
1067
|
+
Specifies the flag to check if the function is called for the first time.
|
|
1068
|
+
Types: bool
|
|
1069
|
+
|
|
1070
|
+
RETURNS:
|
|
1071
|
+
None
|
|
1072
|
+
|
|
1073
|
+
RAISES:
|
|
1074
|
+
None
|
|
1075
|
+
|
|
1076
|
+
EXAMPLES:
|
|
1077
|
+
>>> self._get_customize_input_data_imbalance_handling()
|
|
1078
|
+
"""
|
|
1079
|
+
if first_execution_flag:
|
|
1080
|
+
print("\nWARNING : Reinitiated data imbalance handling customization. "
|
|
1081
|
+
"Overwriting the previous input.")
|
|
1082
|
+
|
|
1083
|
+
print("\nCustomizing Data Imbalance Handling ...")
|
|
1084
|
+
# Setting indicator for data imbalance handling
|
|
1085
|
+
self.data['DataImbalanceIndicator'] = True
|
|
1086
|
+
sampling_methods = {1: 'SMOTE',
|
|
1087
|
+
2: 'NearMiss'}
|
|
1088
|
+
print("\nAvailable data sampling methods with corresponding indices:")
|
|
1089
|
+
for index, method in sampling_methods.items():
|
|
1090
|
+
print(f"Index {index}: {method}")
|
|
1091
|
+
|
|
1092
|
+
sampling_mthd_idx = self._process_single_input(
|
|
1093
|
+
input("\nEnter the corresponding index data imbalance handling method: "),
|
|
1094
|
+
'int', list(sampling_methods.keys()))
|
|
1095
|
+
# Setting parameters for data imbalance handling
|
|
1096
|
+
self.data['DataImbalanceMethod'] = sampling_methods[sampling_mthd_idx]
|
|
1097
|
+
|
|
1098
|
+
print("\nCustomization of data imbalance handling has been completed successfully.")
|
|
1099
|
+
|
|
1100
|
+
def _get_customize_input_outlier_handling(self,
|
|
1101
|
+
first_execution_flag=False):
|
|
1102
|
+
"""
|
|
1103
|
+
DESCRIPTION:
|
|
1104
|
+
Function takes user input to generate custom json paramaters for outlier handling.
|
|
1105
|
+
|
|
1106
|
+
PARAMETERS:
|
|
1107
|
+
first_execution_flag:
|
|
1108
|
+
Optional Argument.
|
|
1109
|
+
Specifies the flag to check if the function is called for the first time.
|
|
1110
|
+
Default Value: False
|
|
1111
|
+
Types: bool
|
|
1112
|
+
|
|
1113
|
+
RETURNS:
|
|
1114
|
+
None
|
|
1115
|
+
|
|
1116
|
+
RAISES:
|
|
1117
|
+
None
|
|
1118
|
+
|
|
1119
|
+
EXAMPLES:
|
|
1120
|
+
>>> self._get_customize_input_outlier_handling()
|
|
1121
|
+
"""
|
|
1122
|
+
if first_execution_flag:
|
|
1123
|
+
print("\nWARNING : Reinitiated outlier handling customization. "
|
|
1124
|
+
"Overwriting the previous input.")
|
|
1125
|
+
keys_to_remove = ['OutlierLowerPercentile', 'OutlierUpperPercentile', 'OutlierFilterMethod', 'OutlierFilterParam']
|
|
1126
|
+
for key in keys_to_remove:
|
|
1127
|
+
if key in self.data:
|
|
1128
|
+
del self.data[key]
|
|
1129
|
+
|
|
1130
|
+
|
|
1131
|
+
print("\nCustomizing Outlier Handling ...")
|
|
1132
|
+
|
|
1133
|
+
apply_outlier_options = {1: 'Yes', 2: 'No'}
|
|
1134
|
+
print("\nDo you want to apply outlier filtering?")
|
|
1135
|
+
for idx, val in apply_outlier_options.items():
|
|
1136
|
+
print(f"Index {idx}: {val}")
|
|
1137
|
+
|
|
1138
|
+
user_choice = self._process_single_input(
|
|
1139
|
+
input("\nEnter the index of your choice (1 for Yes, 2 for No): "),
|
|
1140
|
+
'int',
|
|
1141
|
+
list(apply_outlier_options.keys())
|
|
1142
|
+
)
|
|
1143
|
+
|
|
1144
|
+
if user_choice == 2:
|
|
1145
|
+
self.data['OutlierFilterIndicator'] = False
|
|
1146
|
+
print("\nSkipping outlier filtering as per user choice.")
|
|
1147
|
+
return
|
|
1148
|
+
|
|
1149
|
+
# Setting indicator for outlier handling
|
|
1150
|
+
self.data['OutlierFilterIndicator'] = True
|
|
1151
|
+
outlier_methods = {1: 'percentile',
|
|
1152
|
+
2: 'tukey',
|
|
1153
|
+
3: 'carling'}
|
|
1154
|
+
print("\nAvailable outlier detection methods with corresponding indices:")
|
|
1155
|
+
for index, method in outlier_methods.items():
|
|
1156
|
+
print(f"Index {index}: {method}")
|
|
1157
|
+
|
|
1158
|
+
# Setting parameters for outlier handling
|
|
1159
|
+
outlier_mthd_idx = self._process_single_input(
|
|
1160
|
+
input("\nEnter the corresponding index oulier handling method: "),
|
|
1161
|
+
'int', list(outlier_methods.keys()))
|
|
1162
|
+
|
|
1163
|
+
self.data['OutlierFilterMethod'] = outlier_methods[outlier_mthd_idx]
|
|
1164
|
+
# Setting parameters specific to method 'percentile'
|
|
1165
|
+
if outlier_mthd_idx == 1:
|
|
1166
|
+
self.data['OutlierLowerPercentile'] = self._process_single_input(
|
|
1167
|
+
input("\nEnter the lower percentile value for outlier handling: "), 'float')
|
|
1168
|
+
self.data['OutlierUpperPercentile'] = self._process_single_input(
|
|
1169
|
+
input("\nEnter the upper percentile value for outlier handling: "), 'float')
|
|
1170
|
+
|
|
1171
|
+
# Setting parameters for outlier filteration
|
|
1172
|
+
self.data['OutlierFilterParam'] = {}
|
|
1173
|
+
outlier_list = self._process_list_input(
|
|
1174
|
+
input("\nEnter the feature or list of features for outlier handling: "))
|
|
1175
|
+
|
|
1176
|
+
replacement_method = {
|
|
1177
|
+
1: 'delete',
|
|
1178
|
+
2: 'median',
|
|
1179
|
+
3: 'Any Numeric Value'
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
print("\nAvailable outlier replacement methods with corresponding indices:")
|
|
1183
|
+
for index, value in replacement_method.items():
|
|
1184
|
+
print(f"Index {index}: {value}")
|
|
1185
|
+
|
|
1186
|
+
# Setting parameters specific to each feature
|
|
1187
|
+
for feature in outlier_list:
|
|
1188
|
+
self.data['OutlierFilterParam'][feature] = {}
|
|
1189
|
+
replacement_method_idx = self._process_single_input(
|
|
1190
|
+
input(f"\nEnter the index of corresponding replacement method for feature {feature}: "),
|
|
1191
|
+
'int', list(replacement_method.keys()))
|
|
1192
|
+
|
|
1193
|
+
if replacement_method_idx != 3:
|
|
1194
|
+
# Setting replacement method specific to each feature
|
|
1195
|
+
self.data['OutlierFilterParam'][feature]["replacement_value"] = replacement_method[replacement_method_idx]
|
|
1196
|
+
else:
|
|
1197
|
+
replacement_value_types = {1: 'int',
|
|
1198
|
+
2: 'float'}
|
|
1199
|
+
print("\nAvailable outlier replacement value types with corresponding indices:")
|
|
1200
|
+
for index, value in replacement_value_types.items():
|
|
1201
|
+
print(f"Index {index}: {value}")
|
|
1202
|
+
|
|
1203
|
+
replacement_value = input(f"\nEnter the replacement value for handling outlier for feature {feature}: ")
|
|
1204
|
+
|
|
1205
|
+
value_type_idx = self._process_single_input(
|
|
1206
|
+
input(f"\nEnter the index of corresponding replacement value type for feature {feature}: "),
|
|
1207
|
+
'int', list(replacement_value_types.keys()))
|
|
1208
|
+
|
|
1209
|
+
# Setting replacement_value specific to each feature
|
|
1210
|
+
self.data['OutlierFilterParam'][feature]["replacement_value"] = \
|
|
1211
|
+
self._process_single_input(replacement_value, replacement_value_types[value_type_idx])
|
|
1212
|
+
|
|
1213
|
+
self._set_generic_arguement(func_name='OutlierFilterParam')
|
|
1214
|
+
print("\nCustomization of outlier handling has been completed successfully.")
|
|
1215
|
+
|
|
1216
|
+
def _get_customize_input_feature_scaling(self,
|
|
1217
|
+
first_execution_flag=False):
|
|
1218
|
+
"""
|
|
1219
|
+
DESCRIPTION:
|
|
1220
|
+
Function takes user input to generate custom json paramaters for feature scaling.
|
|
1221
|
+
|
|
1222
|
+
PARAMETERS:
|
|
1223
|
+
first_execution_flag:
|
|
1224
|
+
Optional Argument.
|
|
1225
|
+
Specifies the flag to check if the function is called for the first time.
|
|
1226
|
+
Default Value: False
|
|
1227
|
+
Types: bool
|
|
1228
|
+
|
|
1229
|
+
RETURNS:
|
|
1230
|
+
None
|
|
1231
|
+
|
|
1232
|
+
RAISES:
|
|
1233
|
+
None
|
|
1234
|
+
|
|
1235
|
+
EXAMPLES:
|
|
1236
|
+
>>> self._get_customize_input_feature_scaling()
|
|
1237
|
+
"""
|
|
1238
|
+
if first_execution_flag:
|
|
1239
|
+
print("\nWARNING : Reinitiated feature scaling customization. "
|
|
1240
|
+
"Overwriting the previous input.")
|
|
1241
|
+
|
|
1242
|
+
# Setting indicator for feature scaling
|
|
1243
|
+
self.data['FeatureScalingIndicator'] = True
|
|
1244
|
+
scaling_methods = {1: 'maxabs',
|
|
1245
|
+
2: 'mean',
|
|
1246
|
+
3: 'midrange',
|
|
1247
|
+
4: 'range',
|
|
1248
|
+
5: 'rescale',
|
|
1249
|
+
6: 'std',
|
|
1250
|
+
7: 'sum',
|
|
1251
|
+
8: 'ustd'}
|
|
1252
|
+
self.data['FeatureScalingParam'] = {}
|
|
1253
|
+
# Displaying available methods for scaling
|
|
1254
|
+
print("\nAvailable feature scaling methods with corresponding indices:")
|
|
1255
|
+
for index, value in scaling_methods.items():
|
|
1256
|
+
print(f"Index {index}: {value}")
|
|
1257
|
+
|
|
1258
|
+
# Setting parameters for feature scaling
|
|
1259
|
+
scaling_methods_idx = self._process_single_input(
|
|
1260
|
+
input("\nEnter the corresponding index feature scaling method: "),
|
|
1261
|
+
'int', list(scaling_methods.keys()))
|
|
1262
|
+
|
|
1263
|
+
# Handling for 'rescale' method
|
|
1264
|
+
if scaling_methods_idx != 5:
|
|
1265
|
+
self.data['FeatureScalingParam']['FeatureScalingMethod'] = scaling_methods[scaling_methods_idx]
|
|
1266
|
+
else:
|
|
1267
|
+
rescaling_params = {
|
|
1268
|
+
1: 'lower-bound',
|
|
1269
|
+
2: 'upper-bound'
|
|
1270
|
+
}
|
|
1271
|
+
# Displaying available params for rescaling
|
|
1272
|
+
print("\nAvailable parameters required for rescaling with corresponding indices :")
|
|
1273
|
+
for index, value in rescaling_params.items():
|
|
1274
|
+
print(f"Index {index}: {value}")
|
|
1275
|
+
|
|
1276
|
+
rescaling_params_type = {1: 'int',
|
|
1277
|
+
2: 'float'}
|
|
1278
|
+
# Displaying available params types for rescaling
|
|
1279
|
+
print("\nAvailable value types for rescaling params with corresponding indices:")
|
|
1280
|
+
for index, param_type in rescaling_params_type.items():
|
|
1281
|
+
print(f"Index {index}: {param_type}")
|
|
1282
|
+
scaling_param_idx_list = self._process_list_input(
|
|
1283
|
+
input("\nEnter the list of parameter indices for performing rescaling : "),
|
|
1284
|
+
'int', list(rescaling_params.keys()))
|
|
1285
|
+
# Setting parameters for lower bound and upper bound
|
|
1286
|
+
lb = 0
|
|
1287
|
+
ub = 0
|
|
1288
|
+
for param_idx in scaling_param_idx_list:
|
|
1289
|
+
# Taking required input for lower bound
|
|
1290
|
+
if param_idx == 1:
|
|
1291
|
+
lower_bound = input("\nEnter value for lower bound :")
|
|
1292
|
+
value_type_idx = self._process_single_input(
|
|
1293
|
+
input("\nEnter the index of corresponding value type of lower bound :"),
|
|
1294
|
+
'int', list(rescaling_params_type.keys()))
|
|
1295
|
+
lb = self._process_single_input(lower_bound, rescaling_params_type[value_type_idx])
|
|
1296
|
+
# Taking required input for upper bound
|
|
1297
|
+
elif param_idx == 2:
|
|
1298
|
+
upper_bound = input("\nEnter value for upper bound :")
|
|
1299
|
+
value_type_idx = self._process_single_input(
|
|
1300
|
+
input("\nEnter the index of corresponding value type of upper bound :"),
|
|
1301
|
+
'int', list(rescaling_params_type.keys()))
|
|
1302
|
+
ub = self._process_single_input(upper_bound, rescaling_params_type[value_type_idx])
|
|
1303
|
+
# Creating string structure of 'rescale' method as per user input
|
|
1304
|
+
if lb and ub:
|
|
1305
|
+
scale_method = f'rescale(lb={lb}, ub={ub})'
|
|
1306
|
+
elif lb:
|
|
1307
|
+
scale_method = f'rescale(lb={lb})'
|
|
1308
|
+
elif ub:
|
|
1309
|
+
scale_method = f'rescale(ub={ub})'
|
|
1310
|
+
# Setting parameters for feature scaling
|
|
1311
|
+
self.data['FeatureScalingParam']['FeatureScalingMethod'] = scale_method
|
|
1312
|
+
|
|
1313
|
+
self._set_generic_arguement(func_name='FeatureScalingParam')
|
|
1314
|
+
print("\nCustomization of feature scaling has been completed successfully.")
|
|
1315
|
+
|
|
1316
|
+
def _get_allowed_hyperparameters(self, model_name):
|
|
1317
|
+
"""
|
|
1318
|
+
DESCRIPTION:
|
|
1319
|
+
Function to get allowed hyperparameters for different models.
|
|
1320
|
+
|
|
1321
|
+
PARAMETERS:
|
|
1322
|
+
model_name:
|
|
1323
|
+
Required Argument.
|
|
1324
|
+
Specifies the model for which allowed hyperparameters are required.
|
|
1325
|
+
Types: str.
|
|
1326
|
+
|
|
1327
|
+
RETURNS:
|
|
1328
|
+
Allowed hyperparameters for model.
|
|
1329
|
+
|
|
1330
|
+
RAISES:
|
|
1331
|
+
KeyError
|
|
1332
|
+
|
|
1333
|
+
EXAMPLES:
|
|
1334
|
+
>>> hyperparameters = self._get_allowed_hyperparameters(model_name="xgboost")
|
|
1335
|
+
"""
|
|
1336
|
+
# Setting allowed common hyperparameters for tree like model
|
|
1337
|
+
if self.cluster:
|
|
1338
|
+
allowed_hyperparameters_kmeans ={
|
|
1339
|
+
1 : 'n_clusters',
|
|
1340
|
+
2 : 'init',
|
|
1341
|
+
3 : 'n_init',
|
|
1342
|
+
4 : 'max_iter',
|
|
1343
|
+
5 : 'tol',
|
|
1344
|
+
6 : 'algorithm'
|
|
1345
|
+
}
|
|
1346
|
+
allowed_hyperparameters_gaussian_mixture ={
|
|
1347
|
+
1 : 'n_components',
|
|
1348
|
+
2 : 'covariance_type',
|
|
1349
|
+
3 : 'max_iter',
|
|
1350
|
+
}
|
|
1351
|
+
allowed_hyperparameters = {
|
|
1352
|
+
'kmeans' : allowed_hyperparameters_kmeans,
|
|
1353
|
+
'gaussianmixture' : allowed_hyperparameters_gaussian_mixture,
|
|
1354
|
+
}
|
|
1355
|
+
else:
|
|
1356
|
+
allowed_common_hyperparameters_tree_model ={
|
|
1357
|
+
1 : 'min_impurity',
|
|
1358
|
+
2 : 'max_depth',
|
|
1359
|
+
3 : 'min_node_size',
|
|
1360
|
+
}
|
|
1361
|
+
# Setting allowed hyperparameters for xgbooost model
|
|
1362
|
+
allowed_hyperparameters_xgboost = {
|
|
1363
|
+
**allowed_common_hyperparameters_tree_model,
|
|
1364
|
+
4 : 'shrinkage_factor',
|
|
1365
|
+
5 : 'iter_num',
|
|
1366
|
+
6 : 'lambda1',
|
|
1367
|
+
7 : 'num_boosted_trees'
|
|
1368
|
+
}
|
|
1369
|
+
# Setting allowed hyperparameters for decision forest model
|
|
1370
|
+
allowed_hyperparameters_decision_forest = {
|
|
1371
|
+
**allowed_common_hyperparameters_tree_model,
|
|
1372
|
+
4 : 'num_trees'
|
|
1373
|
+
}
|
|
1374
|
+
# Setting allowed hyperparameters for knn model
|
|
1375
|
+
allowed_hyperparameters_knn = {
|
|
1376
|
+
0 : 'k'
|
|
1377
|
+
}
|
|
1378
|
+
# Setting allowed hyperparameters for svm model
|
|
1379
|
+
allowed_hyperparameters_svm = {
|
|
1380
|
+
1 : 'alpha',
|
|
1381
|
+
2 : 'learning_rate',
|
|
1382
|
+
3 : 'initial_eta',
|
|
1383
|
+
4 : 'momentum',
|
|
1384
|
+
5 : 'iter_num_no_change',
|
|
1385
|
+
6 : 'iter_max',
|
|
1386
|
+
7 : 'batch_size'
|
|
1387
|
+
}
|
|
1388
|
+
# Setting allowed hyperparameters for glm model
|
|
1389
|
+
allowed_hyperparameters_glm = {
|
|
1390
|
+
**allowed_hyperparameters_svm,
|
|
1391
|
+
8 : 'tolerance',
|
|
1392
|
+
9 : 'nesterov',
|
|
1393
|
+
10 : 'intercept',
|
|
1394
|
+
11 : 'local_sgd_iterations'
|
|
1395
|
+
}
|
|
1396
|
+
# Setting allowed hyperparameters for different models
|
|
1397
|
+
allowed_hyperparameters = {
|
|
1398
|
+
'xgboost' : allowed_hyperparameters_xgboost,
|
|
1399
|
+
'decision_forest' : allowed_hyperparameters_decision_forest,
|
|
1400
|
+
'knn' : allowed_hyperparameters_knn,
|
|
1401
|
+
'svm' : allowed_hyperparameters_svm,
|
|
1402
|
+
'glm' : allowed_hyperparameters_glm
|
|
1403
|
+
}
|
|
1404
|
+
return allowed_hyperparameters[model_name]
|
|
1405
|
+
|
|
1406
|
+
def _get_allowed_hyperparameters_types(self, hyperparameter):
|
|
1407
|
+
"""
|
|
1408
|
+
DESCRIPTION:
|
|
1409
|
+
Function to map allowed hyperparameter types for different hyperparameters.
|
|
1410
|
+
|
|
1411
|
+
PARAMETERS:
|
|
1412
|
+
hyperparameter:
|
|
1413
|
+
Required Argument.
|
|
1414
|
+
Specifies the hyperparamter for which allowed types are required.
|
|
1415
|
+
Types: str.
|
|
1416
|
+
|
|
1417
|
+
RETURNS:
|
|
1418
|
+
Allowed hyperparameters types for hyperparameter.
|
|
1419
|
+
|
|
1420
|
+
EXAMPLES:
|
|
1421
|
+
>>> hyperparameters_types = self._get_allowed_hyperparameters_types(hyperparameter="max_depth")
|
|
1422
|
+
"""
|
|
1423
|
+
# Setting allowed hyperparameters types for different hyperparameters
|
|
1424
|
+
if self.cluster:
|
|
1425
|
+
allowed_hyperparameters_types = {
|
|
1426
|
+
'n_clusters': 'int',
|
|
1427
|
+
'init': 'str',
|
|
1428
|
+
'n_init': 'int',
|
|
1429
|
+
'max_iter': 'int',
|
|
1430
|
+
'tol': 'float',
|
|
1431
|
+
'algorithm': 'str',
|
|
1432
|
+
'n_components': 'int',
|
|
1433
|
+
'covariance_type': 'str'
|
|
1434
|
+
}
|
|
1435
|
+
else:
|
|
1436
|
+
allowed_hyperparameters_types = {
|
|
1437
|
+
'min_impurity' : 'float',
|
|
1438
|
+
'max_depth' : 'int',
|
|
1439
|
+
'min_node_size' : 'int',
|
|
1440
|
+
'shrinkage_factor' : 'float',
|
|
1441
|
+
'iter_num' : 'int',
|
|
1442
|
+
'num_trees' : 'int',
|
|
1443
|
+
'k' : 'int',
|
|
1444
|
+
'alpha' : 'float',
|
|
1445
|
+
'learning_rate' : 'str',
|
|
1446
|
+
'initial_eta' : 'float',
|
|
1447
|
+
'momentum' : 'float',
|
|
1448
|
+
'iter_num_no_change' : 'int',
|
|
1449
|
+
'iter_max' : 'int',
|
|
1450
|
+
'batch_size' : 'int',
|
|
1451
|
+
'tolerance' : 'float',
|
|
1452
|
+
'nesterov' : 'bool',
|
|
1453
|
+
'intercept' : 'bool',
|
|
1454
|
+
'local_sgd_iterations' : 'int',
|
|
1455
|
+
'lambda1' : 'float',
|
|
1456
|
+
'num_boosted_trees' : 'int'
|
|
1457
|
+
}
|
|
1458
|
+
return allowed_hyperparameters_types[hyperparameter]
|
|
1459
|
+
|
|
1460
|
+
def _get_customize_input_model_hyperparameter(self,
|
|
1461
|
+
first_execution_flag):
|
|
1462
|
+
"""
|
|
1463
|
+
DESCRIPTION:
|
|
1464
|
+
Function takes user input to generate custom json paramaters for model hyperparameter.
|
|
1465
|
+
|
|
1466
|
+
PARAMETERS:
|
|
1467
|
+
first_execution_flag:
|
|
1468
|
+
Required Argument.
|
|
1469
|
+
Specifies the flag to check if the function is called for the first time.
|
|
1470
|
+
Types: bool.
|
|
1471
|
+
|
|
1472
|
+
RETURNS:
|
|
1473
|
+
None
|
|
1474
|
+
|
|
1475
|
+
RAISES:
|
|
1476
|
+
None
|
|
1477
|
+
|
|
1478
|
+
EXAMPLES:
|
|
1479
|
+
>>> self._get_customize_input_model_hyperparameter()
|
|
1480
|
+
"""
|
|
1481
|
+
if first_execution_flag:
|
|
1482
|
+
print("\nWARNING : Reinitiated model hyperparameter customization. "
|
|
1483
|
+
"Overwriting the previous input.")
|
|
1484
|
+
|
|
1485
|
+
print("\nCustomizing Model Hyperparameter ...")
|
|
1486
|
+
# Setting indicator for model hyperparameter tuning
|
|
1487
|
+
self.data['HyperparameterTuningIndicator'] = True
|
|
1488
|
+
self.data['HyperparameterTuningParam'] = {}
|
|
1489
|
+
if self.cluster:
|
|
1490
|
+
# Create numbered mapping for clustering models
|
|
1491
|
+
all_models = {i+1: model for i, model in enumerate(AutoMLConstants.CLUSTERING_MODELS.value)}
|
|
1492
|
+
else:
|
|
1493
|
+
# Create numbered mapping for supervised models
|
|
1494
|
+
all_models = {i+1: model for i, model in enumerate(AutoMLConstants.SUPERVISED_MODELS.value)}
|
|
1495
|
+
# Displaying available models for hyperparameter tuning
|
|
1496
|
+
print("\nAvailable models for hyperparameter tuning with corresponding indices:")
|
|
1497
|
+
for index, model in all_models.items():
|
|
1498
|
+
print(f"Index {index}: {model}")
|
|
1499
|
+
|
|
1500
|
+
update_methods = {1: 'ADD',
|
|
1501
|
+
2: 'REPLACE'}
|
|
1502
|
+
|
|
1503
|
+
# Getting list of models for hyperparameter tuning
|
|
1504
|
+
model_idx_list = self._process_list_input(
|
|
1505
|
+
input("\nEnter the list of model indices for performing hyperparameter tuning: "),
|
|
1506
|
+
'int', list(all_models.keys()))
|
|
1507
|
+
|
|
1508
|
+
for model_index in model_idx_list:
|
|
1509
|
+
# Setting parameters for hyperparameter tuning specific to each model
|
|
1510
|
+
model_name = all_models[model_index]
|
|
1511
|
+
self.data['HyperparameterTuningParam'][model_name] = {}
|
|
1512
|
+
|
|
1513
|
+
# Getting list of hyperparameters for each model
|
|
1514
|
+
allowed_hyperparameters = self._get_allowed_hyperparameters(model_name)
|
|
1515
|
+
print(f"\nAvailable hyperparameters for model '{model_name}' with corresponding indices:")
|
|
1516
|
+
for index, hyperparameter in allowed_hyperparameters.items():
|
|
1517
|
+
print(f"Index {index}: {hyperparameter}")
|
|
1518
|
+
|
|
1519
|
+
model_hyperparameter_list_idx = self._process_list_input(
|
|
1520
|
+
input(f"\nEnter the list of hyperparameter indices for model '{model_name}': "),
|
|
1521
|
+
'int', list(allowed_hyperparameters.keys()))
|
|
1522
|
+
|
|
1523
|
+
# Setting parameters for each hyperparameter of model
|
|
1524
|
+
for hyperparameter in model_hyperparameter_list_idx:
|
|
1525
|
+
hyperparameter_name = allowed_hyperparameters[hyperparameter]
|
|
1526
|
+
self.data['HyperparameterTuningParam'][model_name][hyperparameter_name] = {}
|
|
1527
|
+
|
|
1528
|
+
self._display_example_hyperparameter(hyperparameter_name)
|
|
1529
|
+
|
|
1530
|
+
hyperparameter_value = input(f"\nEnter the list of value for hyperparameter "
|
|
1531
|
+
f"'{hyperparameter_name}' for model '{model_name}': ")
|
|
1532
|
+
|
|
1533
|
+
hyperparameter_type = self._get_allowed_hyperparameters_types(hyperparameter_name)
|
|
1534
|
+
|
|
1535
|
+
# Setting hyperparameter value specific to each hyperparameter
|
|
1536
|
+
self.data['HyperparameterTuningParam'][model_name][hyperparameter_name]["Value"] = \
|
|
1537
|
+
self._process_list_input(hyperparameter_value, hyperparameter_type)
|
|
1538
|
+
|
|
1539
|
+
# Displaying available update methods for hyperparameter tuning
|
|
1540
|
+
print("\nAvailable hyperparamters update methods with corresponding indices:")
|
|
1541
|
+
for index, method in update_methods.items():
|
|
1542
|
+
print(f"Index {index}: {method}")
|
|
1543
|
+
|
|
1544
|
+
method_idx = self._process_single_input(
|
|
1545
|
+
input(f"\nEnter the index of corresponding update method for hyperparameters "
|
|
1546
|
+
f"'{hyperparameter_name}' for model '{model_name}': "), 'int', list(update_methods.keys()))
|
|
1547
|
+
|
|
1548
|
+
# Setting update method for hyperparameter
|
|
1549
|
+
self.data['HyperparameterTuningParam'][model_name][hyperparameter_name]["Method"] = \
|
|
1550
|
+
update_methods[method_idx]
|
|
1551
|
+
|
|
1552
|
+
print("\nCustomization of model hyperparameter has been completed successfully.")
|
|
1553
|
+
|
|
1554
|
+
def _display_example_hyperparameter(self, hyperparameter_name):
|
|
1555
|
+
"""
|
|
1556
|
+
DESCRIPTION:
|
|
1557
|
+
Function to display example hyperparameter values for different hyperparameters.
|
|
1558
|
+
|
|
1559
|
+
PARAMETERS:
|
|
1560
|
+
hyperparameter_name:
|
|
1561
|
+
Required Argument.
|
|
1562
|
+
Specifies the hyperparameter for which example values are required.
|
|
1563
|
+
Types: str
|
|
1564
|
+
|
|
1565
|
+
RETURNS:
|
|
1566
|
+
None
|
|
1567
|
+
|
|
1568
|
+
RAISES:
|
|
1569
|
+
None
|
|
1570
|
+
|
|
1571
|
+
EXAMPLES:
|
|
1572
|
+
>>> self._display_example_hyperparameter(hyperparameter_name="max_depth")
|
|
1573
|
+
"""
|
|
1574
|
+
# Setting example hyperparameter values for different hyperparameters
|
|
1575
|
+
if self.cluster:
|
|
1576
|
+
example_hyperparameters = {
|
|
1577
|
+
'n_clusters': ([2, 3, 4], 'int'),
|
|
1578
|
+
'init': (['k-means++', 'random'], 'str'),
|
|
1579
|
+
'n_init': ([5, 10, 20], 'int'),
|
|
1580
|
+
'max_iter': ([100, 300], 'int'),
|
|
1581
|
+
'tol': ([0.0001, 0.001, 0.01], 'float'),
|
|
1582
|
+
'algorithm': (['lloyd', 'elkan'], 'str'),
|
|
1583
|
+
'n_components': ([2, 3, 4], 'int'),
|
|
1584
|
+
'covariance_type': (['full', 'tied', 'diag', 'spherical'], 'str')
|
|
1585
|
+
}
|
|
1586
|
+
else:
|
|
1587
|
+
example_hyperparameters = {
|
|
1588
|
+
'min_impurity' : ([0.1,0.6], 'float'),
|
|
1589
|
+
'max_depth' : ([1,5,10], 'int'),
|
|
1590
|
+
'min_node_size' : ([1,20,100], 'int'),
|
|
1591
|
+
'num_trees' : ([10,50,100], 'int'),
|
|
1592
|
+
'k' : ([5,25,100], 'int'),
|
|
1593
|
+
'shrinkage_factor': ([0.1,0.5,1.0], 'float'),
|
|
1594
|
+
'alpha' : ([0.1,0.5,1.0], 'float'),
|
|
1595
|
+
'learning_rate' : (['constant','optimal','invtime','adaptive'], 'str'),
|
|
1596
|
+
'initial_eta' : ([0.05,0.1], 'float'),
|
|
1597
|
+
'momentum' : ([0.65,0.95], 'float'),
|
|
1598
|
+
'iter_num_no_change' : ([25,50,100], 'int'),
|
|
1599
|
+
'iter_max' : ([10,100,300], 'int'),
|
|
1600
|
+
'batch_size' : ([10,50,100], 'int'),
|
|
1601
|
+
'tolerance' : ([0.0001,0.01], 'float'),
|
|
1602
|
+
'nesterov' : (['true','false'], 'bool'),
|
|
1603
|
+
'intercept' : (['true','false'], 'bool'),
|
|
1604
|
+
'local_sgd_iterations' : ([10,25,50], 'int'),
|
|
1605
|
+
'iter_num' : ([10,50,100], 'int'),
|
|
1606
|
+
'lambda1' : ([0.1,1.0,10.0], 'float'),
|
|
1607
|
+
'num_boosted_trees' : ([5,20,50], 'int')
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
print(f"\nExample values for hyperparameter '{hyperparameter_name}' :")
|
|
1611
|
+
if hyperparameter_name in example_hyperparameters:
|
|
1612
|
+
values = example_hyperparameters[hyperparameter_name]
|
|
1613
|
+
|
|
1614
|
+
# Setting example values for hyperparameter
|
|
1615
|
+
if all(isinstance(x, str) for x in values[0]):
|
|
1616
|
+
example_value = ', '.join(f"'{s}'" for s in values[0])
|
|
1617
|
+
else:
|
|
1618
|
+
example_value = ', '.join(map(str, values[0]))
|
|
1619
|
+
|
|
1620
|
+
# Displaying example values for hyperparameter
|
|
1621
|
+
print(f"* Sample value : {example_value}")
|
|
1622
|
+
|
|
1623
|
+
# Displaying example type for hyperparameter
|
|
1624
|
+
print(f"* Type : {values[1]}")
|
|
1625
|
+
|