Downloads · 30 days
0
mjpsm/Entrepreneurial-Readiness-XGB-v2
Entrepreneurial-Readiness-XGB-v2 is a tabular classification model from mjpsm. Use it for the tabular classification task on the model card, and read the license before you ship it in a product. It is set up for xgboost. The card lists the license as mit.
3-class tabular classifier that predicts entrepreneurial readiness — low, medium, or high — from numeric features describing finances, capacity, experience, and mindset.
Downloads · 30 days
0
Access
Public
Updated Aug 24, 2025
Repo size
—
Likes
0
Public
Click a slice to open those files.
.json1.1 MB · 99%
From the Hugging Face model README
3-class tabular classifier that predicts entrepreneurial readiness — low, medium, or high — from numeric features describing finances, capacity, experience, and mindset.
This is an XGBoost model (not a Transformer). It’s published here for easy access via the Hugging Face Hub.
xgb_model.json — XGBoost booster (JSON format)feature_order.json — ordered list of input feature names (the model expects this order)label_map.json — mapping { "low": 0, "medium": 1, "high": 2 }The model expects all of the following numeric features (see feature_order.json for the exact order):
savings — liquid savings in dollarsmonthly_income — monthly income ($)monthly_bills — monthly fixed expenses ($)monthly_entertainment_spend — discretionary monthly spend ($)sales_skills_1to10 — self-rated sales skills (1–10)age — yearsdependents_count — number of dependentsassets — approximate assets value ($)risk_tolerance_1to10 — self-rated risk tolerance (1–10)confidence_1to10 — self-rated confidence (1–10)idea_difficulty_1to10 — perceived idea difficulty (1–10; higher = harder)runway_months — months of financial runway (capped at 60 if net burn ≤ 0)savings_to_expense_ratio — savings / (monthly_bills + monthly_entertainment_spend) (capped at 12)prior_businesses_started_ — count of prior startups/venturesprior_exits — count of prior exitstime_available_hours_per_week — weekly time available for the venture⚠️ Important: The model was trained with
runway_monthsandsavings_to_expense_ratioalready computed. For best results, provide these two features at inference time using the same logic.
pip install xgboost pandas huggingface_hub
### Load from the Hub and predict
```python
from huggingface_hub import hf_hub_download
from xgboost import XGBClassifier
import json, pandas as pd
REPO_ID = "mjpsm/Entrepreneurial-Readiness-XGB-v2"
# Download artifacts
model_file = hf_hub_download(REPO_ID, "xgb_model.json")
feat_file = hf_hub_download(REPO_ID, "feature_order.json")
map_file = hf_hub_download(REPO_ID, "label_map.json")
# Load model + metadata
clf = XGBClassifier(); clf.load_model(model_file)
feature_order = json.load(open(feat_file))
label_map = json.load(open(map_file))
inv_map = {v: k for k, v in label_map.items()}
# (Optional) helper if you don't provide the two derived features
def add_derived(r):
bills = float(r["monthly_bills"])
ent = float(r["monthly_entertainment_spend"])
income= float(r["monthly_income"])
savings = float(r["savings"])
# Ratio (cap at 12, matching training)
denom = bills + ent
r["savings_to_expense_ratio"] = min(12.0, (savings / denom) if denom > 0 else 12.0)
# Runway (cap at 60, matching training)
net_burn = (bills + ent) - income
r["runway_months"] = 60.0 if net_burn <= 0 else max(0.0, min(60.0, savings / net_burn))
return r
# Example row (numbers are illustrative)
row = {
"savings": 8500.0,
"monthly_income": 4200.0,
"monthly_bills": 3100.0,
"monthly_entertainment_spend": 200.0,
"sales_skills_1to10": 7,
"age": 29,
"dependents_count": 0,
"assets": 15000.0,
"risk_tolerance_1to10": 7,
"confidence_1to10": 8,
"idea_difficulty_1to10": 5,
"prior_businesses_started_": 1,
"prior_exits": 0,
"time_available_hours_per_week": 35
}
# If you didn't compute the derived features already, add them:
row = add_derived(row)
# Predict
X = pd.DataFrame([row])[feature_order]
pred_id = int(clf.predict(X)[0])
probs = clf.predict_proba(X)[0].tolist()
print("prediction:", inv_map[pred_id])
print("probs:", {inv_map[i]: round(p, 4) for i, p in enumerate(probs)})