Skip to content

Featrix Cheatsheet

Minimal copy-paste patterns for AI agents.

Setup

from featrixsphere.api import FeatrixSphere
featrix = FeatrixSphere()

Train Model + Predictor

# From CSV
fm = featrix.create_foundational_model(data_file="data.csv")
fm.wait_for_training()

# Binary classification
predictor = fm.create_binary_classifier(target_column="is_fraud", rare_label_value="fraud")
predictor.wait_for_training()

# Multi-class classification
predictor = fm.create_multi_classifier(target_column="category")
predictor.wait_for_training()

# Regression
predictor = fm.create_regressor(target_column="price")
predictor.wait_for_training()

Predict

# Single
result = predictor.predict({"col1": "value", "col2": 123})
print(result.predicted_class, result.confidence)

# Batch
results = predictor.batch_predict([{"col1": "a"}, {"col1": "b"}])

# From CSV
results = predictor.predict_csv_file("test.csv")

Resume Existing

fm = featrix.foundational_model("session-id-here")
predictor = featrix.predictor("predictor-id", "session-id")

Deploy

endpoint = predictor.create_api_endpoint(name="my_api")
print(endpoint.url, endpoint.api_key)

Feedback

featrix.prediction_feedback(result.prediction_uuid, ground_truth="actual_value")
vdb = fm.create_vector_database()
similar = vdb.similarity_search({"col1": "query"}, k=10)

Explainability

result = predictor.predict(record, feature_importance=True)
print(result.feature_importance)

Cost-Sensitive (Fraud/Churn)

predictor = fm.create_binary_classifier(
    target_column="is_fraud",
    rare_label_value="fraud",
    cost_false_negative=5000,
    cost_false_positive=10
)

Ignore Columns

fm = featrix.create_foundational_model(
    data_file="data.csv",
    ignore_columns=["id", "timestamp", "notes"]
)

Check Result Properties

result.predicted_class    # "fraud" or "legitimate"
result.prediction         # raw value (float for regression)
result.confidence         # 0.0 to 1.0
result.probabilities      # {"fraud": 0.9, "legitimate": 0.1}
result.prediction_uuid    # for feedback
result.guardrails         # {"col": "warning"} if input unusual
result.feature_importance # {"col": 0.5, ...} if requested

Check Model Properties

fm.status      # "training", "done", "error"
fm.columns     # ["col1", "col2", ...]
fm.dimensions  # embedding size

predictor.status    # "training", "done", "error"
predictor.accuracy  # 0.0 to 1.0
predictor.auc       # ROC-AUC score

Error Handling

try:
    fm.wait_for_training(max_wait_time=3600)
except TimeoutError:
    print("Training timed out")
except RuntimeError as e:
    print(f"Training failed: {e}")