teradataml 17.20.0.6__py3-none-any.whl → 20.0.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of teradataml might be problematic. Click here for more details.
- teradataml/LICENSE-3RD-PARTY.pdf +0 -0
- teradataml/LICENSE.pdf +0 -0
- teradataml/README.md +238 -1
- teradataml/__init__.py +13 -3
- teradataml/_version.py +1 -1
- teradataml/analytics/Transformations.py +4 -4
- teradataml/analytics/__init__.py +0 -2
- teradataml/analytics/analytic_function_executor.py +3 -0
- teradataml/analytics/json_parser/utils.py +13 -12
- teradataml/analytics/sqle/DecisionTreePredict.py +15 -30
- teradataml/analytics/sqle/NaiveBayesPredict.py +11 -20
- teradataml/analytics/sqle/__init__.py +0 -13
- teradataml/analytics/utils.py +1 -0
- teradataml/analytics/valib.py +3 -0
- teradataml/automl/__init__.py +1628 -0
- teradataml/automl/custom_json_utils.py +1270 -0
- teradataml/automl/data_preparation.py +993 -0
- teradataml/automl/data_transformation.py +727 -0
- teradataml/automl/feature_engineering.py +1648 -0
- teradataml/automl/feature_exploration.py +547 -0
- teradataml/automl/model_evaluation.py +163 -0
- teradataml/automl/model_training.py +887 -0
- teradataml/catalog/__init__.py +0 -2
- teradataml/catalog/byom.py +49 -6
- teradataml/catalog/function_argument_mapper.py +0 -2
- teradataml/catalog/model_cataloging_utils.py +2 -1021
- teradataml/common/aed_utils.py +6 -2
- teradataml/common/constants.py +50 -58
- teradataml/common/deprecations.py +160 -0
- teradataml/common/garbagecollector.py +61 -104
- teradataml/common/messagecodes.py +27 -36
- teradataml/common/messages.py +11 -15
- teradataml/common/utils.py +205 -287
- teradataml/common/wrapper_utils.py +1 -110
- teradataml/context/context.py +150 -78
- teradataml/data/bank_churn.csv +10001 -0
- teradataml/data/bmi.csv +501 -0
- teradataml/data/docs/sqle/docs_17_10/BincodeFit.py +3 -3
- teradataml/data/docs/sqle/docs_17_10/BincodeTransform.py +6 -5
- teradataml/data/docs/sqle/docs_17_10/Fit.py +1 -1
- teradataml/data/docs/sqle/docs_17_10/OneHotEncodingTransform.py +1 -1
- teradataml/data/docs/sqle/docs_17_10/OutlierFilterTransform.py +1 -1
- teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesTransform.py +2 -2
- teradataml/data/docs/sqle/docs_17_10/RowNormalizeTransform.py +2 -1
- teradataml/data/docs/sqle/docs_17_10/ScaleTransform.py +1 -0
- teradataml/data/docs/sqle/docs_17_10/SimpleImputeTransform.py +1 -1
- teradataml/data/docs/sqle/docs_17_10/Transform.py +2 -1
- teradataml/data/docs/sqle/docs_17_20/BincodeFit.py +3 -3
- teradataml/data/docs/sqle/docs_17_20/BincodeTransform.py +6 -5
- teradataml/data/docs/sqle/docs_17_20/Fit.py +1 -1
- teradataml/data/docs/sqle/docs_17_20/GLM.py +1 -1
- teradataml/data/docs/sqle/docs_17_20/GLMPredictPerSegment.py +9 -10
- teradataml/data/docs/sqle/docs_17_20/KMeansPredict.py +3 -2
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierPredict.py +16 -15
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierTrainer.py +2 -2
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineFit.py +2 -2
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineTransform.py +8 -8
- teradataml/data/docs/sqle/docs_17_20/OneClassSVMPredict.py +21 -20
- teradataml/data/docs/sqle/docs_17_20/OneHotEncodingTransform.py +1 -1
- teradataml/data/docs/sqle/docs_17_20/OutlierFilterTransform.py +8 -3
- teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesTransform.py +6 -5
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionTransform.py +6 -6
- teradataml/data/docs/sqle/docs_17_20/RowNormalizeTransform.py +2 -1
- teradataml/data/docs/sqle/docs_17_20/SVM.py +1 -1
- teradataml/data/docs/sqle/docs_17_20/SVMPredict.py +16 -16
- teradataml/data/docs/sqle/docs_17_20/ScaleTransform.py +1 -0
- teradataml/data/docs/sqle/docs_17_20/SimpleImputeTransform.py +3 -2
- teradataml/data/docs/sqle/docs_17_20/TDDecisionForestPredict.py +4 -4
- teradataml/data/docs/sqle/docs_17_20/TDGLMPredict.py +19 -19
- teradataml/data/docs/sqle/docs_17_20/TargetEncodingTransform.py +5 -4
- teradataml/data/docs/sqle/docs_17_20/Transform.py +2 -2
- teradataml/data/docs/sqle/docs_17_20/XGBoostPredict.py +9 -9
- teradataml/data/fish.csv +160 -0
- teradataml/data/glass_types.csv +215 -0
- teradataml/data/insurance.csv +1 -1
- teradataml/data/iris_data.csv +151 -0
- teradataml/data/jsons/sqle/17.10/TD_FunctionTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_OutlierFilterTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_RowNormalizeTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_ScaleTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_SimpleImputeTransform.json +1 -0
- teradataml/data/load_example_data.py +3 -0
- teradataml/data/multi_model_classification.csv +401 -0
- teradataml/data/multi_model_regression.csv +401 -0
- teradataml/data/openml_example.json +63 -0
- teradataml/data/scripts/deploy_script.py +65 -0
- teradataml/data/scripts/mapper.R +20 -0
- teradataml/data/scripts/sklearn/__init__.py +0 -0
- teradataml/data/scripts/sklearn/sklearn_fit.py +175 -0
- teradataml/data/scripts/sklearn/sklearn_fit_predict.py +135 -0
- teradataml/data/scripts/sklearn/sklearn_function.template +113 -0
- teradataml/data/scripts/sklearn/sklearn_model_selection_split.py +158 -0
- teradataml/data/scripts/sklearn/sklearn_neighbors.py +152 -0
- teradataml/data/scripts/sklearn/sklearn_score.py +128 -0
- teradataml/data/scripts/sklearn/sklearn_transform.py +179 -0
- teradataml/data/templates/open_source_ml.json +9 -0
- teradataml/data/teradataml_example.json +73 -1
- teradataml/data/test_classification.csv +101 -0
- teradataml/data/test_prediction.csv +101 -0
- teradataml/data/test_regression.csv +101 -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/wine_data.csv +1600 -0
- teradataml/dataframe/copy_to.py +79 -13
- teradataml/dataframe/data_transfer.py +8 -0
- teradataml/dataframe/dataframe.py +910 -311
- teradataml/dataframe/dataframe_utils.py +102 -5
- teradataml/dataframe/fastload.py +11 -3
- teradataml/dataframe/setop.py +15 -2
- teradataml/dataframe/sql.py +3735 -77
- teradataml/dataframe/sql_function_parameters.py +56 -5
- teradataml/dataframe/vantage_function_types.py +45 -1
- teradataml/dataframe/window.py +30 -29
- teradataml/dbutils/dbutils.py +18 -1
- teradataml/geospatial/geodataframe.py +18 -7
- teradataml/geospatial/geodataframecolumn.py +5 -0
- teradataml/hyperparameter_tuner/optimizer.py +910 -120
- teradataml/hyperparameter_tuner/utils.py +131 -37
- teradataml/lib/aed_0_1.dll +0 -0
- teradataml/lib/libaed_0_1.dylib +0 -0
- teradataml/lib/libaed_0_1.so +0 -0
- teradataml/libaed_0_1.dylib +0 -0
- teradataml/libaed_0_1.so +0 -0
- teradataml/opensource/__init__.py +1 -0
- teradataml/opensource/sklearn/__init__.py +1 -0
- teradataml/opensource/sklearn/_class.py +255 -0
- teradataml/opensource/sklearn/_sklearn_wrapper.py +1668 -0
- teradataml/opensource/sklearn/_wrapper_utils.py +268 -0
- teradataml/opensource/sklearn/constants.py +54 -0
- teradataml/options/__init__.py +3 -6
- teradataml/options/configure.py +21 -20
- teradataml/scriptmgmt/UserEnv.py +61 -5
- teradataml/scriptmgmt/lls_utils.py +135 -53
- teradataml/table_operators/Apply.py +38 -6
- teradataml/table_operators/Script.py +45 -308
- teradataml/table_operators/TableOperator.py +182 -591
- teradataml/table_operators/__init__.py +0 -1
- teradataml/table_operators/table_operator_util.py +32 -40
- teradataml/utils/validators.py +127 -3
- {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/METADATA +243 -3
- {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/RECORD +147 -391
- teradataml/analytics/mle/AdaBoost.py +0 -651
- teradataml/analytics/mle/AdaBoostPredict.py +0 -564
- teradataml/analytics/mle/Antiselect.py +0 -342
- teradataml/analytics/mle/Arima.py +0 -641
- teradataml/analytics/mle/ArimaPredict.py +0 -477
- teradataml/analytics/mle/Attribution.py +0 -1070
- teradataml/analytics/mle/Betweenness.py +0 -658
- teradataml/analytics/mle/Burst.py +0 -711
- teradataml/analytics/mle/CCM.py +0 -600
- teradataml/analytics/mle/CCMPrepare.py +0 -324
- teradataml/analytics/mle/CFilter.py +0 -460
- teradataml/analytics/mle/ChangePointDetection.py +0 -572
- teradataml/analytics/mle/ChangePointDetectionRT.py +0 -477
- teradataml/analytics/mle/Closeness.py +0 -737
- teradataml/analytics/mle/ConfusionMatrix.py +0 -420
- teradataml/analytics/mle/Correlation.py +0 -477
- teradataml/analytics/mle/Correlation2.py +0 -573
- teradataml/analytics/mle/CoxHazardRatio.py +0 -679
- teradataml/analytics/mle/CoxPH.py +0 -556
- teradataml/analytics/mle/CoxSurvival.py +0 -478
- teradataml/analytics/mle/CumulativeMovAvg.py +0 -363
- teradataml/analytics/mle/DTW.py +0 -623
- teradataml/analytics/mle/DWT.py +0 -564
- teradataml/analytics/mle/DWT2D.py +0 -599
- teradataml/analytics/mle/DecisionForest.py +0 -716
- teradataml/analytics/mle/DecisionForestEvaluator.py +0 -363
- teradataml/analytics/mle/DecisionForestPredict.py +0 -561
- teradataml/analytics/mle/DecisionTree.py +0 -830
- teradataml/analytics/mle/DecisionTreePredict.py +0 -528
- teradataml/analytics/mle/ExponentialMovAvg.py +0 -418
- teradataml/analytics/mle/FMeasure.py +0 -402
- teradataml/analytics/mle/FPGrowth.py +0 -734
- teradataml/analytics/mle/FrequentPaths.py +0 -695
- teradataml/analytics/mle/GLM.py +0 -558
- teradataml/analytics/mle/GLML1L2.py +0 -547
- teradataml/analytics/mle/GLML1L2Predict.py +0 -519
- teradataml/analytics/mle/GLMPredict.py +0 -529
- teradataml/analytics/mle/HMMDecoder.py +0 -945
- teradataml/analytics/mle/HMMEvaluator.py +0 -901
- teradataml/analytics/mle/HMMSupervised.py +0 -521
- teradataml/analytics/mle/HMMUnsupervised.py +0 -572
- teradataml/analytics/mle/Histogram.py +0 -561
- teradataml/analytics/mle/IDWT.py +0 -476
- teradataml/analytics/mle/IDWT2D.py +0 -493
- teradataml/analytics/mle/IdentityMatch.py +0 -763
- teradataml/analytics/mle/Interpolator.py +0 -918
- teradataml/analytics/mle/KMeans.py +0 -485
- teradataml/analytics/mle/KNN.py +0 -627
- teradataml/analytics/mle/KNNRecommender.py +0 -488
- teradataml/analytics/mle/KNNRecommenderPredict.py +0 -581
- teradataml/analytics/mle/LAR.py +0 -439
- teradataml/analytics/mle/LARPredict.py +0 -478
- teradataml/analytics/mle/LDA.py +0 -548
- teradataml/analytics/mle/LDAInference.py +0 -492
- teradataml/analytics/mle/LDATopicSummary.py +0 -464
- teradataml/analytics/mle/LevenshteinDistance.py +0 -450
- teradataml/analytics/mle/LinReg.py +0 -433
- teradataml/analytics/mle/LinRegPredict.py +0 -438
- teradataml/analytics/mle/MinHash.py +0 -544
- teradataml/analytics/mle/Modularity.py +0 -587
- teradataml/analytics/mle/NEREvaluator.py +0 -410
- teradataml/analytics/mle/NERExtractor.py +0 -595
- teradataml/analytics/mle/NERTrainer.py +0 -458
- teradataml/analytics/mle/NGrams.py +0 -570
- teradataml/analytics/mle/NPath.py +0 -634
- teradataml/analytics/mle/NTree.py +0 -549
- teradataml/analytics/mle/NaiveBayes.py +0 -462
- teradataml/analytics/mle/NaiveBayesPredict.py +0 -513
- teradataml/analytics/mle/NaiveBayesTextClassifier.py +0 -607
- teradataml/analytics/mle/NaiveBayesTextClassifier2.py +0 -531
- teradataml/analytics/mle/NaiveBayesTextClassifierPredict.py +0 -799
- teradataml/analytics/mle/NamedEntityFinder.py +0 -529
- teradataml/analytics/mle/NamedEntityFinderEvaluator.py +0 -414
- teradataml/analytics/mle/NamedEntityFinderTrainer.py +0 -396
- teradataml/analytics/mle/POSTagger.py +0 -417
- teradataml/analytics/mle/Pack.py +0 -411
- teradataml/analytics/mle/PageRank.py +0 -535
- teradataml/analytics/mle/PathAnalyzer.py +0 -426
- teradataml/analytics/mle/PathGenerator.py +0 -367
- teradataml/analytics/mle/PathStart.py +0 -464
- teradataml/analytics/mle/PathSummarizer.py +0 -470
- teradataml/analytics/mle/Pivot.py +0 -471
- teradataml/analytics/mle/ROC.py +0 -425
- teradataml/analytics/mle/RandomSample.py +0 -637
- teradataml/analytics/mle/RandomWalkSample.py +0 -490
- teradataml/analytics/mle/SAX.py +0 -779
- teradataml/analytics/mle/SVMDense.py +0 -677
- teradataml/analytics/mle/SVMDensePredict.py +0 -536
- teradataml/analytics/mle/SVMDenseSummary.py +0 -437
- teradataml/analytics/mle/SVMSparse.py +0 -557
- teradataml/analytics/mle/SVMSparsePredict.py +0 -553
- teradataml/analytics/mle/SVMSparseSummary.py +0 -435
- teradataml/analytics/mle/Sampling.py +0 -549
- teradataml/analytics/mle/Scale.py +0 -565
- teradataml/analytics/mle/ScaleByPartition.py +0 -496
- teradataml/analytics/mle/ScaleMap.py +0 -378
- teradataml/analytics/mle/ScaleSummary.py +0 -320
- teradataml/analytics/mle/SentenceExtractor.py +0 -363
- teradataml/analytics/mle/SentimentEvaluator.py +0 -432
- teradataml/analytics/mle/SentimentExtractor.py +0 -578
- teradataml/analytics/mle/SentimentTrainer.py +0 -405
- teradataml/analytics/mle/SeriesSplitter.py +0 -641
- teradataml/analytics/mle/Sessionize.py +0 -475
- teradataml/analytics/mle/SimpleMovAvg.py +0 -397
- teradataml/analytics/mle/StringSimilarity.py +0 -425
- teradataml/analytics/mle/TF.py +0 -389
- teradataml/analytics/mle/TFIDF.py +0 -504
- teradataml/analytics/mle/TextChunker.py +0 -414
- teradataml/analytics/mle/TextClassifier.py +0 -399
- teradataml/analytics/mle/TextClassifierEvaluator.py +0 -413
- teradataml/analytics/mle/TextClassifierTrainer.py +0 -565
- teradataml/analytics/mle/TextMorph.py +0 -494
- teradataml/analytics/mle/TextParser.py +0 -623
- teradataml/analytics/mle/TextTagger.py +0 -530
- teradataml/analytics/mle/TextTokenizer.py +0 -502
- teradataml/analytics/mle/UnivariateStatistics.py +0 -488
- teradataml/analytics/mle/Unpack.py +0 -526
- teradataml/analytics/mle/Unpivot.py +0 -438
- teradataml/analytics/mle/VarMax.py +0 -776
- teradataml/analytics/mle/VectorDistance.py +0 -762
- teradataml/analytics/mle/WeightedMovAvg.py +0 -400
- teradataml/analytics/mle/XGBoost.py +0 -842
- teradataml/analytics/mle/XGBoostPredict.py +0 -627
- teradataml/analytics/mle/__init__.py +0 -123
- teradataml/analytics/mle/json/adaboost_mle.json +0 -135
- teradataml/analytics/mle/json/adaboostpredict_mle.json +0 -85
- teradataml/analytics/mle/json/antiselect_mle.json +0 -34
- teradataml/analytics/mle/json/antiselect_mle_mle.json +0 -34
- teradataml/analytics/mle/json/arima_mle.json +0 -172
- teradataml/analytics/mle/json/arimapredict_mle.json +0 -52
- teradataml/analytics/mle/json/attribution_mle_mle.json +0 -143
- teradataml/analytics/mle/json/betweenness_mle.json +0 -97
- teradataml/analytics/mle/json/burst_mle.json +0 -140
- teradataml/analytics/mle/json/ccm_mle.json +0 -124
- teradataml/analytics/mle/json/ccmprepare_mle.json +0 -14
- teradataml/analytics/mle/json/cfilter_mle.json +0 -93
- teradataml/analytics/mle/json/changepointdetection_mle.json +0 -92
- teradataml/analytics/mle/json/changepointdetectionrt_mle.json +0 -78
- teradataml/analytics/mle/json/closeness_mle.json +0 -104
- teradataml/analytics/mle/json/confusionmatrix_mle.json +0 -79
- teradataml/analytics/mle/json/correlation_mle.json +0 -86
- teradataml/analytics/mle/json/correlationreduce_mle.json +0 -49
- teradataml/analytics/mle/json/coxhazardratio_mle.json +0 -89
- teradataml/analytics/mle/json/coxph_mle.json +0 -98
- teradataml/analytics/mle/json/coxsurvival_mle.json +0 -79
- teradataml/analytics/mle/json/cumulativemovavg_mle.json +0 -34
- teradataml/analytics/mle/json/decisionforest_mle.json +0 -167
- teradataml/analytics/mle/json/decisionforestevaluator_mle.json +0 -33
- teradataml/analytics/mle/json/decisionforestpredict_mle_mle.json +0 -74
- teradataml/analytics/mle/json/decisiontree_mle.json +0 -194
- teradataml/analytics/mle/json/decisiontreepredict_mle_mle.json +0 -86
- teradataml/analytics/mle/json/dtw_mle.json +0 -97
- teradataml/analytics/mle/json/dwt2d_mle.json +0 -116
- teradataml/analytics/mle/json/dwt_mle.json +0 -101
- teradataml/analytics/mle/json/exponentialmovavg_mle.json +0 -55
- teradataml/analytics/mle/json/fmeasure_mle.json +0 -58
- teradataml/analytics/mle/json/fpgrowth_mle.json +0 -159
- teradataml/analytics/mle/json/frequentpaths_mle.json +0 -129
- teradataml/analytics/mle/json/glm_mle.json +0 -111
- teradataml/analytics/mle/json/glml1l2_mle.json +0 -106
- teradataml/analytics/mle/json/glml1l2predict_mle.json +0 -57
- teradataml/analytics/mle/json/glmpredict_mle_mle.json +0 -74
- teradataml/analytics/mle/json/histogram_mle.json +0 -100
- teradataml/analytics/mle/json/hmmdecoder_mle.json +0 -192
- teradataml/analytics/mle/json/hmmevaluator_mle.json +0 -206
- teradataml/analytics/mle/json/hmmsupervised_mle.json +0 -91
- teradataml/analytics/mle/json/hmmunsupervised_mle.json +0 -114
- teradataml/analytics/mle/json/identitymatch_mle.json +0 -88
- teradataml/analytics/mle/json/idwt2d_mle.json +0 -73
- teradataml/analytics/mle/json/idwt_mle.json +0 -66
- teradataml/analytics/mle/json/interpolator_mle.json +0 -151
- teradataml/analytics/mle/json/kmeans_mle.json +0 -97
- teradataml/analytics/mle/json/knn_mle.json +0 -141
- teradataml/analytics/mle/json/knnrecommender_mle.json +0 -111
- teradataml/analytics/mle/json/knnrecommenderpredict_mle.json +0 -75
- teradataml/analytics/mle/json/lar_mle.json +0 -78
- teradataml/analytics/mle/json/larpredict_mle.json +0 -69
- teradataml/analytics/mle/json/lda_mle.json +0 -130
- teradataml/analytics/mle/json/ldainference_mle.json +0 -78
- teradataml/analytics/mle/json/ldatopicsummary_mle.json +0 -64
- teradataml/analytics/mle/json/levenshteindistance_mle.json +0 -92
- teradataml/analytics/mle/json/linreg_mle.json +0 -42
- teradataml/analytics/mle/json/linregpredict_mle.json +0 -56
- teradataml/analytics/mle/json/minhash_mle.json +0 -113
- teradataml/analytics/mle/json/modularity_mle.json +0 -91
- teradataml/analytics/mle/json/naivebayespredict_mle_mle.json +0 -85
- teradataml/analytics/mle/json/naivebayesreduce_mle.json +0 -52
- teradataml/analytics/mle/json/naivebayestextclassifierpredict_mle_mle.json +0 -147
- teradataml/analytics/mle/json/naivebayestextclassifiertrainer2_mle.json +0 -108
- teradataml/analytics/mle/json/naivebayestextclassifiertrainer_mle.json +0 -102
- teradataml/analytics/mle/json/namedentityfinder_mle.json +0 -84
- teradataml/analytics/mle/json/namedentityfinderevaluatorreduce_mle.json +0 -43
- teradataml/analytics/mle/json/namedentityfindertrainer_mle.json +0 -64
- teradataml/analytics/mle/json/nerevaluator_mle.json +0 -54
- teradataml/analytics/mle/json/nerextractor_mle.json +0 -87
- teradataml/analytics/mle/json/nertrainer_mle.json +0 -89
- teradataml/analytics/mle/json/ngrams_mle.json +0 -137
- teradataml/analytics/mle/json/ngramsplitter_mle_mle.json +0 -137
- teradataml/analytics/mle/json/npath@coprocessor_mle.json +0 -73
- teradataml/analytics/mle/json/ntree@coprocessor_mle.json +0 -123
- teradataml/analytics/mle/json/pack_mle.json +0 -58
- teradataml/analytics/mle/json/pack_mle_mle.json +0 -58
- teradataml/analytics/mle/json/pagerank_mle.json +0 -81
- teradataml/analytics/mle/json/pathanalyzer_mle.json +0 -63
- teradataml/analytics/mle/json/pathgenerator_mle.json +0 -40
- teradataml/analytics/mle/json/pathstart_mle.json +0 -62
- teradataml/analytics/mle/json/pathsummarizer_mle.json +0 -72
- teradataml/analytics/mle/json/pivoting_mle.json +0 -71
- teradataml/analytics/mle/json/postagger_mle.json +0 -51
- teradataml/analytics/mle/json/randomsample_mle.json +0 -131
- teradataml/analytics/mle/json/randomwalksample_mle.json +0 -85
- teradataml/analytics/mle/json/roc_mle.json +0 -73
- teradataml/analytics/mle/json/sampling_mle.json +0 -75
- teradataml/analytics/mle/json/sax_mle.json +0 -154
- teradataml/analytics/mle/json/scale_mle.json +0 -93
- teradataml/analytics/mle/json/scalebypartition_mle.json +0 -89
- teradataml/analytics/mle/json/scalemap_mle.json +0 -44
- teradataml/analytics/mle/json/scalesummary_mle.json +0 -14
- teradataml/analytics/mle/json/sentenceextractor_mle.json +0 -41
- teradataml/analytics/mle/json/sentimentevaluator_mle.json +0 -43
- teradataml/analytics/mle/json/sentimentextractor_mle.json +0 -100
- teradataml/analytics/mle/json/sentimenttrainer_mle.json +0 -68
- teradataml/analytics/mle/json/seriessplitter_mle.json +0 -133
- teradataml/analytics/mle/json/sessionize_mle_mle.json +0 -62
- teradataml/analytics/mle/json/simplemovavg_mle.json +0 -48
- teradataml/analytics/mle/json/stringsimilarity_mle.json +0 -50
- teradataml/analytics/mle/json/stringsimilarity_mle_mle.json +0 -50
- teradataml/analytics/mle/json/svmdense_mle.json +0 -165
- teradataml/analytics/mle/json/svmdensepredict_mle.json +0 -95
- teradataml/analytics/mle/json/svmdensesummary_mle.json +0 -58
- teradataml/analytics/mle/json/svmsparse_mle.json +0 -148
- teradataml/analytics/mle/json/svmsparsepredict_mle_mle.json +0 -103
- teradataml/analytics/mle/json/svmsparsesummary_mle.json +0 -57
- teradataml/analytics/mle/json/textchunker_mle.json +0 -40
- teradataml/analytics/mle/json/textclassifier_mle.json +0 -51
- teradataml/analytics/mle/json/textclassifierevaluator_mle.json +0 -43
- teradataml/analytics/mle/json/textclassifiertrainer_mle.json +0 -103
- teradataml/analytics/mle/json/textmorph_mle.json +0 -63
- teradataml/analytics/mle/json/textparser_mle.json +0 -166
- teradataml/analytics/mle/json/texttagger_mle.json +0 -81
- teradataml/analytics/mle/json/texttokenizer_mle.json +0 -91
- teradataml/analytics/mle/json/tf_mle.json +0 -33
- teradataml/analytics/mle/json/tfidf_mle.json +0 -34
- teradataml/analytics/mle/json/univariatestatistics_mle.json +0 -81
- teradataml/analytics/mle/json/unpack_mle.json +0 -91
- teradataml/analytics/mle/json/unpack_mle_mle.json +0 -91
- teradataml/analytics/mle/json/unpivoting_mle.json +0 -63
- teradataml/analytics/mle/json/varmax_mle.json +0 -176
- teradataml/analytics/mle/json/vectordistance_mle.json +0 -179
- teradataml/analytics/mle/json/weightedmovavg_mle.json +0 -48
- teradataml/analytics/mle/json/xgboost_mle.json +0 -178
- teradataml/analytics/mle/json/xgboostpredict_mle.json +0 -104
- teradataml/analytics/sqle/Antiselect.py +0 -321
- teradataml/analytics/sqle/Attribution.py +0 -603
- teradataml/analytics/sqle/DecisionForestPredict.py +0 -408
- teradataml/analytics/sqle/GLMPredict.py +0 -430
- teradataml/analytics/sqle/MovingAverage.py +0 -543
- teradataml/analytics/sqle/NGramSplitter.py +0 -548
- teradataml/analytics/sqle/NPath.py +0 -632
- teradataml/analytics/sqle/NaiveBayesTextClassifierPredict.py +0 -515
- teradataml/analytics/sqle/Pack.py +0 -388
- teradataml/analytics/sqle/SVMSparsePredict.py +0 -464
- teradataml/analytics/sqle/Sessionize.py +0 -390
- teradataml/analytics/sqle/StringSimilarity.py +0 -400
- teradataml/analytics/sqle/Unpack.py +0 -503
- teradataml/analytics/sqle/json/antiselect_sqle.json +0 -21
- teradataml/analytics/sqle/json/attribution_sqle.json +0 -92
- teradataml/analytics/sqle/json/decisionforestpredict_sqle.json +0 -48
- teradataml/analytics/sqle/json/glmpredict_sqle.json +0 -48
- teradataml/analytics/sqle/json/h2opredict_sqle.json +0 -63
- teradataml/analytics/sqle/json/movingaverage_sqle.json +0 -58
- teradataml/analytics/sqle/json/naivebayestextclassifierpredict_sqle.json +0 -76
- teradataml/analytics/sqle/json/ngramsplitter_sqle.json +0 -126
- teradataml/analytics/sqle/json/npath_sqle.json +0 -67
- teradataml/analytics/sqle/json/pack_sqle.json +0 -47
- teradataml/analytics/sqle/json/pmmlpredict_sqle.json +0 -55
- teradataml/analytics/sqle/json/sessionize_sqle.json +0 -43
- teradataml/analytics/sqle/json/stringsimilarity_sqle.json +0 -39
- teradataml/analytics/sqle/json/svmsparsepredict_sqle.json +0 -74
- teradataml/analytics/sqle/json/unpack_sqle.json +0 -80
- teradataml/catalog/model_cataloging.py +0 -980
- teradataml/config/mlengine_alias_definitions_v1.0 +0 -118
- teradataml/config/mlengine_alias_definitions_v1.1 +0 -127
- teradataml/config/mlengine_alias_definitions_v1.3 +0 -129
- teradataml/table_operators/sandbox_container_util.py +0 -643
- {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/WHEEL +0 -0
- {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/top_level.txt +0 -0
- {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/zip-safe +0 -0
|
@@ -1,762 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/python
|
|
2
|
-
# ##################################################################
|
|
3
|
-
#
|
|
4
|
-
# Copyright 2018 Teradata. All rights reserved.
|
|
5
|
-
# TERADATA CONFIDENTIAL AND TRADE SECRET
|
|
6
|
-
#
|
|
7
|
-
# Primary Owner: Pankaj Purandare (pankajvinod.purandare@teradata.com)
|
|
8
|
-
# Secondary Owner: Rohit Agrawal (rohit.agrawal@teradata.com)
|
|
9
|
-
#
|
|
10
|
-
# Version: 1.2
|
|
11
|
-
# Function Version: 1.8
|
|
12
|
-
#
|
|
13
|
-
# ##################################################################
|
|
14
|
-
|
|
15
|
-
import inspect
|
|
16
|
-
import time
|
|
17
|
-
from teradataml.common.wrapper_utils import AnalyticsWrapperUtils
|
|
18
|
-
from teradataml.common.utils import UtilFuncs
|
|
19
|
-
from teradataml.context.context import *
|
|
20
|
-
from teradataml.dataframe.dataframe import DataFrame
|
|
21
|
-
from teradataml.common.aed_utils import AedUtils
|
|
22
|
-
from teradataml.analytics.analytic_query_generator import AnalyticQueryGenerator
|
|
23
|
-
from teradataml.common.exceptions import TeradataMlException
|
|
24
|
-
from teradataml.common.messages import Messages
|
|
25
|
-
from teradataml.common.messagecodes import MessageCodes
|
|
26
|
-
from teradataml.common.constants import TeradataConstants
|
|
27
|
-
from teradataml.options.configure import configure
|
|
28
|
-
from teradataml.dataframe.dataframe_utils import DataFrameUtils as df_utils
|
|
29
|
-
from teradataml.options.display import display
|
|
30
|
-
|
|
31
|
-
class VectorDistance:
|
|
32
|
-
|
|
33
|
-
def __init__(self,
|
|
34
|
-
target_data = None,
|
|
35
|
-
ref_data = None,
|
|
36
|
-
target_id = None,
|
|
37
|
-
target_feature = None,
|
|
38
|
-
target_value = None,
|
|
39
|
-
ref_id = None,
|
|
40
|
-
ref_feature = None,
|
|
41
|
-
ref_value = None,
|
|
42
|
-
reftable_size = "small",
|
|
43
|
-
distance_measure = "cosine",
|
|
44
|
-
ignore_mismatch = True,
|
|
45
|
-
replace_invalid = "positiveinfinity",
|
|
46
|
-
top_k = None,
|
|
47
|
-
max_distance = None,
|
|
48
|
-
target_data_sequence_column = None,
|
|
49
|
-
ref_data_sequence_column = None,
|
|
50
|
-
target_data_partition_column = "ANY",
|
|
51
|
-
target_data_order_column = None,
|
|
52
|
-
ref_data_order_column = None,
|
|
53
|
-
ref_columns = None,
|
|
54
|
-
output_format = "sparse",
|
|
55
|
-
input_data_same = False,
|
|
56
|
-
target_columns = None):
|
|
57
|
-
"""
|
|
58
|
-
DESCRIPTION:
|
|
59
|
-
The VectorDistance function takes a teradataml DataFrame of target
|
|
60
|
-
vectors and a teradataml DataFrame of reference vectors and returns a
|
|
61
|
-
teradataml DataFrame that contains the distance between each
|
|
62
|
-
target-reference pair.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
PARAMETERS:
|
|
66
|
-
target_data:
|
|
67
|
-
Required Argument.
|
|
68
|
-
Specifies a teradataml DataFrame that contains target vectors.
|
|
69
|
-
|
|
70
|
-
target_data_partition_column:
|
|
71
|
-
Required Argument. Optional when teradataml is connected to
|
|
72
|
-
Vantage 1.3 version.
|
|
73
|
-
Specifies Partition By columns for target_data.
|
|
74
|
-
Values to this argument can be provided as list, if multiple columns
|
|
75
|
-
are used for partition.
|
|
76
|
-
Note:
|
|
77
|
-
1. If teradataml is not connected to Vantage 1.3 then user must use
|
|
78
|
-
this argument by passing column name(s) only, passing "ANY" is
|
|
79
|
-
not supported.
|
|
80
|
-
2. If teradataml is connected to Vantage 1.3 and target_data
|
|
81
|
-
teradataml DataFrame is in sparse-format then user must use
|
|
82
|
-
this argument by passing column name(s).
|
|
83
|
-
3. If teradataml is connected to Vantage 1.3 and target_data
|
|
84
|
-
teradataml DataFrame is in dense-format then user must
|
|
85
|
-
specify "ANY" to this argument.
|
|
86
|
-
Default Value: ANY (If teradataml is connected to Vantage 1.3)
|
|
87
|
-
Types: str OR list of Strings (str)
|
|
88
|
-
|
|
89
|
-
target_data_order_column:
|
|
90
|
-
Optional Argument.
|
|
91
|
-
Specifies Order By columns for target_data.
|
|
92
|
-
Values to this argument can be provided as a list, if multiple
|
|
93
|
-
columns are used for ordering.
|
|
94
|
-
Types: str OR list of Strings (str)
|
|
95
|
-
|
|
96
|
-
ref_data:
|
|
97
|
-
Required Argument.
|
|
98
|
-
Specifies a teradataml DataFrame that contains reference vectors.
|
|
99
|
-
|
|
100
|
-
ref_data_order_column:
|
|
101
|
-
Optional Argument.
|
|
102
|
-
Specifies Order By columns for ref_data.
|
|
103
|
-
Values to this argument can be provided as a list, if multiple
|
|
104
|
-
columns are used for ordering.
|
|
105
|
-
Types: str OR list of Strings (str)
|
|
106
|
-
|
|
107
|
-
target_id:
|
|
108
|
-
Required Argument.
|
|
109
|
-
Specifies the names of the columns that comprise the target vector
|
|
110
|
-
identifier. You must partition the target input teradataml DataFrame
|
|
111
|
-
by these columns and specify them with this argument.
|
|
112
|
-
Types: str OR list of Strings (str)
|
|
113
|
-
|
|
114
|
-
target_feature:
|
|
115
|
-
Required Argument. Optional when teradataml is connected to
|
|
116
|
-
Vantage 1.3 version.
|
|
117
|
-
Specifies the name of the column that contains the target vector
|
|
118
|
-
feature name (for example, the axis of a 3-D vector).
|
|
119
|
-
Note: An entry with a NULL value in a feature_column is dropped.
|
|
120
|
-
Types: str
|
|
121
|
-
|
|
122
|
-
target_value:
|
|
123
|
-
Optional Argument.
|
|
124
|
-
Specifies the name of the column that contains the value for the
|
|
125
|
-
target vector feature. The default value is 1.
|
|
126
|
-
Note: An entry with a NULL value in a value_column is dropped.
|
|
127
|
-
Types: str
|
|
128
|
-
|
|
129
|
-
ref_id:
|
|
130
|
-
Optional Argument.
|
|
131
|
-
Specifies the names of the columns that comprise the reference vector
|
|
132
|
-
identifier. The default value is the target_id argument value.
|
|
133
|
-
Types: str OR list of Strings (str)
|
|
134
|
-
|
|
135
|
-
ref_feature:
|
|
136
|
-
Optional Argument.
|
|
137
|
-
Specifies the name of the column that contains the reference vector
|
|
138
|
-
feature name. The default value is the target_feature argument value.
|
|
139
|
-
Types: str
|
|
140
|
-
|
|
141
|
-
ref_value:
|
|
142
|
-
Optional Argument.
|
|
143
|
-
Specifies the name of the column that contains the value for the
|
|
144
|
-
reference vector feature. The default value is the target_value
|
|
145
|
-
argument value.
|
|
146
|
-
Note: An entry with a NULL value in a value_column is dropped.
|
|
147
|
-
Types: str
|
|
148
|
-
|
|
149
|
-
reftable_size:
|
|
150
|
-
Optional Argument.
|
|
151
|
-
Specifies the size of the reference table. Specify "LARGE" only if
|
|
152
|
-
the reference teradataml DataFrame does not fit in memory.
|
|
153
|
-
Default Value: "small"
|
|
154
|
-
Permitted Values: small, large
|
|
155
|
-
Types: str
|
|
156
|
-
|
|
157
|
-
distance_measure:
|
|
158
|
-
Optional Argument.
|
|
159
|
-
Specifies the distance measures that the function uses.
|
|
160
|
-
Default Value: "cosine"
|
|
161
|
-
Permitted Values: COSINE, EUCLIDEAN, MANHATTAN, BINARY
|
|
162
|
-
Types: str OR list of Strings (str)
|
|
163
|
-
|
|
164
|
-
ignore_mismatch:
|
|
165
|
-
Optional Argument.
|
|
166
|
-
Specifies whether to drop mismatched dimensions. If distance_measure
|
|
167
|
-
is "cosine", then this argument is "False". If you specify "True",
|
|
168
|
-
then two vectors with no common features become two empty vectors
|
|
169
|
-
when only their common features are considered, and the function
|
|
170
|
-
cannot measure the distance between them.
|
|
171
|
-
Default Value: True
|
|
172
|
-
Types: bool
|
|
173
|
-
|
|
174
|
-
replace_invalid:
|
|
175
|
-
Optional Argument.
|
|
176
|
-
Specifies the value to return when the function encounters an
|
|
177
|
-
infinite value or empty vectors. For custom, you can supply any float
|
|
178
|
-
value.
|
|
179
|
-
Default Value: "positiveinfinity"
|
|
180
|
-
Types: str
|
|
181
|
-
|
|
182
|
-
top_k:
|
|
183
|
-
Optional Argument.
|
|
184
|
-
Specifies, for each target vector and for each measure, the maximum
|
|
185
|
-
number of closest reference vectors to include in the output table.
|
|
186
|
-
For k, you can supply any integer value.
|
|
187
|
-
Types: int
|
|
188
|
-
|
|
189
|
-
max_distance:
|
|
190
|
-
Optional Argument.
|
|
191
|
-
Specifies the maximum distance between a pair of target and reference
|
|
192
|
-
vectors. If the distance exceeds the threshold, the pair does not
|
|
193
|
-
appear in the output table. If the distance_measure argument
|
|
194
|
-
specifies multiple measures, then the max_distance argument must
|
|
195
|
-
specify a threshold for each measure. The ith threshold corresponds
|
|
196
|
-
to the ith measure. Each threshold can be any float value. If you
|
|
197
|
-
omit this argument, then the function returns all results.
|
|
198
|
-
Types: float OR list of Floats (float)
|
|
199
|
-
|
|
200
|
-
target_data_sequence_column:
|
|
201
|
-
Optional Argument.
|
|
202
|
-
Specifies the list of column(s) that uniquely identifies each row of
|
|
203
|
-
the input argument "target_data". The argument is used to ensure
|
|
204
|
-
deterministic results for functions which produce results that vary
|
|
205
|
-
from run to run.
|
|
206
|
-
Types: str OR list of Strings (str)
|
|
207
|
-
|
|
208
|
-
ref_data_sequence_column:
|
|
209
|
-
Optional Argument.
|
|
210
|
-
Specifies the list of column(s) that uniquely identifies each row of
|
|
211
|
-
the input argument "ref_data". The argument is used to ensure
|
|
212
|
-
deterministic results for functions which produce results that vary
|
|
213
|
-
from run to run.
|
|
214
|
-
Types: str OR list of Strings (str)
|
|
215
|
-
|
|
216
|
-
ref_columns:
|
|
217
|
-
Optional Argument.
|
|
218
|
-
Specifies the columns that contains the value for the ref vector
|
|
219
|
-
features.
|
|
220
|
-
For Example:
|
|
221
|
-
The names of the three axes of a 3-D vector.
|
|
222
|
-
Note:
|
|
223
|
-
1. "ref_columns" argument support is only available when teradataml
|
|
224
|
-
is connected to Vantage 1.3 version.
|
|
225
|
-
2. If "target_data" teradataml DataFrame is in dense-format input,
|
|
226
|
-
"target_columns" and "ref_columns" must specify the same columns;
|
|
227
|
-
otherwise results are invalid.
|
|
228
|
-
Types: str OR list of Strings (str)
|
|
229
|
-
|
|
230
|
-
output_format:
|
|
231
|
-
Optional Argument.
|
|
232
|
-
Specifies the format of the output teradataml DataFrame.
|
|
233
|
-
For large data sets, Teradata recommends input in dense format,
|
|
234
|
-
for which computing distances is faster.
|
|
235
|
-
Note:
|
|
236
|
-
"output_format" argument support is only available when teradataml
|
|
237
|
-
is connected to Vantage 1.3 version.
|
|
238
|
-
Default Value: "sparse"
|
|
239
|
-
Permitted Values: sparse, dense
|
|
240
|
-
Types: str
|
|
241
|
-
|
|
242
|
-
input_data_same:
|
|
243
|
-
Optional with "top_k" Argument, disallowed otherwise.
|
|
244
|
-
Specifies whether target_data and ref_data teradataml DataFrame
|
|
245
|
-
are same. Specify 'True' to increase speed of computing distances
|
|
246
|
-
when both the DataFrames are same..
|
|
247
|
-
Note:
|
|
248
|
-
"input_data_same" argument support is only available when teradataml
|
|
249
|
-
is connected to Vantage 1.3 version.
|
|
250
|
-
Default Value: False
|
|
251
|
-
Types: bool
|
|
252
|
-
|
|
253
|
-
target_columns:
|
|
254
|
-
Optional Argument.
|
|
255
|
-
Specifies the columns that contains the value for the target vector
|
|
256
|
-
features.
|
|
257
|
-
For Example:
|
|
258
|
-
The names of the three axes of a 3-D vector.
|
|
259
|
-
Note:
|
|
260
|
-
"target_columns" argument support is only available when teradataml
|
|
261
|
-
is connected to Vantage 1.3 version.
|
|
262
|
-
Types: str OR list of Strings (str)
|
|
263
|
-
|
|
264
|
-
RETURNS:
|
|
265
|
-
Instance of VectorDistance.
|
|
266
|
-
Output teradataml DataFrames can be accessed using attribute
|
|
267
|
-
references, such as VectorDistanceObj.<attribute_name>.
|
|
268
|
-
Output teradataml DataFrame attribute name is:
|
|
269
|
-
result
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
RAISES:
|
|
273
|
-
TeradataMlException, TypeError, ValueError
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
EXAMPLES:
|
|
277
|
-
# Load example data.
|
|
278
|
-
load_example_data("vectordistance", ["target_mobile_data", "ref_mobile_data",
|
|
279
|
-
"target_mobile_data_dense", "ref_mobile_data_dense"])
|
|
280
|
-
|
|
281
|
-
# Create teradataml DataFrame objects.
|
|
282
|
-
target_mobile_data = DataFrame.from_table("target_mobile_data")
|
|
283
|
-
ref_mobile_data = DataFrame.from_table("ref_mobile_data")
|
|
284
|
-
target_mobile_data_dense = DataFrame.from_table("target_mobile_data_dense")
|
|
285
|
-
ref_mobile_data_dense = DataFrame.from_table("ref_mobile_data_dense")
|
|
286
|
-
|
|
287
|
-
# Example 1 - Using the default ("cosine") distance measure with no threshold.
|
|
288
|
-
VectorDistance_out1 = VectorDistance(target_data = target_mobile_data,
|
|
289
|
-
target_data_partition_column = ["userid"],
|
|
290
|
-
ref_data = ref_mobile_data,
|
|
291
|
-
target_id = ["userid"],
|
|
292
|
-
target_feature = "feature",
|
|
293
|
-
target_value = "value1"
|
|
294
|
-
)
|
|
295
|
-
# Print the output data.
|
|
296
|
-
print(VectorDistance_out1)
|
|
297
|
-
|
|
298
|
-
# Example 2 - Using three distance measures with corresponding thresholds (max.distance).
|
|
299
|
-
VectorDistance_out2 = VectorDistance(target_data = target_mobile_data,
|
|
300
|
-
target_data_partition_column = ["userid"],
|
|
301
|
-
ref_data = ref_mobile_data,
|
|
302
|
-
target_id = ["userid"],
|
|
303
|
-
target_feature = "feature",
|
|
304
|
-
target_value = "value1",
|
|
305
|
-
distance_measure = ["Cosine","Euclidean","Manhattan"],
|
|
306
|
-
max_distance = [0.03,0.8,1.0]
|
|
307
|
-
)
|
|
308
|
-
# Print the output data.
|
|
309
|
-
print(VectorDistance_out2)
|
|
310
|
-
|
|
311
|
-
# Example 3 - target_data DataFrame is in 'dense' format with no threshold.
|
|
312
|
-
# Note:
|
|
313
|
-
# This Example will work only when teradataml is connected
|
|
314
|
-
# to Vantage 1.3 or later.
|
|
315
|
-
VectorDistance_out3 = VectorDistance(target_data = target_mobile_data_dense,
|
|
316
|
-
target_data_partition_column = "ANY",
|
|
317
|
-
ref_data = ref_mobile_data_dense,
|
|
318
|
-
target_id = ["userid"],
|
|
319
|
-
target_columns=["CallDuration", "DataCounter", "SMS"],
|
|
320
|
-
distance_measure = "Euclidean"
|
|
321
|
-
)
|
|
322
|
-
# Print the output data.
|
|
323
|
-
print(VectorDistance_out3)
|
|
324
|
-
|
|
325
|
-
# Example 4 - Using the same "target_data" and "ref_data" teradata DataFrame same
|
|
326
|
-
# with "input_data_same" set to 'True'.
|
|
327
|
-
# Note:
|
|
328
|
-
# This Example will work only when teradataml is connected
|
|
329
|
-
# to Vantage 1.3 or later.
|
|
330
|
-
VectorDistance_out4 = VectorDistance(target_data = target_mobile_data,
|
|
331
|
-
target_data_partition_column = ["userid"],
|
|
332
|
-
ref_data = target_mobile_data,
|
|
333
|
-
target_id = ["userid"],
|
|
334
|
-
target_feature = "feature",
|
|
335
|
-
target_value = "value1",
|
|
336
|
-
distance_measure = "Euclidean",
|
|
337
|
-
input_data_same = True
|
|
338
|
-
)
|
|
339
|
-
# Print the output data.
|
|
340
|
-
print(VectorDistance_out4)
|
|
341
|
-
|
|
342
|
-
"""
|
|
343
|
-
|
|
344
|
-
# Start the timer to get the build time
|
|
345
|
-
_start_time = time.time()
|
|
346
|
-
|
|
347
|
-
self.target_data = target_data
|
|
348
|
-
self.ref_data = ref_data
|
|
349
|
-
self.target_id = target_id
|
|
350
|
-
self.target_feature = target_feature
|
|
351
|
-
self.target_value = target_value
|
|
352
|
-
self.ref_id = ref_id
|
|
353
|
-
self.ref_feature = ref_feature
|
|
354
|
-
self.ref_value = ref_value
|
|
355
|
-
self.reftable_size = reftable_size
|
|
356
|
-
self.distance_measure = distance_measure
|
|
357
|
-
self.ignore_mismatch = ignore_mismatch
|
|
358
|
-
self.replace_invalid = replace_invalid
|
|
359
|
-
self.top_k = top_k
|
|
360
|
-
self.max_distance = max_distance
|
|
361
|
-
self.ref_columns = ref_columns
|
|
362
|
-
self.output_format = output_format
|
|
363
|
-
self.input_data_same = input_data_same
|
|
364
|
-
self.target_columns = target_columns
|
|
365
|
-
self.target_data_sequence_column = target_data_sequence_column
|
|
366
|
-
self.ref_data_sequence_column = ref_data_sequence_column
|
|
367
|
-
self.target_data_partition_column = target_data_partition_column
|
|
368
|
-
if configure._vantage_version != "vantage1.3" and target_data_partition_column == "ANY":
|
|
369
|
-
self.target_data_partition_column = None
|
|
370
|
-
self.target_data_order_column = target_data_order_column
|
|
371
|
-
self.ref_data_order_column = ref_data_order_column
|
|
372
|
-
|
|
373
|
-
# Create TeradataPyWrapperUtils instance which contains validation functions.
|
|
374
|
-
self.__awu = AnalyticsWrapperUtils()
|
|
375
|
-
self.__aed_utils = AedUtils()
|
|
376
|
-
|
|
377
|
-
# Create argument information matrix to do parameter checking
|
|
378
|
-
self.__arg_info_matrix = []
|
|
379
|
-
self.__arg_info_matrix.append(["target_data", self.target_data, False, (DataFrame)])
|
|
380
|
-
self.__arg_info_matrix.append(["target_data_partition_column", self.target_data_partition_column, configure._vantage_version == "vantage1.3", (str,list)])
|
|
381
|
-
self.__arg_info_matrix.append(["target_data_order_column", self.target_data_order_column, True, (str,list)])
|
|
382
|
-
self.__arg_info_matrix.append(["ref_data", self.ref_data, False, (DataFrame)])
|
|
383
|
-
self.__arg_info_matrix.append(["ref_data_order_column", self.ref_data_order_column, True, (str,list)])
|
|
384
|
-
self.__arg_info_matrix.append(["target_id", self.target_id, False, (str,list)])
|
|
385
|
-
self.__arg_info_matrix.append(["target_feature", self.target_feature, configure._vantage_version == "vantage1.3", (str)])
|
|
386
|
-
self.__arg_info_matrix.append(["target_value", self.target_value, True, (str)])
|
|
387
|
-
self.__arg_info_matrix.append(["ref_id", self.ref_id, True, (str,list)])
|
|
388
|
-
self.__arg_info_matrix.append(["ref_feature", self.ref_feature, True, (str)])
|
|
389
|
-
self.__arg_info_matrix.append(["ref_value", self.ref_value, True, (str)])
|
|
390
|
-
self.__arg_info_matrix.append(["reftable_size", self.reftable_size, True, (str)])
|
|
391
|
-
self.__arg_info_matrix.append(["distance_measure", self.distance_measure, True, (str,list)])
|
|
392
|
-
self.__arg_info_matrix.append(["ignore_mismatch", self.ignore_mismatch, True, (bool)])
|
|
393
|
-
self.__arg_info_matrix.append(["replace_invalid", self.replace_invalid, True, (str)])
|
|
394
|
-
self.__arg_info_matrix.append(["top_k", self.top_k, True, (int)])
|
|
395
|
-
self.__arg_info_matrix.append(["max_distance", self.max_distance, True, (float,list)])
|
|
396
|
-
self.__arg_info_matrix.append(["ref_columns", self.ref_columns, True, (str,list)])
|
|
397
|
-
self.__arg_info_matrix.append(["output_format", self.output_format, True, (str)])
|
|
398
|
-
self.__arg_info_matrix.append(["input_data_same", self.input_data_same, True, (bool)])
|
|
399
|
-
self.__arg_info_matrix.append(["target_columns", self.target_columns, True, (str,list)])
|
|
400
|
-
self.__arg_info_matrix.append(["target_data_sequence_column", self.target_data_sequence_column, True, (str,list)])
|
|
401
|
-
self.__arg_info_matrix.append(["ref_data_sequence_column", self.ref_data_sequence_column, True, (str,list)])
|
|
402
|
-
|
|
403
|
-
if inspect.stack()[1][3] != '_from_model_catalog':
|
|
404
|
-
# Perform the function validations
|
|
405
|
-
self.__validate()
|
|
406
|
-
# Generate the ML query
|
|
407
|
-
self.__form_tdml_query()
|
|
408
|
-
# Execute ML query
|
|
409
|
-
self.__execute()
|
|
410
|
-
# Get the prediction type
|
|
411
|
-
self._prediction_type = self.__awu._get_function_prediction_type(self)
|
|
412
|
-
|
|
413
|
-
# End the timer to get the build time
|
|
414
|
-
_end_time = time.time()
|
|
415
|
-
|
|
416
|
-
# Calculate the build time
|
|
417
|
-
self._build_time = (int)(_end_time - _start_time)
|
|
418
|
-
|
|
419
|
-
def __validate(self):
|
|
420
|
-
"""
|
|
421
|
-
Function to validate sqlmr function arguments, which verifies missing
|
|
422
|
-
arguments, input argument and table types. Also processes the
|
|
423
|
-
argument values.
|
|
424
|
-
"""
|
|
425
|
-
|
|
426
|
-
# Make sure that a non-NULL value has been supplied for all mandatory arguments
|
|
427
|
-
self.__awu._validate_missing_required_arguments(self.__arg_info_matrix)
|
|
428
|
-
|
|
429
|
-
# Make sure that a non-NULL value has been supplied correct type of argument
|
|
430
|
-
self.__awu._validate_argument_types(self.__arg_info_matrix)
|
|
431
|
-
|
|
432
|
-
# Check to make sure input table types are strings or data frame objects or of valid type.
|
|
433
|
-
self.__awu._validate_input_table_datatype(self.target_data, "target_data", None)
|
|
434
|
-
self.__awu._validate_input_table_datatype(self.ref_data, "ref_data", None)
|
|
435
|
-
|
|
436
|
-
# Check for permitted values
|
|
437
|
-
reftable_size_permitted_values = ["SMALL", "LARGE"]
|
|
438
|
-
self.__awu._validate_permitted_values(self.reftable_size, reftable_size_permitted_values, "reftable_size")
|
|
439
|
-
|
|
440
|
-
distance_measure_permitted_values = ["COSINE", "EUCLIDEAN", "MANHATTAN", "BINARY"]
|
|
441
|
-
self.__awu._validate_permitted_values(self.distance_measure, distance_measure_permitted_values, "distance_measure")
|
|
442
|
-
|
|
443
|
-
output_format_permitted_values = ["SPARSE", "DENSE"]
|
|
444
|
-
self.__awu._validate_permitted_values(self.output_format, output_format_permitted_values, "output_format")
|
|
445
|
-
|
|
446
|
-
# Check whether the input columns passed to the argument are not empty.
|
|
447
|
-
# Also check whether the input columns passed to the argument valid or not.
|
|
448
|
-
self.__awu._validate_input_columns_not_empty(self.target_id, "target_id")
|
|
449
|
-
self.__awu._validate_dataframe_has_argument_columns(self.target_id, "target_id", self.target_data, "target_data", False)
|
|
450
|
-
|
|
451
|
-
self.__awu._validate_input_columns_not_empty(self.target_feature, "target_feature")
|
|
452
|
-
self.__awu._validate_dataframe_has_argument_columns(self.target_feature, "target_feature", self.target_data, "target_data", False)
|
|
453
|
-
|
|
454
|
-
self.__awu._validate_input_columns_not_empty(self.target_value, "target_value")
|
|
455
|
-
self.__awu._validate_dataframe_has_argument_columns(self.target_value, "target_value", self.target_data, "target_data", False)
|
|
456
|
-
|
|
457
|
-
self.__awu._validate_input_columns_not_empty(self.ref_id, "ref_id")
|
|
458
|
-
self.__awu._validate_dataframe_has_argument_columns(self.ref_id, "ref_id", self.ref_data, "ref_data", False)
|
|
459
|
-
|
|
460
|
-
self.__awu._validate_input_columns_not_empty(self.ref_feature, "ref_feature")
|
|
461
|
-
self.__awu._validate_dataframe_has_argument_columns(self.ref_feature, "ref_feature", self.ref_data, "ref_data", False)
|
|
462
|
-
|
|
463
|
-
self.__awu._validate_input_columns_not_empty(self.ref_value, "ref_value")
|
|
464
|
-
self.__awu._validate_dataframe_has_argument_columns(self.ref_value, "ref_value", self.ref_data, "ref_data", False)
|
|
465
|
-
|
|
466
|
-
self.__awu._validate_input_columns_not_empty(self.target_columns, "target_columns")
|
|
467
|
-
self.__awu._validate_dataframe_has_argument_columns(self.target_columns, "target_columns", self.target_data, "target_data", False)
|
|
468
|
-
|
|
469
|
-
self.__awu._validate_input_columns_not_empty(self.ref_columns, "ref_columns")
|
|
470
|
-
self.__awu._validate_dataframe_has_argument_columns(self.ref_columns, "ref_columns", self.ref_data, "ref_data", False)
|
|
471
|
-
|
|
472
|
-
self.__awu._validate_input_columns_not_empty(self.target_data_sequence_column, "target_data_sequence_column")
|
|
473
|
-
self.__awu._validate_dataframe_has_argument_columns(self.target_data_sequence_column, "target_data_sequence_column", self.target_data, "target_data", False)
|
|
474
|
-
|
|
475
|
-
self.__awu._validate_input_columns_not_empty(self.ref_data_sequence_column, "ref_data_sequence_column")
|
|
476
|
-
self.__awu._validate_dataframe_has_argument_columns(self.ref_data_sequence_column, "ref_data_sequence_column", self.ref_data, "ref_data", False)
|
|
477
|
-
|
|
478
|
-
self.__awu._validate_input_columns_not_empty(self.target_data_partition_column, "target_data_partition_column")
|
|
479
|
-
if self.__awu._is_default_or_not(self.target_data_partition_column, "ANY"):
|
|
480
|
-
self.__awu._validate_dataframe_has_argument_columns(self.target_data_partition_column, "target_data_partition_column", self.target_data, "target_data", True)
|
|
481
|
-
|
|
482
|
-
self.__awu._validate_input_columns_not_empty(self.target_data_order_column, "target_data_order_column")
|
|
483
|
-
self.__awu._validate_dataframe_has_argument_columns(self.target_data_order_column, "target_data_order_column", self.target_data, "target_data", False)
|
|
484
|
-
|
|
485
|
-
self.__awu._validate_input_columns_not_empty(self.ref_data_order_column, "ref_data_order_column")
|
|
486
|
-
self.__awu._validate_dataframe_has_argument_columns(self.ref_data_order_column, "ref_data_order_column", self.ref_data, "ref_data", False)
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
def __form_tdml_query(self):
|
|
490
|
-
"""
|
|
491
|
-
Function to generate the analytical function queries. The function defines
|
|
492
|
-
variables and list of arguments required to form the query.
|
|
493
|
-
"""
|
|
494
|
-
|
|
495
|
-
# Output table arguments list
|
|
496
|
-
self.__func_output_args_sql_names = []
|
|
497
|
-
self.__func_output_args = []
|
|
498
|
-
|
|
499
|
-
# Model Cataloging related attributes.
|
|
500
|
-
self._sql_specific_attributes = {}
|
|
501
|
-
self._sql_formula_attribute_mapper = {}
|
|
502
|
-
self._target_column = None
|
|
503
|
-
self._algorithm_name = None
|
|
504
|
-
|
|
505
|
-
# Generate lists for rest of the function arguments
|
|
506
|
-
self.__func_other_arg_sql_names = []
|
|
507
|
-
self.__func_other_args = []
|
|
508
|
-
self.__func_other_arg_json_datatypes = []
|
|
509
|
-
|
|
510
|
-
self.__func_other_arg_sql_names.append("TargetIdColumns")
|
|
511
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(UtilFuncs._teradata_quote_arg(self.target_id, "\""), "'"))
|
|
512
|
-
self.__func_other_arg_json_datatypes.append("COLUMNS")
|
|
513
|
-
|
|
514
|
-
if self.target_feature is not None:
|
|
515
|
-
self.__func_other_arg_sql_names.append("TargetFeatureColumn")
|
|
516
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(UtilFuncs._teradata_quote_arg(self.target_feature, "\""), "'"))
|
|
517
|
-
self.__func_other_arg_json_datatypes.append("COLUMNS")
|
|
518
|
-
|
|
519
|
-
if self.target_value is not None:
|
|
520
|
-
self.__func_other_arg_sql_names.append("TargetValueColumn")
|
|
521
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(UtilFuncs._teradata_quote_arg(self.target_value, "\""), "'"))
|
|
522
|
-
self.__func_other_arg_json_datatypes.append("COLUMNS")
|
|
523
|
-
|
|
524
|
-
if self.ref_id is not None:
|
|
525
|
-
self.__func_other_arg_sql_names.append("RefIdColumns")
|
|
526
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(UtilFuncs._teradata_quote_arg(self.ref_id, "\""), "'"))
|
|
527
|
-
self.__func_other_arg_json_datatypes.append("COLUMNS")
|
|
528
|
-
|
|
529
|
-
if self.ref_feature is not None:
|
|
530
|
-
self.__func_other_arg_sql_names.append("RefFeatureColumn")
|
|
531
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(UtilFuncs._teradata_quote_arg(self.ref_feature, "\""), "'"))
|
|
532
|
-
self.__func_other_arg_json_datatypes.append("COLUMNS")
|
|
533
|
-
|
|
534
|
-
if self.ref_value is not None:
|
|
535
|
-
self.__func_other_arg_sql_names.append("RefValueColumn")
|
|
536
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(UtilFuncs._teradata_quote_arg(self.ref_value, "\""), "'"))
|
|
537
|
-
self.__func_other_arg_json_datatypes.append("COLUMNS")
|
|
538
|
-
|
|
539
|
-
if self.target_columns is not None:
|
|
540
|
-
self.__func_other_arg_sql_names.append("TargetColumns")
|
|
541
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(UtilFuncs._teradata_quote_arg(self.target_columns, "\""), "'"))
|
|
542
|
-
self.__func_other_arg_json_datatypes.append("COLUMNS")
|
|
543
|
-
|
|
544
|
-
if self.ref_columns is not None:
|
|
545
|
-
self.__func_other_arg_sql_names.append("RefColumns")
|
|
546
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(UtilFuncs._teradata_quote_arg(self.ref_columns, "\""), "'"))
|
|
547
|
-
self.__func_other_arg_json_datatypes.append("COLUMNS")
|
|
548
|
-
|
|
549
|
-
if self.replace_invalid is not None and self.replace_invalid != "positiveinfinity":
|
|
550
|
-
self.__func_other_arg_sql_names.append("ReplaceInvalid")
|
|
551
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(self.replace_invalid, "'"))
|
|
552
|
-
self.__func_other_arg_json_datatypes.append("STRING")
|
|
553
|
-
|
|
554
|
-
if self.reftable_size is not None and self.reftable_size != "small":
|
|
555
|
-
self.__func_other_arg_sql_names.append("RefTableSize")
|
|
556
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(self.reftable_size, "'"))
|
|
557
|
-
self.__func_other_arg_json_datatypes.append("STRING")
|
|
558
|
-
|
|
559
|
-
if self.distance_measure is not None and self.distance_measure != "cosine":
|
|
560
|
-
self.__func_other_arg_sql_names.append("DistanceMeasure")
|
|
561
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(self.distance_measure, "'"))
|
|
562
|
-
self.__func_other_arg_json_datatypes.append("STRING")
|
|
563
|
-
|
|
564
|
-
if self.max_distance is not None:
|
|
565
|
-
self.__func_other_arg_sql_names.append("MaxDistance")
|
|
566
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(self.max_distance, "'"))
|
|
567
|
-
self.__func_other_arg_json_datatypes.append("DOUBLE")
|
|
568
|
-
|
|
569
|
-
if self.ignore_mismatch is not None and self.ignore_mismatch != True:
|
|
570
|
-
self.__func_other_arg_sql_names.append("IgnoreMismatch")
|
|
571
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(self.ignore_mismatch, "'"))
|
|
572
|
-
self.__func_other_arg_json_datatypes.append("BOOLEAN")
|
|
573
|
-
|
|
574
|
-
if self.top_k is not None:
|
|
575
|
-
self.__func_other_arg_sql_names.append("TopK")
|
|
576
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(self.top_k, "'"))
|
|
577
|
-
self.__func_other_arg_json_datatypes.append("INTEGER")
|
|
578
|
-
|
|
579
|
-
if self.output_format is not None and self.output_format != "sparse":
|
|
580
|
-
self.__func_other_arg_sql_names.append("OutputFormat")
|
|
581
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(self.output_format, "'"))
|
|
582
|
-
self.__func_other_arg_json_datatypes.append("STRING")
|
|
583
|
-
|
|
584
|
-
if self.input_data_same is not None and self.input_data_same != False:
|
|
585
|
-
self.__func_other_arg_sql_names.append("InputTablesSame")
|
|
586
|
-
self.__func_other_args.append(UtilFuncs._teradata_collapse_arglist(self.input_data_same, "'"))
|
|
587
|
-
self.__func_other_arg_json_datatypes.append("BOOLEAN")
|
|
588
|
-
|
|
589
|
-
# Generate lists for rest of the function arguments
|
|
590
|
-
sequence_input_by_list = []
|
|
591
|
-
if self.target_data_sequence_column is not None:
|
|
592
|
-
sequence_input_by_list.append("target:" + UtilFuncs._teradata_collapse_arglist(self.target_data_sequence_column, ""))
|
|
593
|
-
|
|
594
|
-
if self.ref_data_sequence_column is not None:
|
|
595
|
-
sequence_input_by_list.append("ref:" + UtilFuncs._teradata_collapse_arglist(self.ref_data_sequence_column, ""))
|
|
596
|
-
|
|
597
|
-
if len(sequence_input_by_list) > 0:
|
|
598
|
-
self.__func_other_arg_sql_names.append("SequenceInputBy")
|
|
599
|
-
sequence_input_by_arg_value = UtilFuncs._teradata_collapse_arglist(sequence_input_by_list, "'")
|
|
600
|
-
self.__func_other_args.append(sequence_input_by_arg_value)
|
|
601
|
-
self.__func_other_arg_json_datatypes.append("STRING")
|
|
602
|
-
self._sql_specific_attributes["SequenceInputBy"] = sequence_input_by_arg_value
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
# Declare empty lists to hold input table information.
|
|
606
|
-
self.__func_input_arg_sql_names = []
|
|
607
|
-
self.__func_input_table_view_query = []
|
|
608
|
-
self.__func_input_dataframe_type = []
|
|
609
|
-
self.__func_input_distribution = []
|
|
610
|
-
self.__func_input_partition_by_cols = []
|
|
611
|
-
self.__func_input_order_by_cols = []
|
|
612
|
-
|
|
613
|
-
# Process target_data
|
|
614
|
-
if self.__awu._is_default_or_not(self.target_data_partition_column, "ANY"):
|
|
615
|
-
self.target_data_partition_column = UtilFuncs._teradata_collapse_arglist(self.target_data_partition_column, "\"")
|
|
616
|
-
|
|
617
|
-
self.__table_ref = self.__awu._teradata_on_clause_from_dataframe(self.target_data, False)
|
|
618
|
-
self.__func_input_distribution.append("FACT")
|
|
619
|
-
self.__func_input_arg_sql_names.append("target")
|
|
620
|
-
self.__func_input_table_view_query.append(self.__table_ref["ref"])
|
|
621
|
-
self.__func_input_dataframe_type.append(self.__table_ref["ref_type"])
|
|
622
|
-
self.__func_input_partition_by_cols.append(self.target_data_partition_column)
|
|
623
|
-
self.__func_input_order_by_cols.append(UtilFuncs._teradata_collapse_arglist(self.target_data_order_column, "\""))
|
|
624
|
-
|
|
625
|
-
# Process ref_data
|
|
626
|
-
self.__table_ref = self.__awu._teradata_on_clause_from_dataframe(self.ref_data, False)
|
|
627
|
-
self.__func_input_distribution.append("DIMENSION")
|
|
628
|
-
self.__func_input_arg_sql_names.append("ref")
|
|
629
|
-
self.__func_input_table_view_query.append(self.__table_ref["ref"])
|
|
630
|
-
self.__func_input_dataframe_type.append(self.__table_ref["ref_type"])
|
|
631
|
-
self.__func_input_partition_by_cols.append("NA_character_")
|
|
632
|
-
self.__func_input_order_by_cols.append(UtilFuncs._teradata_collapse_arglist(self.ref_data_order_column, "\""))
|
|
633
|
-
|
|
634
|
-
function_name = "VectorDistance"
|
|
635
|
-
# Create instance to generate SQLMR.
|
|
636
|
-
self.__aqg_obj = AnalyticQueryGenerator(function_name,
|
|
637
|
-
self.__func_input_arg_sql_names,
|
|
638
|
-
self.__func_input_table_view_query,
|
|
639
|
-
self.__func_input_dataframe_type,
|
|
640
|
-
self.__func_input_distribution,
|
|
641
|
-
self.__func_input_partition_by_cols,
|
|
642
|
-
self.__func_input_order_by_cols,
|
|
643
|
-
self.__func_other_arg_sql_names,
|
|
644
|
-
self.__func_other_args,
|
|
645
|
-
self.__func_other_arg_json_datatypes,
|
|
646
|
-
self.__func_output_args_sql_names,
|
|
647
|
-
self.__func_output_args,
|
|
648
|
-
engine="ENGINE_ML")
|
|
649
|
-
# Invoke call to SQL-MR generation.
|
|
650
|
-
self.sqlmr_query = self.__aqg_obj._gen_sqlmr_select_stmt_sql()
|
|
651
|
-
|
|
652
|
-
# Print SQL-MR query if requested to do so.
|
|
653
|
-
if display.print_sqlmr_query:
|
|
654
|
-
print(self.sqlmr_query)
|
|
655
|
-
|
|
656
|
-
# Set the algorithm name for Model Cataloging.
|
|
657
|
-
self._algorithm_name = self.__aqg_obj._get_alias_name_for_function(function_name)
|
|
658
|
-
|
|
659
|
-
def __execute(self):
|
|
660
|
-
"""
|
|
661
|
-
Function to execute SQL-MR queries.
|
|
662
|
-
Create DataFrames for the required SQL-MR outputs.
|
|
663
|
-
"""
|
|
664
|
-
# Generate STDOUT table name and add it to the output table list.
|
|
665
|
-
sqlmr_stdout_temp_tablename = UtilFuncs._generate_temp_table_name(prefix="td_sqlmr_out_", use_default_database=True, gc_on_quit=True, quote=False)
|
|
666
|
-
try:
|
|
667
|
-
# Generate the output.
|
|
668
|
-
UtilFuncs._create_view(sqlmr_stdout_temp_tablename, self.sqlmr_query)
|
|
669
|
-
except Exception as emsg:
|
|
670
|
-
raise TeradataMlException(Messages.get_message(MessageCodes.TDMLDF_EXEC_SQL_FAILED, str(emsg)), MessageCodes.TDMLDF_EXEC_SQL_FAILED)
|
|
671
|
-
|
|
672
|
-
# Update output table data frames.
|
|
673
|
-
self._mlresults = []
|
|
674
|
-
self.result = self.__awu._create_data_set_object(df_input=UtilFuncs._extract_table_name(sqlmr_stdout_temp_tablename), source_type="table", database_name=UtilFuncs._extract_db_name(sqlmr_stdout_temp_tablename))
|
|
675
|
-
self._mlresults.append(self.result)
|
|
676
|
-
|
|
677
|
-
def show_query(self):
|
|
678
|
-
"""
|
|
679
|
-
Function to return the underlying SQL query.
|
|
680
|
-
When model object is created using retrieve_model(), then None is returned.
|
|
681
|
-
"""
|
|
682
|
-
return self.sqlmr_query
|
|
683
|
-
|
|
684
|
-
def get_prediction_type(self):
|
|
685
|
-
"""
|
|
686
|
-
Function to return the Prediction type of the algorithm.
|
|
687
|
-
When model object is created using retrieve_model(), then the value returned is
|
|
688
|
-
as saved in the Model Catalog.
|
|
689
|
-
"""
|
|
690
|
-
return self._prediction_type
|
|
691
|
-
|
|
692
|
-
def get_target_column(self):
|
|
693
|
-
"""
|
|
694
|
-
Function to return the Target Column of the algorithm.
|
|
695
|
-
When model object is created using retrieve_model(), then the value returned is
|
|
696
|
-
as saved in the Model Catalog.
|
|
697
|
-
"""
|
|
698
|
-
return self._target_column
|
|
699
|
-
|
|
700
|
-
def get_build_time(self):
|
|
701
|
-
"""
|
|
702
|
-
Function to return the build time of the algorithm in seconds.
|
|
703
|
-
When model object is created using retrieve_model(), then the value returned is
|
|
704
|
-
as saved in the Model Catalog.
|
|
705
|
-
"""
|
|
706
|
-
return self._build_time
|
|
707
|
-
|
|
708
|
-
def _get_algorithm_name(self):
|
|
709
|
-
"""
|
|
710
|
-
Function to return the name of the algorithm.
|
|
711
|
-
"""
|
|
712
|
-
return self._algorithm_name
|
|
713
|
-
|
|
714
|
-
def _get_sql_specific_attributes(self):
|
|
715
|
-
"""
|
|
716
|
-
Function to return the dictionary containing the SQL specific attributes of the algorithm.
|
|
717
|
-
"""
|
|
718
|
-
return self._sql_specific_attributes
|
|
719
|
-
|
|
720
|
-
@classmethod
|
|
721
|
-
def _from_model_catalog(cls,
|
|
722
|
-
result = None,
|
|
723
|
-
**kwargs):
|
|
724
|
-
"""
|
|
725
|
-
Classmethod is used by Model Cataloging, to instantiate this wrapper class.
|
|
726
|
-
"""
|
|
727
|
-
kwargs.pop("result", None)
|
|
728
|
-
|
|
729
|
-
# Model Cataloging related attributes.
|
|
730
|
-
target_column = kwargs.pop("__target_column", None)
|
|
731
|
-
prediction_type = kwargs.pop("__prediction_type", None)
|
|
732
|
-
algorithm_name = kwargs.pop("__algorithm_name", None)
|
|
733
|
-
build_time = kwargs.pop("__build_time", None)
|
|
734
|
-
|
|
735
|
-
# Let's create an object of this class.
|
|
736
|
-
obj = cls(**kwargs)
|
|
737
|
-
obj.result = result
|
|
738
|
-
|
|
739
|
-
# Initialize the sqlmr_query class attribute.
|
|
740
|
-
obj.sqlmr_query = None
|
|
741
|
-
|
|
742
|
-
# Initialize the SQL specific Model Cataloging attributes.
|
|
743
|
-
obj._sql_specific_attributes = None
|
|
744
|
-
obj._target_column = target_column
|
|
745
|
-
obj._prediction_type = prediction_type
|
|
746
|
-
obj._algorithm_name = algorithm_name
|
|
747
|
-
obj._build_time = build_time
|
|
748
|
-
|
|
749
|
-
# Update output table data frames.
|
|
750
|
-
obj._mlresults = []
|
|
751
|
-
obj.result = obj.__awu._create_data_set_object(df_input=UtilFuncs._extract_table_name(obj.result), source_type="table", database_name=UtilFuncs._extract_db_name(obj.result))
|
|
752
|
-
obj._mlresults.append(obj.result)
|
|
753
|
-
return obj
|
|
754
|
-
|
|
755
|
-
def __repr__(self):
|
|
756
|
-
"""
|
|
757
|
-
Returns the string representation for a VectorDistance class instance.
|
|
758
|
-
"""
|
|
759
|
-
repr_string="############ STDOUT Output ############"
|
|
760
|
-
repr_string = "{}\n\n{}".format(repr_string,self.result)
|
|
761
|
-
return repr_string
|
|
762
|
-
|