featrixsphere 0.2.1238__tar.gz → 0.2.1314__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 (19) hide show
  1. {featrixsphere-0.2.1238/featrixsphere.egg-info → featrixsphere-0.2.1314}/PKG-INFO +1 -1
  2. featrixsphere-0.2.1314/VERSION +1 -0
  3. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/featrixsphere/__init__.py +1 -1
  4. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/featrixsphere/client.py +3 -41
  5. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314/featrixsphere.egg-info}/PKG-INFO +1 -1
  6. featrixsphere-0.2.1238/VERSION +0 -1
  7. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/MANIFEST.in +0 -0
  8. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/README.md +0 -0
  9. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/featrixsphere/cli.py +0 -0
  10. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/featrixsphere/test_client.py +0 -0
  11. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/featrixsphere.egg-info/SOURCES.txt +0 -0
  12. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/featrixsphere.egg-info/dependency_links.txt +0 -0
  13. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/featrixsphere.egg-info/entry_points.txt +0 -0
  14. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/featrixsphere.egg-info/not-zip-safe +0 -0
  15. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/featrixsphere.egg-info/requires.txt +0 -0
  16. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/featrixsphere.egg-info/top_level.txt +0 -0
  17. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/requirements.txt +0 -0
  18. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/setup.cfg +0 -0
  19. {featrixsphere-0.2.1238 → featrixsphere-0.2.1314}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: featrixsphere
3
- Version: 0.2.1238
3
+ Version: 0.2.1314
4
4
  Summary: Transform any CSV into a production-ready ML model in minutes, not months.
5
5
  Home-page: https://github.com/Featrix/sphere
6
6
  Author: Featrix
@@ -0,0 +1 @@
1
+ 0.2.1314
@@ -38,7 +38,7 @@ Example:
38
38
  ... labels=['Experiment A', 'Experiment B'])
