tarandm_analytics 1.0.0.dev2__tar.gz → 1.0.0.dev4__tar.gz

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 (25) hide show
  1. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/PKG-INFO +1 -1
  2. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/pyproject.toml +1 -1
  3. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/predictive_models/builder.py +2 -2
  4. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/predictive_models/extended_predictive_model.py +3 -1
  5. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/predictive_models/pmml_model.py +7 -3
  6. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/README.md +0 -0
  7. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/__init__.py +0 -0
  8. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/attribute_evaluator/__init__.py +0 -0
  9. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/attribute_evaluator/evaluate_attributes.py +0 -0
  10. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/base_class.py +0 -0
  11. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/examples/tarandm_model_development.ipynb +0 -0
  12. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/export_predictive_model/__init__.py +0 -0
  13. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/export_predictive_model/model_visualization.py +0 -0
  14. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/export_predictive_model/upload_model_to_gitlab.py +0 -0
  15. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/plots/__init__.py +0 -0
  16. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/plots/plot_functions.py +0 -0
  17. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/predictive_models/__init__.py +0 -0
  18. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/predictive_models/abstract_predictive_model.py +0 -0
  19. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/predictive_models/documentation.py +0 -0
  20. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/predictive_models/expert_score.py +0 -0
  21. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/predictive_models/extreme_gradient_boosting.py +0 -0
  22. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/predictive_models/logistic_regression.py +0 -0
  23. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/predictive_models/random_forest.py +0 -0
  24. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/utils/__init__.py +0 -0
  25. {tarandm_analytics-1.0.0.dev2 → tarandm_analytics-1.0.0.dev4}/tarandm_analytics/utils/formatting.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: tarandm_analytics
3
- Version: 1.0.0.dev2
3
+ Version: 1.0.0.dev4
4
4
  Summary: Package links analytics in Python with TaranDM software.
5
5
  Author: Marek Teller
6
6
  Author-email: mteller@taran.ai
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "tarandm_analytics"
3
- version = "1.0.0.dev2"
3
+ version = "1.0.0.dev4"
4
4
  description = "Package links analytics in Python with TaranDM software."
5
5
  authors = ["Marek Teller <mteller@taran.ai>"]
6
6
  readme = "README.md"
@@ -687,7 +687,7 @@ class PredictiveModelBuilder:
687
687
  )
688
688
 
689
689
  # Detect attributes if not provided
690
- if request_data.predictors is None or len(request_data.predictors) == 0:
690
+ if request_data.model_type != PredictiveModelType.PMML and len(request_data.predictors) == 0:
691
691
  request_data.predictors = self.automated_attribute_detection(
692
692
  model=predictive_model,
693
693
  transformations=request_data.attribute_transformation,
@@ -719,7 +719,7 @@ class PredictiveModelBuilder:
719
719
  if request_data.model_type == PredictiveModelType.PMML:
720
720
  extended_model_dict = {
721
721
  "external_model": serialized_model,
722
- "attributes": serialized_model["feature_names"],
722
+ "attributes": request_data.predictors,
723
723
  "predictive_model_type": request_data.model_type,
724
724
  "target": request_data.label_name,
725
725
  }
@@ -147,7 +147,9 @@ class ExtendedPredictiveModel(AbstractExtendedPredictiveModel):
147
147
  def apply_attribute_transformation(
148
148
  self, transformation: AttributeTransformation, attribute_value: Union[int, float]
149
149
  ) -> Optional[Union[int, float]]:
150
- raise NotImplementedError() # Implemented only in core because of QueryEvaluator
150
+ raise NotImplementedError(
151
+ "Applying transformations is not supported in tarandm-analytics"
152
+ ) # Implemented only in core because of QueryEvaluator
151
153
 
152
154
  def prepare_all_preprocessed_attributes(self, attribute_values: Dict[str, Any]) -> Dict[str, Any]: # noqa: C901
153
155
  """
@@ -34,7 +34,9 @@ class ModelPMML(AbstractPredictiveModel):
34
34
  from sklearn_pmml_model.ensemble import PMMLForestClassifier
35
35
  from sklearn_pmml_model.ensemble.gb import PMMLGradientBoostingClassifier
36
36
 
37
- tree = ET.parse(StringIO(self.pmml_model)) # nosec
37
+ model_readable: StringIO | TextIOWrapper[BytesIO] = StringIO(self.pmml_model)
38
+
39
+ tree = ET.parse(model_readable) # nosec
38
40
  root = tree.getroot()
39
41
 
40
42
  model_cls = None
@@ -57,7 +59,8 @@ class ModelPMML(AbstractPredictiveModel):
57
59
 
58
60
  new_tree = BytesIO()
59
61
  tree.write(new_tree)
60
- self.pmml_model = TextIOWrapper(new_tree, encoding="US-ASCII").read()
62
+ model_readable = TextIOWrapper(new_tree, encoding="US-ASCII")
63
+ self.pmml_model = model_readable.read()
61
64
 
62
65
  break
63
66
  elif root_attributes["algorithmName"] == "XGBoost (GBTree)":
@@ -66,7 +69,8 @@ class ModelPMML(AbstractPredictiveModel):
66
69
  if model_cls is None:
67
70
  raise ValueError("Unable to load pmml model.")
68
71
 
69
- self.model = model_cls(pmml=StringIO(self.pmml_model))
72
+ model_readable.seek(0)
73
+ self.model = model_cls(pmml=model_readable)
70
74
  self.feature_names = self._get_feature_names()
71
75
 
72
76
  return self