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.
Files changed (1208) hide show
  1. teradataml/LICENSE-3RD-PARTY.pdf +0 -0
  2. teradataml/LICENSE.pdf +0 -0
  3. teradataml/README.md +2762 -0
  4. teradataml/__init__.py +78 -0
  5. teradataml/_version.py +11 -0
  6. teradataml/analytics/Transformations.py +2996 -0
  7. teradataml/analytics/__init__.py +82 -0
  8. teradataml/analytics/analytic_function_executor.py +2416 -0
  9. teradataml/analytics/analytic_query_generator.py +1050 -0
  10. teradataml/analytics/byom/H2OPredict.py +514 -0
  11. teradataml/analytics/byom/PMMLPredict.py +437 -0
  12. teradataml/analytics/byom/__init__.py +16 -0
  13. teradataml/analytics/json_parser/__init__.py +133 -0
  14. teradataml/analytics/json_parser/analytic_functions_argument.py +1805 -0
  15. teradataml/analytics/json_parser/json_store.py +191 -0
  16. teradataml/analytics/json_parser/metadata.py +1666 -0
  17. teradataml/analytics/json_parser/utils.py +805 -0
  18. teradataml/analytics/meta_class.py +236 -0
  19. teradataml/analytics/sqle/DecisionTreePredict.py +456 -0
  20. teradataml/analytics/sqle/NaiveBayesPredict.py +420 -0
  21. teradataml/analytics/sqle/__init__.py +128 -0
  22. teradataml/analytics/sqle/json/decisiontreepredict_sqle.json +78 -0
  23. teradataml/analytics/sqle/json/naivebayespredict_sqle.json +62 -0
  24. teradataml/analytics/table_operator/__init__.py +11 -0
  25. teradataml/analytics/uaf/__init__.py +82 -0
  26. teradataml/analytics/utils.py +828 -0
  27. teradataml/analytics/valib.py +1617 -0
  28. teradataml/automl/__init__.py +5835 -0
  29. teradataml/automl/autodataprep/__init__.py +493 -0
  30. teradataml/automl/custom_json_utils.py +1625 -0
  31. teradataml/automl/data_preparation.py +1384 -0
  32. teradataml/automl/data_transformation.py +1254 -0
  33. teradataml/automl/feature_engineering.py +2273 -0
  34. teradataml/automl/feature_exploration.py +1873 -0
  35. teradataml/automl/model_evaluation.py +488 -0
  36. teradataml/automl/model_training.py +1407 -0
  37. teradataml/catalog/__init__.py +2 -0
  38. teradataml/catalog/byom.py +1759 -0
  39. teradataml/catalog/function_argument_mapper.py +859 -0
  40. teradataml/catalog/model_cataloging_utils.py +491 -0
  41. teradataml/clients/__init__.py +0 -0
  42. teradataml/clients/auth_client.py +137 -0
  43. teradataml/clients/keycloak_client.py +165 -0
  44. teradataml/clients/pkce_client.py +481 -0
  45. teradataml/common/__init__.py +1 -0
  46. teradataml/common/aed_utils.py +2078 -0
  47. teradataml/common/bulk_exposed_utils.py +113 -0
  48. teradataml/common/constants.py +1669 -0
  49. teradataml/common/deprecations.py +166 -0
  50. teradataml/common/exceptions.py +147 -0
  51. teradataml/common/formula.py +743 -0
  52. teradataml/common/garbagecollector.py +666 -0
  53. teradataml/common/logger.py +1261 -0
  54. teradataml/common/messagecodes.py +518 -0
  55. teradataml/common/messages.py +262 -0
  56. teradataml/common/pylogger.py +67 -0
  57. teradataml/common/sqlbundle.py +764 -0
  58. teradataml/common/td_coltype_code_to_tdtype.py +48 -0
  59. teradataml/common/utils.py +3166 -0
  60. teradataml/common/warnings.py +36 -0
  61. teradataml/common/wrapper_utils.py +625 -0
  62. teradataml/config/__init__.py +0 -0
  63. teradataml/config/dummy_file1.cfg +5 -0
  64. teradataml/config/dummy_file2.cfg +3 -0
  65. teradataml/config/sqlengine_alias_definitions_v1.0 +14 -0
  66. teradataml/config/sqlengine_alias_definitions_v1.1 +20 -0
  67. teradataml/config/sqlengine_alias_definitions_v1.3 +19 -0
  68. teradataml/context/__init__.py +0 -0
  69. teradataml/context/aed_context.py +223 -0
  70. teradataml/context/context.py +1462 -0
  71. teradataml/data/A_loan.csv +19 -0
  72. teradataml/data/BINARY_REALS_LEFT.csv +11 -0
  73. teradataml/data/BINARY_REALS_RIGHT.csv +11 -0
  74. teradataml/data/B_loan.csv +49 -0
  75. teradataml/data/BuoyData2.csv +17 -0
  76. teradataml/data/CONVOLVE2_COMPLEX_LEFT.csv +5 -0
  77. teradataml/data/CONVOLVE2_COMPLEX_RIGHT.csv +5 -0
  78. teradataml/data/Convolve2RealsLeft.csv +5 -0
  79. teradataml/data/Convolve2RealsRight.csv +5 -0
  80. teradataml/data/Convolve2ValidLeft.csv +11 -0
  81. teradataml/data/Convolve2ValidRight.csv +11 -0
  82. teradataml/data/DFFTConv_Real_8_8.csv +65 -0
  83. teradataml/data/Employee.csv +5 -0
  84. teradataml/data/Employee_Address.csv +4 -0
  85. teradataml/data/Employee_roles.csv +5 -0
  86. teradataml/data/JulesBelvezeDummyData.csv +100 -0
  87. teradataml/data/Mall_customer_data.csv +201 -0
  88. teradataml/data/Orders1_12mf.csv +25 -0
  89. teradataml/data/Pi_loan.csv +7 -0
  90. teradataml/data/SMOOTHED_DATA.csv +7 -0
  91. teradataml/data/TestDFFT8.csv +9 -0
  92. teradataml/data/TestRiver.csv +109 -0
  93. teradataml/data/Traindata.csv +28 -0
  94. teradataml/data/__init__.py +0 -0
  95. teradataml/data/acf.csv +17 -0
  96. teradataml/data/adaboost_example.json +34 -0
  97. teradataml/data/adaboostpredict_example.json +24 -0
  98. teradataml/data/additional_table.csv +11 -0
  99. teradataml/data/admissions_test.csv +21 -0
  100. teradataml/data/admissions_train.csv +41 -0
  101. teradataml/data/admissions_train_nulls.csv +41 -0
  102. teradataml/data/advertising.csv +201 -0
  103. teradataml/data/ageandheight.csv +13 -0
  104. teradataml/data/ageandpressure.csv +31 -0
  105. teradataml/data/amazon_reviews_25.csv +26 -0
  106. teradataml/data/antiselect_example.json +36 -0
  107. teradataml/data/antiselect_input.csv +8 -0
  108. teradataml/data/antiselect_input_mixed_case.csv +8 -0
  109. teradataml/data/applicant_external.csv +7 -0
  110. teradataml/data/applicant_reference.csv +7 -0
  111. teradataml/data/apriori_example.json +22 -0
  112. teradataml/data/arima_example.json +9 -0
  113. teradataml/data/assortedtext_input.csv +8 -0
  114. teradataml/data/attribution_example.json +34 -0
  115. teradataml/data/attribution_sample_table.csv +27 -0
  116. teradataml/data/attribution_sample_table1.csv +6 -0
  117. teradataml/data/attribution_sample_table2.csv +11 -0
  118. teradataml/data/bank_churn.csv +10001 -0
  119. teradataml/data/bank_marketing.csv +11163 -0
  120. teradataml/data/bank_web_clicks1.csv +43 -0
  121. teradataml/data/bank_web_clicks2.csv +91 -0
  122. teradataml/data/bank_web_url.csv +85 -0
  123. teradataml/data/barrier.csv +2 -0
  124. teradataml/data/barrier_new.csv +3 -0
  125. teradataml/data/betweenness_example.json +14 -0
  126. teradataml/data/bike_sharing.csv +732 -0
  127. teradataml/data/bin_breaks.csv +8 -0
  128. teradataml/data/bin_fit_ip.csv +4 -0
  129. teradataml/data/binary_complex_left.csv +11 -0
  130. teradataml/data/binary_complex_right.csv +11 -0
  131. teradataml/data/binary_matrix_complex_left.csv +21 -0
  132. teradataml/data/binary_matrix_complex_right.csv +21 -0
  133. teradataml/data/binary_matrix_real_left.csv +21 -0
  134. teradataml/data/binary_matrix_real_right.csv +21 -0
  135. teradataml/data/blood2ageandweight.csv +26 -0
  136. teradataml/data/bmi.csv +501 -0
  137. teradataml/data/boston.csv +507 -0
  138. teradataml/data/boston2cols.csv +721 -0
  139. teradataml/data/breast_cancer.csv +570 -0
  140. teradataml/data/buoydata_mix.csv +11 -0
  141. teradataml/data/burst_data.csv +5 -0
  142. teradataml/data/burst_example.json +21 -0
  143. teradataml/data/byom_example.json +34 -0
  144. teradataml/data/bytes_table.csv +4 -0
  145. teradataml/data/cal_housing_ex_raw.csv +70 -0
  146. teradataml/data/callers.csv +7 -0
  147. teradataml/data/calls.csv +10 -0
  148. teradataml/data/cars_hist.csv +33 -0
  149. teradataml/data/cat_table.csv +25 -0
  150. teradataml/data/ccm_example.json +32 -0
  151. teradataml/data/ccm_input.csv +91 -0
  152. teradataml/data/ccm_input2.csv +13 -0
  153. teradataml/data/ccmexample.csv +101 -0
  154. teradataml/data/ccmprepare_example.json +9 -0
  155. teradataml/data/ccmprepare_input.csv +91 -0
  156. teradataml/data/cfilter_example.json +12 -0
  157. teradataml/data/changepointdetection_example.json +18 -0
  158. teradataml/data/changepointdetectionrt_example.json +8 -0
  159. teradataml/data/chi_sq.csv +3 -0
  160. teradataml/data/churn_data.csv +14 -0
  161. teradataml/data/churn_emission.csv +35 -0
  162. teradataml/data/churn_initial.csv +3 -0
  163. teradataml/data/churn_state_transition.csv +5 -0
  164. teradataml/data/citedges_2.csv +745 -0
  165. teradataml/data/citvertices_2.csv +1210 -0
  166. teradataml/data/clicks2.csv +16 -0
  167. teradataml/data/clickstream.csv +13 -0
  168. teradataml/data/clickstream1.csv +11 -0
  169. teradataml/data/closeness_example.json +16 -0
  170. teradataml/data/complaints.csv +21 -0
  171. teradataml/data/complaints_mini.csv +3 -0
  172. teradataml/data/complaints_test_tokenized.csv +353 -0
  173. teradataml/data/complaints_testtoken.csv +224 -0
  174. teradataml/data/complaints_tokens_model.csv +348 -0
  175. teradataml/data/complaints_tokens_test.csv +353 -0
  176. teradataml/data/complaints_traintoken.csv +472 -0
  177. teradataml/data/computers_category.csv +1001 -0
  178. teradataml/data/computers_test1.csv +1252 -0
  179. teradataml/data/computers_train1.csv +5009 -0
  180. teradataml/data/computers_train1_clustered.csv +5009 -0
  181. teradataml/data/confusionmatrix_example.json +9 -0
  182. teradataml/data/conversion_event_table.csv +3 -0
  183. teradataml/data/corr_input.csv +17 -0
  184. teradataml/data/correlation_example.json +11 -0
  185. teradataml/data/covid_confirm_sd.csv +83 -0
  186. teradataml/data/coxhazardratio_example.json +39 -0
  187. teradataml/data/coxph_example.json +15 -0
  188. teradataml/data/coxsurvival_example.json +28 -0
  189. teradataml/data/cpt.csv +41 -0
  190. teradataml/data/credit_ex_merged.csv +45 -0
  191. teradataml/data/creditcard_data.csv +1001 -0
  192. teradataml/data/customer_loyalty.csv +301 -0
  193. teradataml/data/customer_loyalty_newseq.csv +31 -0
  194. teradataml/data/customer_segmentation_test.csv +2628 -0
  195. teradataml/data/customer_segmentation_train.csv +8069 -0
  196. teradataml/data/dataframe_example.json +173 -0
  197. teradataml/data/decisionforest_example.json +37 -0
  198. teradataml/data/decisionforestpredict_example.json +38 -0
  199. teradataml/data/decisiontree_example.json +21 -0
  200. teradataml/data/decisiontreepredict_example.json +45 -0
  201. teradataml/data/dfft2_size4_real.csv +17 -0
  202. teradataml/data/dfft2_test_matrix16.csv +17 -0
  203. teradataml/data/dfft2conv_real_4_4.csv +65 -0
  204. teradataml/data/diabetes.csv +443 -0
  205. teradataml/data/diabetes_test.csv +89 -0
  206. teradataml/data/dict_table.csv +5 -0
  207. teradataml/data/docperterm_table.csv +4 -0
  208. teradataml/data/docs/__init__.py +1 -0
  209. teradataml/data/docs/byom/__init__.py +0 -0
  210. teradataml/data/docs/byom/docs/DataRobotPredict.py +180 -0
  211. teradataml/data/docs/byom/docs/DataikuPredict.py +217 -0
  212. teradataml/data/docs/byom/docs/H2OPredict.py +325 -0
  213. teradataml/data/docs/byom/docs/ONNXEmbeddings.py +242 -0
  214. teradataml/data/docs/byom/docs/ONNXPredict.py +283 -0
  215. teradataml/data/docs/byom/docs/ONNXSeq2Seq.py +255 -0
  216. teradataml/data/docs/byom/docs/PMMLPredict.py +278 -0
  217. teradataml/data/docs/byom/docs/__init__.py +0 -0
  218. teradataml/data/docs/sqle/__init__.py +0 -0
  219. teradataml/data/docs/sqle/docs_17_10/Antiselect.py +83 -0
  220. teradataml/data/docs/sqle/docs_17_10/Attribution.py +200 -0
  221. teradataml/data/docs/sqle/docs_17_10/BincodeFit.py +172 -0
  222. teradataml/data/docs/sqle/docs_17_10/BincodeTransform.py +131 -0
  223. teradataml/data/docs/sqle/docs_17_10/CategoricalSummary.py +86 -0
  224. teradataml/data/docs/sqle/docs_17_10/ChiSq.py +90 -0
  225. teradataml/data/docs/sqle/docs_17_10/ColumnSummary.py +86 -0
  226. teradataml/data/docs/sqle/docs_17_10/ConvertTo.py +96 -0
  227. teradataml/data/docs/sqle/docs_17_10/DecisionForestPredict.py +139 -0
  228. teradataml/data/docs/sqle/docs_17_10/DecisionTreePredict.py +152 -0
  229. teradataml/data/docs/sqle/docs_17_10/FTest.py +161 -0
  230. teradataml/data/docs/sqle/docs_17_10/FillRowId.py +83 -0
  231. teradataml/data/docs/sqle/docs_17_10/Fit.py +88 -0
  232. teradataml/data/docs/sqle/docs_17_10/GLMPredict.py +144 -0
  233. teradataml/data/docs/sqle/docs_17_10/GetRowsWithMissingValues.py +85 -0
  234. teradataml/data/docs/sqle/docs_17_10/GetRowsWithoutMissingValues.py +82 -0
  235. teradataml/data/docs/sqle/docs_17_10/Histogram.py +165 -0
  236. teradataml/data/docs/sqle/docs_17_10/MovingAverage.py +134 -0
  237. teradataml/data/docs/sqle/docs_17_10/NGramSplitter.py +209 -0
  238. teradataml/data/docs/sqle/docs_17_10/NPath.py +266 -0
  239. teradataml/data/docs/sqle/docs_17_10/NaiveBayesPredict.py +116 -0
  240. teradataml/data/docs/sqle/docs_17_10/NaiveBayesTextClassifierPredict.py +176 -0
  241. teradataml/data/docs/sqle/docs_17_10/NumApply.py +147 -0
  242. teradataml/data/docs/sqle/docs_17_10/OneHotEncodingFit.py +135 -0
  243. teradataml/data/docs/sqle/docs_17_10/OneHotEncodingTransform.py +109 -0
  244. teradataml/data/docs/sqle/docs_17_10/OutlierFilterFit.py +166 -0
  245. teradataml/data/docs/sqle/docs_17_10/OutlierFilterTransform.py +105 -0
  246. teradataml/data/docs/sqle/docs_17_10/Pack.py +128 -0
  247. teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesFit.py +112 -0
  248. teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesTransform.py +102 -0
  249. teradataml/data/docs/sqle/docs_17_10/QQNorm.py +105 -0
  250. teradataml/data/docs/sqle/docs_17_10/RoundColumns.py +110 -0
  251. teradataml/data/docs/sqle/docs_17_10/RowNormalizeFit.py +118 -0
  252. teradataml/data/docs/sqle/docs_17_10/RowNormalizeTransform.py +99 -0
  253. teradataml/data/docs/sqle/docs_17_10/SVMSparsePredict.py +153 -0
  254. teradataml/data/docs/sqle/docs_17_10/ScaleFit.py +197 -0
  255. teradataml/data/docs/sqle/docs_17_10/ScaleTransform.py +99 -0
  256. teradataml/data/docs/sqle/docs_17_10/Sessionize.py +114 -0
  257. teradataml/data/docs/sqle/docs_17_10/SimpleImputeFit.py +116 -0
  258. teradataml/data/docs/sqle/docs_17_10/SimpleImputeTransform.py +98 -0
  259. teradataml/data/docs/sqle/docs_17_10/StrApply.py +187 -0
  260. teradataml/data/docs/sqle/docs_17_10/StringSimilarity.py +146 -0
  261. teradataml/data/docs/sqle/docs_17_10/Transform.py +105 -0
  262. teradataml/data/docs/sqle/docs_17_10/UnivariateStatistics.py +142 -0
  263. teradataml/data/docs/sqle/docs_17_10/Unpack.py +214 -0
  264. teradataml/data/docs/sqle/docs_17_10/WhichMax.py +83 -0
  265. teradataml/data/docs/sqle/docs_17_10/WhichMin.py +83 -0
  266. teradataml/data/docs/sqle/docs_17_10/ZTest.py +155 -0
  267. teradataml/data/docs/sqle/docs_17_10/__init__.py +0 -0
  268. teradataml/data/docs/sqle/docs_17_20/ANOVA.py +186 -0
  269. teradataml/data/docs/sqle/docs_17_20/Antiselect.py +83 -0
  270. teradataml/data/docs/sqle/docs_17_20/Apriori.py +138 -0
  271. teradataml/data/docs/sqle/docs_17_20/Attribution.py +201 -0
  272. teradataml/data/docs/sqle/docs_17_20/BincodeFit.py +172 -0
  273. teradataml/data/docs/sqle/docs_17_20/BincodeTransform.py +139 -0
  274. teradataml/data/docs/sqle/docs_17_20/CFilter.py +132 -0
  275. teradataml/data/docs/sqle/docs_17_20/CategoricalSummary.py +86 -0
  276. teradataml/data/docs/sqle/docs_17_20/ChiSq.py +90 -0
  277. teradataml/data/docs/sqle/docs_17_20/ClassificationEvaluator.py +166 -0
  278. teradataml/data/docs/sqle/docs_17_20/ColumnSummary.py +86 -0
  279. teradataml/data/docs/sqle/docs_17_20/ColumnTransformer.py +246 -0
  280. teradataml/data/docs/sqle/docs_17_20/ConvertTo.py +113 -0
  281. teradataml/data/docs/sqle/docs_17_20/DecisionForest.py +280 -0
  282. teradataml/data/docs/sqle/docs_17_20/DecisionForestPredict.py +144 -0
  283. teradataml/data/docs/sqle/docs_17_20/DecisionTreePredict.py +136 -0
  284. teradataml/data/docs/sqle/docs_17_20/FTest.py +240 -0
  285. teradataml/data/docs/sqle/docs_17_20/FillRowId.py +83 -0
  286. teradataml/data/docs/sqle/docs_17_20/Fit.py +88 -0
  287. teradataml/data/docs/sqle/docs_17_20/GLM.py +541 -0
  288. teradataml/data/docs/sqle/docs_17_20/GLMPerSegment.py +415 -0
  289. teradataml/data/docs/sqle/docs_17_20/GLMPredict.py +144 -0
  290. teradataml/data/docs/sqle/docs_17_20/GLMPredictPerSegment.py +233 -0
  291. teradataml/data/docs/sqle/docs_17_20/GetFutileColumns.py +125 -0
  292. teradataml/data/docs/sqle/docs_17_20/GetRowsWithMissingValues.py +109 -0
  293. teradataml/data/docs/sqle/docs_17_20/GetRowsWithoutMissingValues.py +106 -0
  294. teradataml/data/docs/sqle/docs_17_20/Histogram.py +224 -0
  295. teradataml/data/docs/sqle/docs_17_20/KMeans.py +251 -0
  296. teradataml/data/docs/sqle/docs_17_20/KMeansPredict.py +144 -0
  297. teradataml/data/docs/sqle/docs_17_20/KNN.py +215 -0
  298. teradataml/data/docs/sqle/docs_17_20/MovingAverage.py +134 -0
  299. teradataml/data/docs/sqle/docs_17_20/NERExtractor.py +121 -0
  300. teradataml/data/docs/sqle/docs_17_20/NGramSplitter.py +209 -0
  301. teradataml/data/docs/sqle/docs_17_20/NPath.py +266 -0
  302. teradataml/data/docs/sqle/docs_17_20/NaiveBayes.py +162 -0
  303. teradataml/data/docs/sqle/docs_17_20/NaiveBayesPredict.py +116 -0
  304. teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierPredict.py +177 -0
  305. teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierTrainer.py +127 -0
  306. teradataml/data/docs/sqle/docs_17_20/NonLinearCombineFit.py +119 -0
  307. teradataml/data/docs/sqle/docs_17_20/NonLinearCombineTransform.py +112 -0
  308. teradataml/data/docs/sqle/docs_17_20/NumApply.py +147 -0
  309. teradataml/data/docs/sqle/docs_17_20/OneClassSVM.py +307 -0
  310. teradataml/data/docs/sqle/docs_17_20/OneClassSVMPredict.py +185 -0
  311. teradataml/data/docs/sqle/docs_17_20/OneHotEncodingFit.py +231 -0
  312. teradataml/data/docs/sqle/docs_17_20/OneHotEncodingTransform.py +121 -0
  313. teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingFit.py +220 -0
  314. teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingTransform.py +127 -0
  315. teradataml/data/docs/sqle/docs_17_20/OutlierFilterFit.py +191 -0
  316. teradataml/data/docs/sqle/docs_17_20/OutlierFilterTransform.py +117 -0
  317. teradataml/data/docs/sqle/docs_17_20/Pack.py +128 -0
  318. teradataml/data/docs/sqle/docs_17_20/Pivoting.py +279 -0
  319. teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesFit.py +112 -0
  320. teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesTransform.py +112 -0
  321. teradataml/data/docs/sqle/docs_17_20/QQNorm.py +105 -0
  322. teradataml/data/docs/sqle/docs_17_20/ROC.py +164 -0
  323. teradataml/data/docs/sqle/docs_17_20/RandomProjectionFit.py +155 -0
  324. teradataml/data/docs/sqle/docs_17_20/RandomProjectionMinComponents.py +106 -0
  325. teradataml/data/docs/sqle/docs_17_20/RandomProjectionTransform.py +120 -0
  326. teradataml/data/docs/sqle/docs_17_20/RegressionEvaluator.py +211 -0
  327. teradataml/data/docs/sqle/docs_17_20/RoundColumns.py +109 -0
  328. teradataml/data/docs/sqle/docs_17_20/RowNormalizeFit.py +118 -0
  329. teradataml/data/docs/sqle/docs_17_20/RowNormalizeTransform.py +111 -0
  330. teradataml/data/docs/sqle/docs_17_20/SMOTE.py +212 -0
  331. teradataml/data/docs/sqle/docs_17_20/SVM.py +414 -0
  332. teradataml/data/docs/sqle/docs_17_20/SVMPredict.py +213 -0
  333. teradataml/data/docs/sqle/docs_17_20/SVMSparsePredict.py +153 -0
  334. teradataml/data/docs/sqle/docs_17_20/ScaleFit.py +315 -0
  335. teradataml/data/docs/sqle/docs_17_20/ScaleTransform.py +202 -0
  336. teradataml/data/docs/sqle/docs_17_20/SentimentExtractor.py +206 -0
  337. teradataml/data/docs/sqle/docs_17_20/Sessionize.py +114 -0
  338. teradataml/data/docs/sqle/docs_17_20/Shap.py +225 -0
  339. teradataml/data/docs/sqle/docs_17_20/Silhouette.py +153 -0
  340. teradataml/data/docs/sqle/docs_17_20/SimpleImputeFit.py +116 -0
  341. teradataml/data/docs/sqle/docs_17_20/SimpleImputeTransform.py +109 -0
  342. teradataml/data/docs/sqle/docs_17_20/StrApply.py +187 -0
  343. teradataml/data/docs/sqle/docs_17_20/StringSimilarity.py +146 -0
  344. teradataml/data/docs/sqle/docs_17_20/TDDecisionForestPredict.py +207 -0
  345. teradataml/data/docs/sqle/docs_17_20/TDGLMPredict.py +333 -0
  346. teradataml/data/docs/sqle/docs_17_20/TDNaiveBayesPredict.py +189 -0
  347. teradataml/data/docs/sqle/docs_17_20/TFIDF.py +142 -0
  348. teradataml/data/docs/sqle/docs_17_20/TargetEncodingFit.py +267 -0
  349. teradataml/data/docs/sqle/docs_17_20/TargetEncodingTransform.py +141 -0
  350. teradataml/data/docs/sqle/docs_17_20/TextMorph.py +119 -0
  351. teradataml/data/docs/sqle/docs_17_20/TextParser.py +224 -0
  352. teradataml/data/docs/sqle/docs_17_20/TrainTestSplit.py +160 -0
  353. teradataml/data/docs/sqle/docs_17_20/Transform.py +123 -0
  354. teradataml/data/docs/sqle/docs_17_20/UnivariateStatistics.py +142 -0
  355. teradataml/data/docs/sqle/docs_17_20/Unpack.py +214 -0
  356. teradataml/data/docs/sqle/docs_17_20/Unpivoting.py +216 -0
  357. teradataml/data/docs/sqle/docs_17_20/VectorDistance.py +169 -0
  358. teradataml/data/docs/sqle/docs_17_20/WhichMax.py +83 -0
  359. teradataml/data/docs/sqle/docs_17_20/WhichMin.py +83 -0
  360. teradataml/data/docs/sqle/docs_17_20/WordEmbeddings.py +237 -0
  361. teradataml/data/docs/sqle/docs_17_20/XGBoost.py +362 -0
  362. teradataml/data/docs/sqle/docs_17_20/XGBoostPredict.py +281 -0
  363. teradataml/data/docs/sqle/docs_17_20/ZTest.py +220 -0
  364. teradataml/data/docs/sqle/docs_17_20/__init__.py +0 -0
  365. teradataml/data/docs/tableoperator/__init__.py +0 -0
  366. teradataml/data/docs/tableoperator/docs_17_00/ReadNOS.py +430 -0
  367. teradataml/data/docs/tableoperator/docs_17_00/__init__.py +0 -0
  368. teradataml/data/docs/tableoperator/docs_17_05/ReadNOS.py +430 -0
  369. teradataml/data/docs/tableoperator/docs_17_05/WriteNOS.py +348 -0
  370. teradataml/data/docs/tableoperator/docs_17_05/__init__.py +0 -0
  371. teradataml/data/docs/tableoperator/docs_17_10/ReadNOS.py +429 -0
  372. teradataml/data/docs/tableoperator/docs_17_10/WriteNOS.py +348 -0
  373. teradataml/data/docs/tableoperator/docs_17_10/__init__.py +0 -0
  374. teradataml/data/docs/tableoperator/docs_17_20/Image2Matrix.py +118 -0
  375. teradataml/data/docs/tableoperator/docs_17_20/ReadNOS.py +440 -0
  376. teradataml/data/docs/tableoperator/docs_17_20/WriteNOS.py +387 -0
  377. teradataml/data/docs/tableoperator/docs_17_20/__init__.py +0 -0
  378. teradataml/data/docs/uaf/__init__.py +0 -0
  379. teradataml/data/docs/uaf/docs_17_20/ACF.py +186 -0
  380. teradataml/data/docs/uaf/docs_17_20/ArimaEstimate.py +370 -0
  381. teradataml/data/docs/uaf/docs_17_20/ArimaForecast.py +172 -0
  382. teradataml/data/docs/uaf/docs_17_20/ArimaValidate.py +161 -0
  383. teradataml/data/docs/uaf/docs_17_20/ArimaXEstimate.py +293 -0
  384. teradataml/data/docs/uaf/docs_17_20/AutoArima.py +354 -0
  385. teradataml/data/docs/uaf/docs_17_20/BinaryMatrixOp.py +248 -0
  386. teradataml/data/docs/uaf/docs_17_20/BinarySeriesOp.py +252 -0
  387. teradataml/data/docs/uaf/docs_17_20/BreuschGodfrey.py +178 -0
  388. teradataml/data/docs/uaf/docs_17_20/BreuschPaganGodfrey.py +175 -0
  389. teradataml/data/docs/uaf/docs_17_20/Convolve.py +230 -0
  390. teradataml/data/docs/uaf/docs_17_20/Convolve2.py +218 -0
  391. teradataml/data/docs/uaf/docs_17_20/CopyArt.py +145 -0
  392. teradataml/data/docs/uaf/docs_17_20/CumulPeriodogram.py +185 -0
  393. teradataml/data/docs/uaf/docs_17_20/DFFT.py +204 -0
  394. teradataml/data/docs/uaf/docs_17_20/DFFT2.py +216 -0
  395. teradataml/data/docs/uaf/docs_17_20/DFFT2Conv.py +216 -0
  396. teradataml/data/docs/uaf/docs_17_20/DFFTConv.py +192 -0
  397. teradataml/data/docs/uaf/docs_17_20/DIFF.py +175 -0
  398. teradataml/data/docs/uaf/docs_17_20/DTW.py +180 -0
  399. teradataml/data/docs/uaf/docs_17_20/DWT.py +235 -0
  400. teradataml/data/docs/uaf/docs_17_20/DWT2D.py +217 -0
  401. teradataml/data/docs/uaf/docs_17_20/DickeyFuller.py +142 -0
  402. teradataml/data/docs/uaf/docs_17_20/DurbinWatson.py +184 -0
  403. teradataml/data/docs/uaf/docs_17_20/ExtractResults.py +185 -0
  404. teradataml/data/docs/uaf/docs_17_20/FilterFactory1d.py +160 -0
  405. teradataml/data/docs/uaf/docs_17_20/FitMetrics.py +172 -0
  406. teradataml/data/docs/uaf/docs_17_20/GenseriesFormula.py +206 -0
  407. teradataml/data/docs/uaf/docs_17_20/GenseriesSinusoids.py +143 -0
  408. teradataml/data/docs/uaf/docs_17_20/GoldfeldQuandt.py +198 -0
  409. teradataml/data/docs/uaf/docs_17_20/HoltWintersForecaster.py +260 -0
  410. teradataml/data/docs/uaf/docs_17_20/IDFFT.py +165 -0
  411. teradataml/data/docs/uaf/docs_17_20/IDFFT2.py +191 -0
  412. teradataml/data/docs/uaf/docs_17_20/IDWT.py +236 -0
  413. teradataml/data/docs/uaf/docs_17_20/IDWT2D.py +226 -0
  414. teradataml/data/docs/uaf/docs_17_20/IQR.py +134 -0
  415. teradataml/data/docs/uaf/docs_17_20/InputValidator.py +121 -0
  416. teradataml/data/docs/uaf/docs_17_20/LineSpec.py +156 -0
  417. teradataml/data/docs/uaf/docs_17_20/LinearRegr.py +215 -0
  418. teradataml/data/docs/uaf/docs_17_20/MAMean.py +174 -0
  419. teradataml/data/docs/uaf/docs_17_20/MInfo.py +134 -0
  420. teradataml/data/docs/uaf/docs_17_20/Matrix2Image.py +297 -0
  421. teradataml/data/docs/uaf/docs_17_20/MatrixMultiply.py +145 -0
  422. teradataml/data/docs/uaf/docs_17_20/MultivarRegr.py +191 -0
  423. teradataml/data/docs/uaf/docs_17_20/PACF.py +157 -0
  424. teradataml/data/docs/uaf/docs_17_20/Portman.py +217 -0
  425. teradataml/data/docs/uaf/docs_17_20/PowerSpec.py +203 -0
  426. teradataml/data/docs/uaf/docs_17_20/PowerTransform.py +155 -0
  427. teradataml/data/docs/uaf/docs_17_20/Resample.py +237 -0
  428. teradataml/data/docs/uaf/docs_17_20/SAX.py +246 -0
  429. teradataml/data/docs/uaf/docs_17_20/SInfo.py +123 -0
  430. teradataml/data/docs/uaf/docs_17_20/SeasonalNormalize.py +173 -0
  431. teradataml/data/docs/uaf/docs_17_20/SelectionCriteria.py +174 -0
  432. teradataml/data/docs/uaf/docs_17_20/SignifPeriodicities.py +171 -0
  433. teradataml/data/docs/uaf/docs_17_20/SignifResidmean.py +164 -0
  434. teradataml/data/docs/uaf/docs_17_20/SimpleExp.py +180 -0
  435. teradataml/data/docs/uaf/docs_17_20/Smoothma.py +208 -0
  436. teradataml/data/docs/uaf/docs_17_20/TrackingOp.py +151 -0
  437. teradataml/data/docs/uaf/docs_17_20/UNDIFF.py +171 -0
  438. teradataml/data/docs/uaf/docs_17_20/Unnormalize.py +202 -0
  439. teradataml/data/docs/uaf/docs_17_20/WhitesGeneral.py +171 -0
  440. teradataml/data/docs/uaf/docs_17_20/WindowDFFT.py +368 -0
  441. teradataml/data/docs/uaf/docs_17_20/__init__.py +0 -0
  442. teradataml/data/dtw_example.json +18 -0
  443. teradataml/data/dtw_t1.csv +11 -0
  444. teradataml/data/dtw_t2.csv +4 -0
  445. teradataml/data/dwt2d_dataTable.csv +65 -0
  446. teradataml/data/dwt2d_example.json +16 -0
  447. teradataml/data/dwt_dataTable.csv +8 -0
  448. teradataml/data/dwt_example.json +15 -0
  449. teradataml/data/dwt_filterTable.csv +3 -0
  450. teradataml/data/dwt_filter_dim.csv +5 -0
  451. teradataml/data/emission.csv +9 -0
  452. teradataml/data/emp_table_by_dept.csv +19 -0
  453. teradataml/data/employee_info.csv +4 -0
  454. teradataml/data/employee_table.csv +6 -0
  455. teradataml/data/excluding_event_table.csv +2 -0
  456. teradataml/data/finance_data.csv +6 -0
  457. teradataml/data/finance_data2.csv +61 -0
  458. teradataml/data/finance_data3.csv +93 -0
  459. teradataml/data/finance_data4.csv +13 -0
  460. teradataml/data/fish.csv +160 -0
  461. teradataml/data/fm_blood2ageandweight.csv +26 -0
  462. teradataml/data/fmeasure_example.json +12 -0
  463. teradataml/data/followers_leaders.csv +10 -0
  464. teradataml/data/fpgrowth_example.json +12 -0
  465. teradataml/data/frequentpaths_example.json +29 -0
  466. teradataml/data/friends.csv +9 -0
  467. teradataml/data/fs_input.csv +33 -0
  468. teradataml/data/fs_input1.csv +33 -0
  469. teradataml/data/genData.csv +513 -0
  470. teradataml/data/geodataframe_example.json +40 -0
  471. teradataml/data/glass_types.csv +215 -0
  472. teradataml/data/glm_admissions_model.csv +12 -0
  473. teradataml/data/glm_example.json +56 -0
  474. teradataml/data/glml1l2_example.json +28 -0
  475. teradataml/data/glml1l2predict_example.json +54 -0
  476. teradataml/data/glmpredict_example.json +54 -0
  477. teradataml/data/gq_t1.csv +21 -0
  478. teradataml/data/grocery_transaction.csv +19 -0
  479. teradataml/data/hconvolve_complex_right.csv +5 -0
  480. teradataml/data/hconvolve_complex_rightmulti.csv +5 -0
  481. teradataml/data/histogram_example.json +12 -0
  482. teradataml/data/hmmdecoder_example.json +79 -0
  483. teradataml/data/hmmevaluator_example.json +25 -0
  484. teradataml/data/hmmsupervised_example.json +10 -0
  485. teradataml/data/hmmunsupervised_example.json +8 -0
  486. teradataml/data/hnsw_alter_data.csv +5 -0
  487. teradataml/data/hnsw_data.csv +10 -0
  488. teradataml/data/house_values.csv +12 -0
  489. teradataml/data/house_values2.csv +13 -0
  490. teradataml/data/housing_cat.csv +7 -0
  491. teradataml/data/housing_data.csv +9 -0
  492. teradataml/data/housing_test.csv +47 -0
  493. teradataml/data/housing_test_binary.csv +47 -0
  494. teradataml/data/housing_train.csv +493 -0
  495. teradataml/data/housing_train_attribute.csv +5 -0
  496. teradataml/data/housing_train_binary.csv +437 -0
  497. teradataml/data/housing_train_parameter.csv +2 -0
  498. teradataml/data/housing_train_response.csv +493 -0
  499. teradataml/data/housing_train_segment.csv +201 -0
  500. teradataml/data/ibm_stock.csv +370 -0
  501. teradataml/data/ibm_stock1.csv +370 -0
  502. teradataml/data/identitymatch_example.json +22 -0
  503. teradataml/data/idf_table.csv +4 -0
  504. teradataml/data/idwt2d_dataTable.csv +5 -0
  505. teradataml/data/idwt_dataTable.csv +8 -0
  506. teradataml/data/idwt_filterTable.csv +3 -0
  507. teradataml/data/impressions.csv +101 -0
  508. teradataml/data/inflation.csv +21 -0
  509. teradataml/data/initial.csv +3 -0
  510. teradataml/data/insect2Cols.csv +61 -0
  511. teradataml/data/insect_sprays.csv +13 -0
  512. teradataml/data/insurance.csv +1339 -0
  513. teradataml/data/interpolator_example.json +13 -0
  514. teradataml/data/interval_data.csv +5 -0
  515. teradataml/data/iris_altinput.csv +481 -0
  516. teradataml/data/iris_attribute_output.csv +8 -0
  517. teradataml/data/iris_attribute_test.csv +121 -0
  518. teradataml/data/iris_attribute_train.csv +481 -0
  519. teradataml/data/iris_category_expect_predict.csv +31 -0
  520. teradataml/data/iris_data.csv +151 -0
  521. teradataml/data/iris_input.csv +151 -0
  522. teradataml/data/iris_response_train.csv +121 -0
  523. teradataml/data/iris_test.csv +31 -0
  524. teradataml/data/iris_train.csv +121 -0
  525. teradataml/data/join_table1.csv +4 -0
  526. teradataml/data/join_table2.csv +4 -0
  527. teradataml/data/jsons/anly_function_name.json +7 -0
  528. teradataml/data/jsons/byom/ONNXSeq2Seq.json +287 -0
  529. teradataml/data/jsons/byom/dataikupredict.json +148 -0
  530. teradataml/data/jsons/byom/datarobotpredict.json +147 -0
  531. teradataml/data/jsons/byom/h2opredict.json +195 -0
  532. teradataml/data/jsons/byom/onnxembeddings.json +267 -0
  533. teradataml/data/jsons/byom/onnxpredict.json +187 -0
  534. teradataml/data/jsons/byom/pmmlpredict.json +147 -0
  535. teradataml/data/jsons/paired_functions.json +450 -0
  536. teradataml/data/jsons/sqle/16.20/Antiselect.json +56 -0
  537. teradataml/data/jsons/sqle/16.20/Attribution.json +249 -0
  538. teradataml/data/jsons/sqle/16.20/DecisionForestPredict.json +156 -0
  539. teradataml/data/jsons/sqle/16.20/DecisionTreePredict.json +170 -0
  540. teradataml/data/jsons/sqle/16.20/GLMPredict.json +122 -0
  541. teradataml/data/jsons/sqle/16.20/MovingAverage.json +367 -0
  542. teradataml/data/jsons/sqle/16.20/NGramSplitter.json +239 -0
  543. teradataml/data/jsons/sqle/16.20/NaiveBayesPredict.json +136 -0
  544. teradataml/data/jsons/sqle/16.20/NaiveBayesTextClassifierPredict.json +235 -0
  545. teradataml/data/jsons/sqle/16.20/Pack.json +98 -0
  546. teradataml/data/jsons/sqle/16.20/SVMSparsePredict.json +162 -0
  547. teradataml/data/jsons/sqle/16.20/Sessionize.json +105 -0
  548. teradataml/data/jsons/sqle/16.20/StringSimilarity.json +86 -0
  549. teradataml/data/jsons/sqle/16.20/Unpack.json +166 -0
  550. teradataml/data/jsons/sqle/16.20/nPath.json +269 -0
  551. teradataml/data/jsons/sqle/17.00/Antiselect.json +56 -0
  552. teradataml/data/jsons/sqle/17.00/Attribution.json +249 -0
  553. teradataml/data/jsons/sqle/17.00/DecisionForestPredict.json +156 -0
  554. teradataml/data/jsons/sqle/17.00/DecisionTreePredict.json +170 -0
  555. teradataml/data/jsons/sqle/17.00/GLMPredict.json +122 -0
  556. teradataml/data/jsons/sqle/17.00/MovingAverage.json +367 -0
  557. teradataml/data/jsons/sqle/17.00/NGramSplitter.json +239 -0
  558. teradataml/data/jsons/sqle/17.00/NaiveBayesPredict.json +136 -0
  559. teradataml/data/jsons/sqle/17.00/NaiveBayesTextClassifierPredict.json +235 -0
  560. teradataml/data/jsons/sqle/17.00/Pack.json +98 -0
  561. teradataml/data/jsons/sqle/17.00/SVMSparsePredict.json +162 -0
  562. teradataml/data/jsons/sqle/17.00/Sessionize.json +105 -0
  563. teradataml/data/jsons/sqle/17.00/StringSimilarity.json +86 -0
  564. teradataml/data/jsons/sqle/17.00/Unpack.json +166 -0
  565. teradataml/data/jsons/sqle/17.00/nPath.json +269 -0
  566. teradataml/data/jsons/sqle/17.05/Antiselect.json +56 -0
  567. teradataml/data/jsons/sqle/17.05/Attribution.json +249 -0
  568. teradataml/data/jsons/sqle/17.05/DecisionForestPredict.json +156 -0
  569. teradataml/data/jsons/sqle/17.05/DecisionTreePredict.json +170 -0
  570. teradataml/data/jsons/sqle/17.05/GLMPredict.json +122 -0
  571. teradataml/data/jsons/sqle/17.05/MovingAverage.json +367 -0
  572. teradataml/data/jsons/sqle/17.05/NGramSplitter.json +239 -0
  573. teradataml/data/jsons/sqle/17.05/NaiveBayesPredict.json +136 -0
  574. teradataml/data/jsons/sqle/17.05/NaiveBayesTextClassifierPredict.json +235 -0
  575. teradataml/data/jsons/sqle/17.05/Pack.json +98 -0
  576. teradataml/data/jsons/sqle/17.05/SVMSparsePredict.json +162 -0
  577. teradataml/data/jsons/sqle/17.05/Sessionize.json +105 -0
  578. teradataml/data/jsons/sqle/17.05/StringSimilarity.json +86 -0
  579. teradataml/data/jsons/sqle/17.05/Unpack.json +166 -0
  580. teradataml/data/jsons/sqle/17.05/nPath.json +269 -0
  581. teradataml/data/jsons/sqle/17.10/Antiselect.json +56 -0
  582. teradataml/data/jsons/sqle/17.10/Attribution.json +249 -0
  583. teradataml/data/jsons/sqle/17.10/DecisionForestPredict.json +185 -0
  584. teradataml/data/jsons/sqle/17.10/DecisionTreePredict.json +172 -0
  585. teradataml/data/jsons/sqle/17.10/GLMPredict.json +151 -0
  586. teradataml/data/jsons/sqle/17.10/MovingAverage.json +368 -0
  587. teradataml/data/jsons/sqle/17.10/NGramSplitter.json +239 -0
  588. teradataml/data/jsons/sqle/17.10/NaiveBayesPredict.json +149 -0
  589. teradataml/data/jsons/sqle/17.10/NaiveBayesTextClassifierPredict.json +288 -0
  590. teradataml/data/jsons/sqle/17.10/Pack.json +133 -0
  591. teradataml/data/jsons/sqle/17.10/SVMSparsePredict.json +193 -0
  592. teradataml/data/jsons/sqle/17.10/Sessionize.json +105 -0
  593. teradataml/data/jsons/sqle/17.10/StringSimilarity.json +86 -0
  594. teradataml/data/jsons/sqle/17.10/TD_BinCodeFit.json +239 -0
  595. teradataml/data/jsons/sqle/17.10/TD_BinCodeTransform.json +70 -0
  596. teradataml/data/jsons/sqle/17.10/TD_CategoricalSummary.json +54 -0
  597. teradataml/data/jsons/sqle/17.10/TD_Chisq.json +68 -0
  598. teradataml/data/jsons/sqle/17.10/TD_ColumnSummary.json +54 -0
  599. teradataml/data/jsons/sqle/17.10/TD_ConvertTo.json +69 -0
  600. teradataml/data/jsons/sqle/17.10/TD_FTest.json +187 -0
  601. teradataml/data/jsons/sqle/17.10/TD_FillRowID.json +52 -0
  602. teradataml/data/jsons/sqle/17.10/TD_FunctionFit.json +46 -0
  603. teradataml/data/jsons/sqle/17.10/TD_FunctionTransform.json +72 -0
  604. teradataml/data/jsons/sqle/17.10/TD_GetRowsWithMissingValues.json +53 -0
  605. teradataml/data/jsons/sqle/17.10/TD_GetRowsWithoutMissingValues.json +53 -0
  606. teradataml/data/jsons/sqle/17.10/TD_Histogram.json +133 -0
  607. teradataml/data/jsons/sqle/17.10/TD_NumApply.json +147 -0
  608. teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingFit.json +183 -0
  609. teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingTransform.json +66 -0
  610. teradataml/data/jsons/sqle/17.10/TD_OutlierFilterFit.json +197 -0
  611. teradataml/data/jsons/sqle/17.10/TD_OutlierFilterTransform.json +48 -0
  612. teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesFit.json +114 -0
  613. teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesTransform.json +72 -0
  614. teradataml/data/jsons/sqle/17.10/TD_QQNorm.json +112 -0
  615. teradataml/data/jsons/sqle/17.10/TD_RoundColumns.json +93 -0
  616. teradataml/data/jsons/sqle/17.10/TD_RowNormalizeFit.json +128 -0
  617. teradataml/data/jsons/sqle/17.10/TD_RowNormalizeTransform.json +71 -0
  618. teradataml/data/jsons/sqle/17.10/TD_ScaleFit.json +157 -0
  619. teradataml/data/jsons/sqle/17.10/TD_ScaleTransform.json +71 -0
  620. teradataml/data/jsons/sqle/17.10/TD_SimpleImputeFit.json +148 -0
  621. teradataml/data/jsons/sqle/17.10/TD_SimpleImputeTransform.json +48 -0
  622. teradataml/data/jsons/sqle/17.10/TD_StrApply.json +240 -0
  623. teradataml/data/jsons/sqle/17.10/TD_UnivariateStatistics.json +119 -0
  624. teradataml/data/jsons/sqle/17.10/TD_WhichMax.json +53 -0
  625. teradataml/data/jsons/sqle/17.10/TD_WhichMin.json +53 -0
  626. teradataml/data/jsons/sqle/17.10/TD_ZTest.json +171 -0
  627. teradataml/data/jsons/sqle/17.10/Unpack.json +188 -0
  628. teradataml/data/jsons/sqle/17.10/nPath.json +269 -0
  629. teradataml/data/jsons/sqle/17.20/Antiselect.json +56 -0
  630. teradataml/data/jsons/sqle/17.20/Attribution.json +249 -0
  631. teradataml/data/jsons/sqle/17.20/DecisionForestPredict.json +185 -0
  632. teradataml/data/jsons/sqle/17.20/DecisionTreePredict.json +172 -0
  633. teradataml/data/jsons/sqle/17.20/GLMPredict.json +151 -0
  634. teradataml/data/jsons/sqle/17.20/MovingAverage.json +367 -0
  635. teradataml/data/jsons/sqle/17.20/NGramSplitter.json +239 -0
  636. teradataml/data/jsons/sqle/17.20/NaiveBayesPredict.json +149 -0
  637. teradataml/data/jsons/sqle/17.20/NaiveBayesTextClassifierPredict.json +287 -0
  638. teradataml/data/jsons/sqle/17.20/Pack.json +133 -0
  639. teradataml/data/jsons/sqle/17.20/SVMSparsePredict.json +192 -0
  640. teradataml/data/jsons/sqle/17.20/Sessionize.json +105 -0
  641. teradataml/data/jsons/sqle/17.20/StringSimilarity.json +86 -0
  642. teradataml/data/jsons/sqle/17.20/TD_ANOVA.json +149 -0
  643. teradataml/data/jsons/sqle/17.20/TD_Apriori.json +181 -0
  644. teradataml/data/jsons/sqle/17.20/TD_BinCodeFit.json +239 -0
  645. teradataml/data/jsons/sqle/17.20/TD_BinCodeTransform.json +71 -0
  646. teradataml/data/jsons/sqle/17.20/TD_CFilter.json +118 -0
  647. teradataml/data/jsons/sqle/17.20/TD_CategoricalSummary.json +53 -0
  648. teradataml/data/jsons/sqle/17.20/TD_Chisq.json +68 -0
  649. teradataml/data/jsons/sqle/17.20/TD_ClassificationEvaluator.json +146 -0
  650. teradataml/data/jsons/sqle/17.20/TD_ColumnSummary.json +53 -0
  651. teradataml/data/jsons/sqle/17.20/TD_ColumnTransformer.json +218 -0
  652. teradataml/data/jsons/sqle/17.20/TD_ConvertTo.json +92 -0
  653. teradataml/data/jsons/sqle/17.20/TD_DecisionForest.json +260 -0
  654. teradataml/data/jsons/sqle/17.20/TD_DecisionForestPredict.json +139 -0
  655. teradataml/data/jsons/sqle/17.20/TD_FTest.json +269 -0
  656. teradataml/data/jsons/sqle/17.20/TD_FillRowID.json +52 -0
  657. teradataml/data/jsons/sqle/17.20/TD_FunctionFit.json +46 -0
  658. teradataml/data/jsons/sqle/17.20/TD_FunctionTransform.json +72 -0
  659. teradataml/data/jsons/sqle/17.20/TD_GLM.json +507 -0
  660. teradataml/data/jsons/sqle/17.20/TD_GLMPREDICT.json +168 -0
  661. teradataml/data/jsons/sqle/17.20/TD_GLMPerSegment.json +411 -0
  662. teradataml/data/jsons/sqle/17.20/TD_GLMPredictPerSegment.json +146 -0
  663. teradataml/data/jsons/sqle/17.20/TD_GetFutileColumns.json +93 -0
  664. teradataml/data/jsons/sqle/17.20/TD_GetRowsWithMissingValues.json +76 -0
  665. teradataml/data/jsons/sqle/17.20/TD_GetRowsWithoutMissingValues.json +76 -0
  666. teradataml/data/jsons/sqle/17.20/TD_Histogram.json +152 -0
  667. teradataml/data/jsons/sqle/17.20/TD_KMeans.json +232 -0
  668. teradataml/data/jsons/sqle/17.20/TD_KMeansPredict.json +87 -0
  669. teradataml/data/jsons/sqle/17.20/TD_KNN.json +262 -0
  670. teradataml/data/jsons/sqle/17.20/TD_NERExtractor.json +145 -0
  671. teradataml/data/jsons/sqle/17.20/TD_NaiveBayes.json +193 -0
  672. teradataml/data/jsons/sqle/17.20/TD_NaiveBayesPredict.json +212 -0
  673. teradataml/data/jsons/sqle/17.20/TD_NaiveBayesTextClassifierTrainer.json +137 -0
  674. teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineFit.json +102 -0
  675. teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineTransform.json +71 -0
  676. teradataml/data/jsons/sqle/17.20/TD_NumApply.json +147 -0
  677. teradataml/data/jsons/sqle/17.20/TD_OneClassSVM.json +316 -0
  678. teradataml/data/jsons/sqle/17.20/TD_OneClassSVMPredict.json +124 -0
  679. teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingFit.json +271 -0
  680. teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingTransform.json +65 -0
  681. teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingFit.json +229 -0
  682. teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingTransform.json +75 -0
  683. teradataml/data/jsons/sqle/17.20/TD_OutlierFilterFit.json +217 -0
  684. teradataml/data/jsons/sqle/17.20/TD_OutlierFilterTransform.json +48 -0
  685. teradataml/data/jsons/sqle/17.20/TD_Pivoting.json +280 -0
  686. teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesFit.json +114 -0
  687. teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesTransform.json +72 -0
  688. teradataml/data/jsons/sqle/17.20/TD_QQNorm.json +111 -0
  689. teradataml/data/jsons/sqle/17.20/TD_ROC.json +179 -0
  690. teradataml/data/jsons/sqle/17.20/TD_RandomProjectionFit.json +179 -0
  691. teradataml/data/jsons/sqle/17.20/TD_RandomProjectionMinComponents.json +74 -0
  692. teradataml/data/jsons/sqle/17.20/TD_RandomProjectionTransform.json +74 -0
  693. teradataml/data/jsons/sqle/17.20/TD_RegressionEvaluator.json +138 -0
  694. teradataml/data/jsons/sqle/17.20/TD_RoundColumns.json +93 -0
  695. teradataml/data/jsons/sqle/17.20/TD_RowNormalizeFit.json +128 -0
  696. teradataml/data/jsons/sqle/17.20/TD_RowNormalizeTransform.json +71 -0
  697. teradataml/data/jsons/sqle/17.20/TD_SMOTE.json +267 -0
  698. teradataml/data/jsons/sqle/17.20/TD_SVM.json +389 -0
  699. teradataml/data/jsons/sqle/17.20/TD_SVMPredict.json +142 -0
  700. teradataml/data/jsons/sqle/17.20/TD_ScaleFit.json +310 -0
  701. teradataml/data/jsons/sqle/17.20/TD_ScaleTransform.json +120 -0
  702. teradataml/data/jsons/sqle/17.20/TD_SentimentExtractor.json +194 -0
  703. teradataml/data/jsons/sqle/17.20/TD_Shap.json +221 -0
  704. teradataml/data/jsons/sqle/17.20/TD_Silhouette.json +143 -0
  705. teradataml/data/jsons/sqle/17.20/TD_SimpleImputeFit.json +147 -0
  706. teradataml/data/jsons/sqle/17.20/TD_SimpleImputeTransform.json +48 -0
  707. teradataml/data/jsons/sqle/17.20/TD_StrApply.json +240 -0
  708. teradataml/data/jsons/sqle/17.20/TD_TFIDF.json +162 -0
  709. teradataml/data/jsons/sqle/17.20/TD_TargetEncodingFit.json +248 -0
  710. teradataml/data/jsons/sqle/17.20/TD_TargetEncodingTransform.json +75 -0
  711. teradataml/data/jsons/sqle/17.20/TD_TextMorph.json +134 -0
  712. teradataml/data/jsons/sqle/17.20/TD_TextParser.json +297 -0
  713. teradataml/data/jsons/sqle/17.20/TD_TrainTestSplit.json +142 -0
  714. teradataml/data/jsons/sqle/17.20/TD_UnivariateStatistics.json +117 -0
  715. teradataml/data/jsons/sqle/17.20/TD_Unpivoting.json +235 -0
  716. teradataml/data/jsons/sqle/17.20/TD_VectorDistance.json +183 -0
  717. teradataml/data/jsons/sqle/17.20/TD_WhichMax.json +53 -0
  718. teradataml/data/jsons/sqle/17.20/TD_WhichMin.json +53 -0
  719. teradataml/data/jsons/sqle/17.20/TD_WordEmbeddings.json +241 -0
  720. teradataml/data/jsons/sqle/17.20/TD_XGBoost.json +330 -0
  721. teradataml/data/jsons/sqle/17.20/TD_XGBoostPredict.json +195 -0
  722. teradataml/data/jsons/sqle/17.20/TD_ZTest.json +247 -0
  723. teradataml/data/jsons/sqle/17.20/Unpack.json +188 -0
  724. teradataml/data/jsons/sqle/17.20/nPath.json +269 -0
  725. teradataml/data/jsons/sqle/20.00/AI_AnalyzeSentiment.json +370 -0
  726. teradataml/data/jsons/sqle/20.00/AI_AskLLM.json +460 -0
  727. teradataml/data/jsons/sqle/20.00/AI_DetectLanguage.json +385 -0
  728. teradataml/data/jsons/sqle/20.00/AI_ExtractKeyPhrases.json +369 -0
  729. teradataml/data/jsons/sqle/20.00/AI_MaskPII.json +369 -0
  730. teradataml/data/jsons/sqle/20.00/AI_RecognizeEntities.json +369 -0
  731. teradataml/data/jsons/sqle/20.00/AI_RecognizePIIEntities.json +369 -0
  732. teradataml/data/jsons/sqle/20.00/AI_TextClassifier.json +400 -0
  733. teradataml/data/jsons/sqle/20.00/AI_TextEmbeddings.json +401 -0
  734. teradataml/data/jsons/sqle/20.00/AI_TextSummarize.json +384 -0
  735. teradataml/data/jsons/sqle/20.00/AI_TextTranslate.json +384 -0
  736. teradataml/data/jsons/sqle/20.00/TD_API_AzureML.json +151 -0
  737. teradataml/data/jsons/sqle/20.00/TD_API_Sagemaker.json +182 -0
  738. teradataml/data/jsons/sqle/20.00/TD_API_VertexAI.json +183 -0
  739. teradataml/data/jsons/sqle/20.00/TD_HNSW.json +296 -0
  740. teradataml/data/jsons/sqle/20.00/TD_HNSWPredict.json +206 -0
  741. teradataml/data/jsons/sqle/20.00/TD_HNSWSummary.json +32 -0
  742. teradataml/data/jsons/sqle/20.00/TD_KMeans.json +250 -0
  743. teradataml/data/jsons/sqle/20.00/TD_SMOTE.json +266 -0
  744. teradataml/data/jsons/sqle/20.00/TD_VectorDistance.json +278 -0
  745. teradataml/data/jsons/storedprocedure/17.20/TD_COPYART.json +71 -0
  746. teradataml/data/jsons/storedprocedure/17.20/TD_FILTERFACTORY1D.json +150 -0
  747. teradataml/data/jsons/tableoperator/17.00/read_nos.json +198 -0
  748. teradataml/data/jsons/tableoperator/17.05/read_nos.json +198 -0
  749. teradataml/data/jsons/tableoperator/17.05/write_nos.json +195 -0
  750. teradataml/data/jsons/tableoperator/17.10/read_nos.json +184 -0
  751. teradataml/data/jsons/tableoperator/17.10/write_nos.json +195 -0
  752. teradataml/data/jsons/tableoperator/17.20/IMAGE2MATRIX.json +53 -0
  753. teradataml/data/jsons/tableoperator/17.20/read_nos.json +183 -0
  754. teradataml/data/jsons/tableoperator/17.20/write_nos.json +224 -0
  755. teradataml/data/jsons/uaf/17.20/TD_ACF.json +132 -0
  756. teradataml/data/jsons/uaf/17.20/TD_ARIMAESTIMATE.json +396 -0
  757. teradataml/data/jsons/uaf/17.20/TD_ARIMAFORECAST.json +77 -0
  758. teradataml/data/jsons/uaf/17.20/TD_ARIMAVALIDATE.json +153 -0
  759. teradataml/data/jsons/uaf/17.20/TD_ARIMAXESTIMATE.json +362 -0
  760. teradataml/data/jsons/uaf/17.20/TD_AUTOARIMA.json +469 -0
  761. teradataml/data/jsons/uaf/17.20/TD_BINARYMATRIXOP.json +107 -0
  762. teradataml/data/jsons/uaf/17.20/TD_BINARYSERIESOP.json +106 -0
  763. teradataml/data/jsons/uaf/17.20/TD_BREUSCH_GODFREY.json +89 -0
  764. teradataml/data/jsons/uaf/17.20/TD_BREUSCH_PAGAN_GODFREY.json +104 -0
  765. teradataml/data/jsons/uaf/17.20/TD_CONVOLVE.json +78 -0
  766. teradataml/data/jsons/uaf/17.20/TD_CONVOLVE2.json +66 -0
  767. teradataml/data/jsons/uaf/17.20/TD_CUMUL_PERIODOGRAM.json +87 -0
  768. teradataml/data/jsons/uaf/17.20/TD_DFFT.json +134 -0
  769. teradataml/data/jsons/uaf/17.20/TD_DFFT2.json +144 -0
  770. teradataml/data/jsons/uaf/17.20/TD_DFFT2CONV.json +108 -0
  771. teradataml/data/jsons/uaf/17.20/TD_DFFTCONV.json +108 -0
  772. teradataml/data/jsons/uaf/17.20/TD_DICKEY_FULLER.json +78 -0
  773. teradataml/data/jsons/uaf/17.20/TD_DIFF.json +92 -0
  774. teradataml/data/jsons/uaf/17.20/TD_DTW.json +114 -0
  775. teradataml/data/jsons/uaf/17.20/TD_DURBIN_WATSON.json +101 -0
  776. teradataml/data/jsons/uaf/17.20/TD_DWT.json +173 -0
  777. teradataml/data/jsons/uaf/17.20/TD_DWT2D.json +160 -0
  778. teradataml/data/jsons/uaf/17.20/TD_EXTRACT_RESULTS.json +39 -0
  779. teradataml/data/jsons/uaf/17.20/TD_FITMETRICS.json +101 -0
  780. teradataml/data/jsons/uaf/17.20/TD_GENSERIES4FORMULA.json +85 -0
  781. teradataml/data/jsons/uaf/17.20/TD_GENSERIES4SINUSOIDS.json +71 -0
  782. teradataml/data/jsons/uaf/17.20/TD_GOLDFELD_QUANDT.json +139 -0
  783. teradataml/data/jsons/uaf/17.20/TD_HOLT_WINTERS_FORECASTER.json +313 -0
  784. teradataml/data/jsons/uaf/17.20/TD_IDFFT.json +58 -0
  785. teradataml/data/jsons/uaf/17.20/TD_IDFFT2.json +81 -0
  786. teradataml/data/jsons/uaf/17.20/TD_IDWT.json +162 -0
  787. teradataml/data/jsons/uaf/17.20/TD_IDWT2D.json +149 -0
  788. teradataml/data/jsons/uaf/17.20/TD_INPUTVALIDATOR.json +64 -0
  789. teradataml/data/jsons/uaf/17.20/TD_IQR.json +117 -0
  790. teradataml/data/jsons/uaf/17.20/TD_LINEAR_REGR.json +182 -0
  791. teradataml/data/jsons/uaf/17.20/TD_LINESPEC.json +103 -0
  792. teradataml/data/jsons/uaf/17.20/TD_MAMEAN.json +181 -0
  793. teradataml/data/jsons/uaf/17.20/TD_MATRIX2IMAGE.json +209 -0
  794. teradataml/data/jsons/uaf/17.20/TD_MATRIXMULTIPLY.json +68 -0
  795. teradataml/data/jsons/uaf/17.20/TD_MINFO.json +67 -0
  796. teradataml/data/jsons/uaf/17.20/TD_MULTIVAR_REGR.json +179 -0
  797. teradataml/data/jsons/uaf/17.20/TD_PACF.json +114 -0
  798. teradataml/data/jsons/uaf/17.20/TD_PORTMAN.json +119 -0
  799. teradataml/data/jsons/uaf/17.20/TD_POWERSPEC.json +175 -0
  800. teradataml/data/jsons/uaf/17.20/TD_POWERTRANSFORM.json +98 -0
  801. teradataml/data/jsons/uaf/17.20/TD_RESAMPLE.json +194 -0
  802. teradataml/data/jsons/uaf/17.20/TD_SAX.json +210 -0
  803. teradataml/data/jsons/uaf/17.20/TD_SEASONALNORMALIZE.json +143 -0
  804. teradataml/data/jsons/uaf/17.20/TD_SELECTION_CRITERIA.json +90 -0
  805. teradataml/data/jsons/uaf/17.20/TD_SIGNIF_PERIODICITIES.json +80 -0
  806. teradataml/data/jsons/uaf/17.20/TD_SIGNIF_RESIDMEAN.json +68 -0
  807. teradataml/data/jsons/uaf/17.20/TD_SIMPLEEXP.json +184 -0
  808. teradataml/data/jsons/uaf/17.20/TD_SINFO.json +58 -0
  809. teradataml/data/jsons/uaf/17.20/TD_SMOOTHMA.json +163 -0
  810. teradataml/data/jsons/uaf/17.20/TD_TRACKINGOP.json +101 -0
  811. teradataml/data/jsons/uaf/17.20/TD_UNDIFF.json +112 -0
  812. teradataml/data/jsons/uaf/17.20/TD_UNNORMALIZE.json +95 -0
  813. teradataml/data/jsons/uaf/17.20/TD_WHITES_GENERAL.json +78 -0
  814. teradataml/data/jsons/uaf/17.20/TD_WINDOWDFFT.json +410 -0
  815. teradataml/data/kmeans_example.json +23 -0
  816. teradataml/data/kmeans_table.csv +10 -0
  817. teradataml/data/kmeans_us_arrests_data.csv +51 -0
  818. teradataml/data/knn_example.json +19 -0
  819. teradataml/data/knnrecommender_example.json +7 -0
  820. teradataml/data/knnrecommenderpredict_example.json +12 -0
  821. teradataml/data/lar_example.json +17 -0
  822. teradataml/data/larpredict_example.json +30 -0
  823. teradataml/data/lc_new_predictors.csv +5 -0
  824. teradataml/data/lc_new_reference.csv +9 -0
  825. teradataml/data/lda_example.json +9 -0
  826. teradataml/data/ldainference_example.json +15 -0
  827. teradataml/data/ldatopicsummary_example.json +9 -0
  828. teradataml/data/levendist_input.csv +13 -0
  829. teradataml/data/levenshteindistance_example.json +10 -0
  830. teradataml/data/linreg_example.json +10 -0
  831. teradataml/data/load_example_data.py +350 -0
  832. teradataml/data/loan_prediction.csv +295 -0
  833. teradataml/data/lungcancer.csv +138 -0
  834. teradataml/data/mappingdata.csv +12 -0
  835. teradataml/data/medical_readings.csv +101 -0
  836. teradataml/data/milk_timeseries.csv +157 -0
  837. teradataml/data/min_max_titanic.csv +4 -0
  838. teradataml/data/minhash_example.json +6 -0
  839. teradataml/data/ml_ratings.csv +7547 -0
  840. teradataml/data/ml_ratings_10.csv +2445 -0
  841. teradataml/data/mobile_data.csv +13 -0
  842. teradataml/data/model1_table.csv +5 -0
  843. teradataml/data/model2_table.csv +5 -0
  844. teradataml/data/models/License_file.txt +1 -0
  845. teradataml/data/models/License_file_empty.txt +0 -0
  846. teradataml/data/models/dataiku_iris_data_ann_thin +0 -0
  847. teradataml/data/models/dr_iris_rf +0 -0
  848. teradataml/data/models/iris_db_dt_model_sklearn.onnx +0 -0
  849. teradataml/data/models/iris_db_dt_model_sklearn_floattensor.onnx +0 -0
  850. teradataml/data/models/iris_db_glm_model.pmml +57 -0
  851. teradataml/data/models/iris_db_xgb_model.pmml +4471 -0
  852. teradataml/data/models/iris_kmeans_model +0 -0
  853. teradataml/data/models/iris_mojo_glm_h2o_model +0 -0
  854. teradataml/data/models/iris_mojo_xgb_h2o_model +0 -0
  855. teradataml/data/modularity_example.json +12 -0
  856. teradataml/data/movavg_example.json +8 -0
  857. teradataml/data/mtx1.csv +7 -0
  858. teradataml/data/mtx2.csv +13 -0
  859. teradataml/data/multi_model_classification.csv +401 -0
  860. teradataml/data/multi_model_regression.csv +401 -0
  861. teradataml/data/mvdfft8.csv +9 -0
  862. teradataml/data/naivebayes_example.json +10 -0
  863. teradataml/data/naivebayespredict_example.json +19 -0
  864. teradataml/data/naivebayestextclassifier2_example.json +7 -0
  865. teradataml/data/naivebayestextclassifier_example.json +8 -0
  866. teradataml/data/naivebayestextclassifierpredict_example.json +32 -0
  867. teradataml/data/name_Find_configure.csv +10 -0
  868. teradataml/data/namedentityfinder_example.json +14 -0
  869. teradataml/data/namedentityfinderevaluator_example.json +10 -0
  870. teradataml/data/namedentityfindertrainer_example.json +6 -0
  871. teradataml/data/nb_iris_input_test.csv +31 -0
  872. teradataml/data/nb_iris_input_train.csv +121 -0
  873. teradataml/data/nbp_iris_model.csv +13 -0
  874. teradataml/data/ner_dict.csv +8 -0
  875. teradataml/data/ner_extractor_text.csv +2 -0
  876. teradataml/data/ner_input_eng.csv +7 -0
  877. teradataml/data/ner_rule.csv +5 -0
  878. teradataml/data/ner_sports_test2.csv +29 -0
  879. teradataml/data/ner_sports_train.csv +501 -0
  880. teradataml/data/nerevaluator_example.json +6 -0
  881. teradataml/data/nerextractor_example.json +18 -0
  882. teradataml/data/nermem_sports_test.csv +18 -0
  883. teradataml/data/nermem_sports_train.csv +51 -0
  884. teradataml/data/nertrainer_example.json +7 -0
  885. teradataml/data/ngrams_example.json +7 -0
  886. teradataml/data/notebooks/__init__.py +0 -0
  887. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Aggregate Functions using SQLAlchemy.ipynb +1455 -0
  888. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Arithmetic Functions Using SQLAlchemy.ipynb +1993 -0
  889. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Bit-Byte Manipulation Functions using SQLAlchemy.ipynb +1492 -0
  890. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Built-in functions using SQLAlchemy.ipynb +536 -0
  891. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Regular Expressions Using SQLAlchemy.ipynb +570 -0
  892. teradataml/data/notebooks/sqlalchemy/Teradata Vantage String Functions Using SQLAlchemy.ipynb +2559 -0
  893. teradataml/data/notebooks/sqlalchemy/Teradata Vantage Window Aggregate Functions using SQLAlchemy.ipynb +2911 -0
  894. teradataml/data/notebooks/sqlalchemy/Using Generic SQLAlchemy ClauseElements teradataml DataFrame assign method.ipynb +698 -0
  895. teradataml/data/notebooks/sqlalchemy/__init__.py +0 -0
  896. teradataml/data/notebooks/sqlalchemy/teradataml filtering using SQLAlchemy ClauseElements.ipynb +784 -0
  897. teradataml/data/npath_example.json +23 -0
  898. teradataml/data/ntree_example.json +14 -0
  899. teradataml/data/numeric_strings.csv +5 -0
  900. teradataml/data/numerics.csv +4 -0
  901. teradataml/data/ocean_buoy.csv +17 -0
  902. teradataml/data/ocean_buoy2.csv +17 -0
  903. teradataml/data/ocean_buoys.csv +28 -0
  904. teradataml/data/ocean_buoys2.csv +10 -0
  905. teradataml/data/ocean_buoys_nonpti.csv +28 -0
  906. teradataml/data/ocean_buoys_seq.csv +29 -0
  907. teradataml/data/onehot_encoder_train.csv +4 -0
  908. teradataml/data/openml_example.json +92 -0
  909. teradataml/data/optional_event_table.csv +4 -0
  910. teradataml/data/orders1.csv +11 -0
  911. teradataml/data/orders1_12.csv +13 -0
  912. teradataml/data/orders_ex.csv +4 -0
  913. teradataml/data/pack_example.json +9 -0
  914. teradataml/data/package_tracking.csv +19 -0
  915. teradataml/data/package_tracking_pti.csv +19 -0
  916. teradataml/data/pagerank_example.json +13 -0
  917. teradataml/data/paragraphs_input.csv +6 -0
  918. teradataml/data/pathanalyzer_example.json +8 -0
  919. teradataml/data/pathgenerator_example.json +8 -0
  920. teradataml/data/patient_profile.csv +101 -0
  921. teradataml/data/pattern_matching_data.csv +11 -0
  922. teradataml/data/payment_fraud_dataset.csv +10001 -0
  923. teradataml/data/peppers.png +0 -0
  924. teradataml/data/phrases.csv +7 -0
  925. teradataml/data/pivot_example.json +9 -0
  926. teradataml/data/pivot_input.csv +22 -0
  927. teradataml/data/playerRating.csv +31 -0
  928. teradataml/data/pos_input.csv +40 -0
  929. teradataml/data/postagger_example.json +7 -0
  930. teradataml/data/posttagger_output.csv +44 -0
  931. teradataml/data/production_data.csv +17 -0
  932. teradataml/data/production_data2.csv +7 -0
  933. teradataml/data/randomsample_example.json +32 -0
  934. teradataml/data/randomwalksample_example.json +9 -0
  935. teradataml/data/rank_table.csv +6 -0
  936. teradataml/data/real_values.csv +14 -0
  937. teradataml/data/ref_mobile_data.csv +4 -0
  938. teradataml/data/ref_mobile_data_dense.csv +2 -0
  939. teradataml/data/ref_url.csv +17 -0
  940. teradataml/data/restaurant_reviews.csv +7 -0
  941. teradataml/data/retail_churn_table.csv +27772 -0
  942. teradataml/data/river_data.csv +145 -0
  943. teradataml/data/roc_example.json +8 -0
  944. teradataml/data/roc_input.csv +101 -0
  945. teradataml/data/rule_inputs.csv +6 -0
  946. teradataml/data/rule_table.csv +2 -0
  947. teradataml/data/sales.csv +7 -0
  948. teradataml/data/sales_transaction.csv +501 -0
  949. teradataml/data/salesdata.csv +342 -0
  950. teradataml/data/sample_cities.csv +3 -0
  951. teradataml/data/sample_shapes.csv +11 -0
  952. teradataml/data/sample_streets.csv +3 -0
  953. teradataml/data/sampling_example.json +16 -0
  954. teradataml/data/sax_example.json +17 -0
  955. teradataml/data/scale_attributes.csv +3 -0
  956. teradataml/data/scale_example.json +74 -0
  957. teradataml/data/scale_housing.csv +11 -0
  958. teradataml/data/scale_housing_test.csv +6 -0
  959. teradataml/data/scale_input_part_sparse.csv +31 -0
  960. teradataml/data/scale_input_partitioned.csv +16 -0
  961. teradataml/data/scale_input_sparse.csv +11 -0
  962. teradataml/data/scale_parameters.csv +3 -0
  963. teradataml/data/scale_stat.csv +11 -0
  964. teradataml/data/scalebypartition_example.json +13 -0
  965. teradataml/data/scalemap_example.json +13 -0
  966. teradataml/data/scalesummary_example.json +12 -0
  967. teradataml/data/score_category.csv +101 -0
  968. teradataml/data/score_summary.csv +4 -0
  969. teradataml/data/script_example.json +10 -0
  970. teradataml/data/scripts/deploy_script.py +84 -0
  971. teradataml/data/scripts/lightgbm/dataset.template +175 -0
  972. teradataml/data/scripts/lightgbm/lightgbm_class_functions.template +264 -0
  973. teradataml/data/scripts/lightgbm/lightgbm_function.template +234 -0
  974. teradataml/data/scripts/lightgbm/lightgbm_sklearn.template +177 -0
  975. teradataml/data/scripts/mapper.R +20 -0
  976. teradataml/data/scripts/mapper.py +16 -0
  977. teradataml/data/scripts/mapper_replace.py +16 -0
  978. teradataml/data/scripts/sklearn/__init__.py +0 -0
  979. teradataml/data/scripts/sklearn/sklearn_fit.py +205 -0
  980. teradataml/data/scripts/sklearn/sklearn_fit_predict.py +148 -0
  981. teradataml/data/scripts/sklearn/sklearn_function.template +144 -0
  982. teradataml/data/scripts/sklearn/sklearn_model_selection_split.py +166 -0
  983. teradataml/data/scripts/sklearn/sklearn_neighbors.py +161 -0
  984. teradataml/data/scripts/sklearn/sklearn_score.py +145 -0
  985. teradataml/data/scripts/sklearn/sklearn_transform.py +327 -0
  986. teradataml/data/sdk/modelops/modelops_spec.json +101737 -0
  987. teradataml/data/seeds.csv +10 -0
  988. teradataml/data/sentenceextractor_example.json +7 -0
  989. teradataml/data/sentiment_extract_input.csv +11 -0
  990. teradataml/data/sentiment_train.csv +16 -0
  991. teradataml/data/sentiment_word.csv +20 -0
  992. teradataml/data/sentiment_word_input.csv +20 -0
  993. teradataml/data/sentimentextractor_example.json +24 -0
  994. teradataml/data/sentimenttrainer_example.json +8 -0
  995. teradataml/data/sequence_table.csv +10 -0
  996. teradataml/data/seriessplitter_example.json +8 -0
  997. teradataml/data/sessionize_example.json +17 -0
  998. teradataml/data/sessionize_table.csv +116 -0
  999. teradataml/data/setop_test1.csv +24 -0
  1000. teradataml/data/setop_test2.csv +22 -0
  1001. teradataml/data/soc_nw_edges.csv +11 -0
  1002. teradataml/data/soc_nw_vertices.csv +8 -0
  1003. teradataml/data/souvenir_timeseries.csv +168 -0
  1004. teradataml/data/sparse_iris_attribute.csv +5 -0
  1005. teradataml/data/sparse_iris_test.csv +121 -0
  1006. teradataml/data/sparse_iris_train.csv +601 -0
  1007. teradataml/data/star1.csv +6 -0
  1008. teradataml/data/star_pivot.csv +8 -0
  1009. teradataml/data/state_transition.csv +5 -0
  1010. teradataml/data/stock_data.csv +53 -0
  1011. teradataml/data/stock_movement.csv +11 -0
  1012. teradataml/data/stock_vol.csv +76 -0
  1013. teradataml/data/stop_words.csv +8 -0
  1014. teradataml/data/store_sales.csv +37 -0
  1015. teradataml/data/stringsimilarity_example.json +8 -0
  1016. teradataml/data/strsimilarity_input.csv +13 -0
  1017. teradataml/data/students.csv +101 -0
  1018. teradataml/data/svm_iris_input_test.csv +121 -0
  1019. teradataml/data/svm_iris_input_train.csv +481 -0
  1020. teradataml/data/svm_iris_model.csv +7 -0
  1021. teradataml/data/svmdense_example.json +10 -0
  1022. teradataml/data/svmdensepredict_example.json +19 -0
  1023. teradataml/data/svmsparse_example.json +8 -0
  1024. teradataml/data/svmsparsepredict_example.json +14 -0
  1025. teradataml/data/svmsparsesummary_example.json +8 -0
  1026. teradataml/data/target_mobile_data.csv +13 -0
  1027. teradataml/data/target_mobile_data_dense.csv +5 -0
  1028. teradataml/data/target_udt_data.csv +8 -0
  1029. teradataml/data/tdnerextractor_example.json +14 -0
  1030. teradataml/data/templatedata.csv +1201 -0
  1031. teradataml/data/templates/open_source_ml.json +11 -0
  1032. teradataml/data/teradata_icon.ico +0 -0
  1033. teradataml/data/teradataml_example.json +1473 -0
  1034. teradataml/data/test_classification.csv +101 -0
  1035. teradataml/data/test_loan_prediction.csv +53 -0
  1036. teradataml/data/test_pacf_12.csv +37 -0
  1037. teradataml/data/test_prediction.csv +101 -0
  1038. teradataml/data/test_regression.csv +101 -0
  1039. teradataml/data/test_river2.csv +109 -0
  1040. teradataml/data/text_inputs.csv +6 -0
  1041. teradataml/data/textchunker_example.json +8 -0
  1042. teradataml/data/textclassifier_example.json +7 -0
  1043. teradataml/data/textclassifier_input.csv +7 -0
  1044. teradataml/data/textclassifiertrainer_example.json +7 -0
  1045. teradataml/data/textmorph_example.json +11 -0
  1046. teradataml/data/textparser_example.json +15 -0
  1047. teradataml/data/texttagger_example.json +12 -0
  1048. teradataml/data/texttokenizer_example.json +7 -0
  1049. teradataml/data/texttrainer_input.csv +11 -0
  1050. teradataml/data/tf_example.json +7 -0
  1051. teradataml/data/tfidf_example.json +14 -0
  1052. teradataml/data/tfidf_input1.csv +201 -0
  1053. teradataml/data/tfidf_train.csv +6 -0
  1054. teradataml/data/time_table1.csv +535 -0
  1055. teradataml/data/time_table2.csv +14 -0
  1056. teradataml/data/timeseriesdata.csv +1601 -0
  1057. teradataml/data/timeseriesdatasetsd4.csv +105 -0
  1058. teradataml/data/timestamp_data.csv +4 -0
  1059. teradataml/data/titanic.csv +892 -0
  1060. teradataml/data/titanic_dataset_unpivoted.csv +19 -0
  1061. teradataml/data/to_num_data.csv +4 -0
  1062. teradataml/data/tochar_data.csv +5 -0
  1063. teradataml/data/token_table.csv +696 -0
  1064. teradataml/data/train_multiclass.csv +101 -0
  1065. teradataml/data/train_regression.csv +101 -0
  1066. teradataml/data/train_regression_multiple_labels.csv +101 -0
  1067. teradataml/data/train_tracking.csv +28 -0
  1068. teradataml/data/trans_dense.csv +16 -0
  1069. teradataml/data/trans_sparse.csv +55 -0
  1070. teradataml/data/transformation_table.csv +6 -0
  1071. teradataml/data/transformation_table_new.csv +2 -0
  1072. teradataml/data/tv_spots.csv +16 -0
  1073. teradataml/data/twod_climate_data.csv +117 -0
  1074. teradataml/data/uaf_example.json +529 -0
  1075. teradataml/data/univariatestatistics_example.json +9 -0
  1076. teradataml/data/unpack_example.json +10 -0
  1077. teradataml/data/unpivot_example.json +25 -0
  1078. teradataml/data/unpivot_input.csv +8 -0
  1079. teradataml/data/url_data.csv +10 -0
  1080. teradataml/data/us_air_pass.csv +37 -0
  1081. teradataml/data/us_population.csv +624 -0
  1082. teradataml/data/us_states_shapes.csv +52 -0
  1083. teradataml/data/varmax_example.json +18 -0
  1084. teradataml/data/vectordistance_example.json +30 -0
  1085. teradataml/data/ville_climatedata.csv +121 -0
  1086. teradataml/data/ville_tempdata.csv +12 -0
  1087. teradataml/data/ville_tempdata1.csv +12 -0
  1088. teradataml/data/ville_temperature.csv +11 -0
  1089. teradataml/data/waveletTable.csv +1605 -0
  1090. teradataml/data/waveletTable2.csv +1605 -0
  1091. teradataml/data/weightedmovavg_example.json +9 -0
  1092. teradataml/data/wft_testing.csv +5 -0
  1093. teradataml/data/windowdfft.csv +16 -0
  1094. teradataml/data/wine_data.csv +1600 -0
  1095. teradataml/data/word_embed_input_table1.csv +6 -0
  1096. teradataml/data/word_embed_input_table2.csv +5 -0
  1097. teradataml/data/word_embed_model.csv +23 -0
  1098. teradataml/data/words_input.csv +13 -0
  1099. teradataml/data/xconvolve_complex_left.csv +6 -0
  1100. teradataml/data/xconvolve_complex_leftmulti.csv +6 -0
  1101. teradataml/data/xgboost_example.json +36 -0
  1102. teradataml/data/xgboostpredict_example.json +32 -0
  1103. teradataml/data/ztest_example.json +16 -0
  1104. teradataml/dataframe/__init__.py +0 -0
  1105. teradataml/dataframe/copy_to.py +2446 -0
  1106. teradataml/dataframe/data_transfer.py +2840 -0
  1107. teradataml/dataframe/dataframe.py +20908 -0
  1108. teradataml/dataframe/dataframe_utils.py +2114 -0
  1109. teradataml/dataframe/fastload.py +794 -0
  1110. teradataml/dataframe/functions.py +2110 -0
  1111. teradataml/dataframe/indexer.py +424 -0
  1112. teradataml/dataframe/row.py +160 -0
  1113. teradataml/dataframe/setop.py +1171 -0
  1114. teradataml/dataframe/sql.py +10904 -0
  1115. teradataml/dataframe/sql_function_parameters.py +440 -0
  1116. teradataml/dataframe/sql_functions.py +652 -0
  1117. teradataml/dataframe/sql_interfaces.py +220 -0
  1118. teradataml/dataframe/vantage_function_types.py +675 -0
  1119. teradataml/dataframe/window.py +694 -0
  1120. teradataml/dbutils/__init__.py +3 -0
  1121. teradataml/dbutils/dbutils.py +2871 -0
  1122. teradataml/dbutils/filemgr.py +318 -0
  1123. teradataml/gen_ai/__init__.py +2 -0
  1124. teradataml/gen_ai/convAI.py +473 -0
  1125. teradataml/geospatial/__init__.py +4 -0
  1126. teradataml/geospatial/geodataframe.py +1105 -0
  1127. teradataml/geospatial/geodataframecolumn.py +392 -0
  1128. teradataml/geospatial/geometry_types.py +926 -0
  1129. teradataml/hyperparameter_tuner/__init__.py +1 -0
  1130. teradataml/hyperparameter_tuner/optimizer.py +4115 -0
  1131. teradataml/hyperparameter_tuner/utils.py +303 -0
  1132. teradataml/lib/__init__.py +0 -0
  1133. teradataml/lib/aed_0_1.dll +0 -0
  1134. teradataml/lib/libaed_0_1.dylib +0 -0
  1135. teradataml/lib/libaed_0_1.so +0 -0
  1136. teradataml/lib/libaed_0_1_aarch64.so +0 -0
  1137. teradataml/lib/libaed_0_1_ppc64le.so +0 -0
  1138. teradataml/opensource/__init__.py +1 -0
  1139. teradataml/opensource/_base.py +1321 -0
  1140. teradataml/opensource/_class.py +464 -0
  1141. teradataml/opensource/_constants.py +61 -0
  1142. teradataml/opensource/_lightgbm.py +949 -0
  1143. teradataml/opensource/_sklearn.py +1008 -0
  1144. teradataml/opensource/_wrapper_utils.py +267 -0
  1145. teradataml/options/__init__.py +148 -0
  1146. teradataml/options/configure.py +489 -0
  1147. teradataml/options/display.py +187 -0
  1148. teradataml/plot/__init__.py +3 -0
  1149. teradataml/plot/axis.py +1427 -0
  1150. teradataml/plot/constants.py +15 -0
  1151. teradataml/plot/figure.py +431 -0
  1152. teradataml/plot/plot.py +810 -0
  1153. teradataml/plot/query_generator.py +83 -0
  1154. teradataml/plot/subplot.py +216 -0
  1155. teradataml/scriptmgmt/UserEnv.py +4273 -0
  1156. teradataml/scriptmgmt/__init__.py +3 -0
  1157. teradataml/scriptmgmt/lls_utils.py +2157 -0
  1158. teradataml/sdk/README.md +79 -0
  1159. teradataml/sdk/__init__.py +4 -0
  1160. teradataml/sdk/_auth_modes.py +422 -0
  1161. teradataml/sdk/_func_params.py +487 -0
  1162. teradataml/sdk/_json_parser.py +453 -0
  1163. teradataml/sdk/_openapi_spec_constants.py +249 -0
  1164. teradataml/sdk/_utils.py +236 -0
  1165. teradataml/sdk/api_client.py +900 -0
  1166. teradataml/sdk/constants.py +62 -0
  1167. teradataml/sdk/modelops/__init__.py +98 -0
  1168. teradataml/sdk/modelops/_client.py +409 -0
  1169. teradataml/sdk/modelops/_constants.py +304 -0
  1170. teradataml/sdk/modelops/models.py +2308 -0
  1171. teradataml/sdk/spinner.py +107 -0
  1172. teradataml/series/__init__.py +0 -0
  1173. teradataml/series/series.py +537 -0
  1174. teradataml/series/series_utils.py +71 -0
  1175. teradataml/store/__init__.py +12 -0
  1176. teradataml/store/feature_store/__init__.py +0 -0
  1177. teradataml/store/feature_store/constants.py +658 -0
  1178. teradataml/store/feature_store/feature_store.py +4814 -0
  1179. teradataml/store/feature_store/mind_map.py +639 -0
  1180. teradataml/store/feature_store/models.py +7330 -0
  1181. teradataml/store/feature_store/utils.py +390 -0
  1182. teradataml/table_operators/Apply.py +979 -0
  1183. teradataml/table_operators/Script.py +1739 -0
  1184. teradataml/table_operators/TableOperator.py +1343 -0
  1185. teradataml/table_operators/__init__.py +2 -0
  1186. teradataml/table_operators/apply_query_generator.py +262 -0
  1187. teradataml/table_operators/query_generator.py +493 -0
  1188. teradataml/table_operators/table_operator_query_generator.py +462 -0
  1189. teradataml/table_operators/table_operator_util.py +726 -0
  1190. teradataml/table_operators/templates/dataframe_apply.template +184 -0
  1191. teradataml/table_operators/templates/dataframe_map.template +176 -0
  1192. teradataml/table_operators/templates/dataframe_register.template +73 -0
  1193. teradataml/table_operators/templates/dataframe_udf.template +67 -0
  1194. teradataml/table_operators/templates/script_executor.template +170 -0
  1195. teradataml/telemetry_utils/__init__.py +0 -0
  1196. teradataml/telemetry_utils/queryband.py +53 -0
  1197. teradataml/utils/__init__.py +0 -0
  1198. teradataml/utils/docstring.py +527 -0
  1199. teradataml/utils/dtypes.py +943 -0
  1200. teradataml/utils/internal_buffer.py +122 -0
  1201. teradataml/utils/print_versions.py +206 -0
  1202. teradataml/utils/utils.py +451 -0
  1203. teradataml/utils/validators.py +3305 -0
  1204. teradataml-20.0.0.8.dist-info/METADATA +2804 -0
  1205. teradataml-20.0.0.8.dist-info/RECORD +1208 -0
  1206. teradataml-20.0.0.8.dist-info/WHEEL +5 -0
  1207. teradataml-20.0.0.8.dist-info/top_level.txt +1 -0
  1208. 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
+