39
39
  """
40
40
 
41
- __version__ = "0.2.1238"
41
+ __version__ = "0.2.1314"
42
42
  __author__ = "Featrix"
43
43
  __email__ = "support@featrix.com"
44
44
  __license__ = "MIT"
@@ -4117,7 +4117,6 @@ class FeatrixSphereClient:
4117
4117
  epochs: int = 0,
4118
4118
  rare_label_value: str = None,
4119
4119
  class_imbalance: dict = None,
4120
- optimize_for: str = "balanced",
4121
4120
  poll_interval: int = 30, max_poll_time: int = 3600,
4122
4121
  verbose: bool = True,
4123
4122
  webhooks: Dict[str, str] = None) -> SessionInfo:
@@ -4140,7 +4139,6 @@ class FeatrixSphereClient:
4140
4139
  epochs: Number of training epochs (default: 0; automatic)
4141
4140
  rare_label_value: For binary classification, which class is the rare/minority class for metrics (default: None)
4142
4141
  class_imbalance: Expected class ratios/counts from real world for sampled data (default: None)
4143
- optimize_for: Optimization target - "balanced" (F1 score), "precision", or "recall" (default: "balanced")
4144
4142
  poll_interval: Seconds between status checks when job is already running (default: 30)
4145
4143
  max_poll_time: Maximum time to poll in seconds (default: 3600 = 1 hour)
4146
4144
  verbose: Whether to print status updates during polling (default: True)
@@ -4178,7 +4176,6 @@ class FeatrixSphereClient:
4178
4176
  "target_column": target_column,
4179
4177
  "target_column_type": target_column_type,
4180
4178
  "epochs": str(epochs),
4181
- "optimize_for": optimize_for,
4182
4179
  }
4183
4180
 
4184
4181
  # Handle file upload - send file directly in multipart form
@@ -4297,7 +4294,6 @@ class FeatrixSphereClient:
4297
4294
  validation_ignore_columns: List[str] = None,
4298
4295
  rare_label_value: str = None,
4299
4296
  class_imbalance: dict = None,
4300
- optimize_for: str = "balanced",
4301
4297
  cost_false_positive: float = None,
4302
4298
  cost_false_negative: float = None,
4303
4299
  poll_interval: int = 30, max_poll_time: int = 3600,
@@ -4477,24 +4473,6 @@ class FeatrixSphereClient:
4477
4473
  This happens automatically - no configuration needed. The system invests a few seconds
4478
4474
  in analysis to deliver significantly better models.
4479
4475
 
4480
- Understanding optimize_for:
4481
- ---------------------------
4482
- The optimize_for parameter controls which loss function and training strategy is used,
4483
- optimizing for different aspects of model performance:
4484
-
4485
- - "balanced" (default): Optimizes for F1 score (harmonic mean of precision and recall).
4486
- Uses FocalLoss with class weights. Best for general-purpose classification where you
4487
- want balanced performance across all classes.
4488
-
4489
- - "precision": Optimizes for precision (minimizing false positives). Uses FocalLoss with
4490
- class weights, which focuses training on hard-to-classify examples. Best when false
4491
- positives are costly (e.g., fraud detection where flagging legitimate transactions
4492
- as fraud is expensive).
4493
-
4494
- - "recall": Optimizes for recall (minimizing false negatives). Uses CrossEntropyLoss
4495
- with class weights that strongly boost the minority class. Best when false negatives
4496
- are costly (e.g., medical diagnosis where missing a disease is dangerous).
4497
-
4498
4476
  Understanding class_imbalance:
4499
4477
  ------------------------------
4500
4478
  For imbalanced datasets where your training data doesn't reflect real-world class
@@ -4615,7 +4593,6 @@ class FeatrixSphereClient:
4615
4593
  target_column='approved',
4616
4594
  target_column_type='set',
4617
4595
  class_imbalance={'approved': 0.97, 'rejected': 0.03},
4618
- optimize_for='recall', # Don't miss rejections
4619
4596
  rare_label_value='rejected'
4620
4597
  )
4621
4598
 
@@ -4636,7 +4613,6 @@ class FeatrixSphereClient:
4636
4613
  target_column='is_fraud',
4637
4614
  target_column_type='set',
4638
4615
  rare_label_value='fraud',
4639
- optimize_for='precision', # Minimize false alarms
4640
4616
  class_imbalance={'legitimate': 0.999, 'fraud': 0.001}
4641
4617
  )
4642
4618
  ```
@@ -4650,8 +4626,7 @@ class FeatrixSphereClient:
4650
4626
  session_id=session.session_id,
4651
4627
  target_column='has_disease',
4652
4628
  target_column_type='set',
4653
- rare_label_value='positive',
4654
- optimize_for='recall' # Don't miss any cases
4629
+ rare_label_value='positive'
4655
4630
  )
4656
4631
  ```
4657
4632
 
@@ -4693,14 +4668,6 @@ class FeatrixSphereClient:
4693
4668
  validation_ignore_columns: List of column names to exclude from validation queries (default: None)
4694
4669
  rare_label_value: For binary classification, which class is the rare/minority class for metrics (default: None)
4695
4670
  class_imbalance: Expected class ratios/counts from real world for sampled data (default: None)
4696
- optimize_for: Optimization target - "balanced" (F1 score), "precision", or "recall" (default: "balanced").
4697
- Ignored if cost_false_positive and cost_false_negative are provided.
4698
- cost_false_positive: Cost of a false positive (predicting positive when actually negative).
4699
- Must be specified together with cost_false_negative. Only valid for target_column_type="set".
4700
- When provided, overrides optimize_for and uses cost-based optimization.
4701
- cost_false_negative: Cost of a false negative (predicting negative when actually positive).
4702
- Must be specified together with cost_false_positive. Only valid for target_column_type="set".
4703
- When provided, overrides optimize_for and uses cost-based optimization.
4704
4671
  poll_interval: Seconds between status checks when job is already running (default: 30)
4705
4672
  max_poll_time: Maximum time to poll in seconds (default: 3600 = 1 hour)
4706
4673
  verbose: Whether to print status updates during polling (default: True)
@@ -4727,7 +4694,6 @@ class FeatrixSphereClient:
4727
4694
  raise ValueError("cost_false_positive and cost_false_negative must be positive numbers")
4728
4695
  if verbose:
4729
4696
  print(f"💰 Cost-based optimization enabled: FP cost={cost_false_positive}, FN cost={cost_false_negative}")
4730
- print(f" (optimize_for='{optimize_for}' will be ignored)")
4731
4697
 
4732
4698
  # If DataFrame provided, save to temp file and use file_path logic
4733
4699
  temp_file = None
@@ -4761,7 +4727,6 @@ class FeatrixSphereClient:
4761
4727
  epochs=epochs,
4762
4728
  rare_label_value=rare_label_value,
4763
4729
  class_imbalance=class_imbalance,
4764
- optimize_for=optimize_for,
4765
4730
  cost_false_positive=cost_false_positive,
4766
4731
  cost_false_negative=cost_false_negative,
4767
4732
  verbose=verbose,
@@ -4775,8 +4740,7 @@ class FeatrixSphereClient:
4775
4740
  "epochs": epochs,
4776
4741
  "validation_ignore_columns": validation_ignore_columns or [],
4777
4742
  "rare_label_value": rare_label_value,
4778
- "class_imbalance": class_imbalance,
4779
- "optimize_for": optimize_for
4743
+ "class_imbalance": class_imbalance
4780
4744
  }
4781
4745
  if cost_false_positive is not None and cost_false_negative is not None:
4782
4746
  data["cost_false_positive"] = cost_false_positive
@@ -5353,7 +5317,6 @@ class FeatrixSphereClient:
5353
5317
  epochs: int,
5354
5318
  rare_label_value: str,
5355
5319
  class_imbalance: dict,
5356
- optimize_for: str,
5357
5320
  cost_false_positive: float = None,
5358
5321
  cost_false_negative: float = None,
5359
5322
  verbose: bool = True,
@@ -5381,8 +5344,7 @@ class FeatrixSphereClient:
5381
5344
  data = {
5382
5345
  'target_column': target_column,
5383
5346
  'target_column_type': target_column_type,
5384
- 'epochs': str(epochs),
5385
- 'optimize_for': optimize_for,
5347
+ 'epochs': str(epochs)
5386
5348
  }
5387
5349
 
5388
5350
  if rare_label_value:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: featrixsphere
3
- Version: 0.2.1238
3
+ Version: 0.2.1314
4
4
  Summary: Transform any CSV into a production-ready ML model in minutes, not months.
5
5
  Home-page: https://github.com/Featrix/sphere
6
6
  Author: Featrix
@@ -1 +0,0 @@
1
- 0.2.1238