Data Collection
Upload Datasets
Select method
CSV
Excel
Ingest SQL Query
Ingest Full Table
CSV
Leave blank to auto-detect
Excel
Ingest SQL Query
Write a custom queryIngest Full Table
Connect & copy a tableDatasets
- No datasets yet. Upload one above.
Preview
Rows {{vm.offset}} - {{vm.offset + vm.limit}} of {{vm.total}}
| {{c}} |
|---|
| {{r[c]}} |
Integration
{{vm.status.message}}
Validation:
{{ vm.validation.ok ? 'OK' : 'Has issues' }}
{{ vm.validation.warnings.length }} warning(s)
{{ vm.validation.errors.length }} error(s)
Errors
- {{e}}
Warnings
- {{w}}
Semantic Model
Available datasets
- {{d.name || d.id}} in model
Model sources
- {{sid}} {{ (vm.dsColumns[sid] && vm.dsColumns[sid].length) ? (vm.dsColumns[sid].length + ' cols') : 'loading cols' }}
Relationships
- {{r.leftDs}}.{{r.leftCol}} {{r.type || 'inner'}} join {{r.rightDs}}.{{r.rightCol}}
Advanced (optional)
Use Dimensions to group by fields, and Measures to compute aggregations like sum, avg, count distinct. You can ignore this section and just Preview/Export the integrated join.
Dimensions
- {{d.source}}.{{d.column}} as {{d.alias}}
Measures
- {{m.agg || 'sum'}}({{m.source}}.{{m.column}}) as {{m.alias}}
Saved Models
- {{m.name}} ({{m.id}})
Integration Summary
Primary: {{ vm.integrationSummary.primary || '-' }}
Sources: {{ vm.integrationSummary.sourcesCount }}
Rows: {{ vm.integrationSummary.rows }} Columns: {{ vm.integrationSummary.columns }}
Sample columns:
{{c}}
Relationships
- {{rel}}
Summary reflects the latest Preview result.
Integrated Preview
Rows {{vm.semanticPreview.offset}} - {{vm.semanticPreview.offset + vm.semanticPreview.limit}} of {{vm.semanticPreview.total}}
| {{c}} |
|---|
| {{r[c]}} |
AI Assistant: Semantic Model Builder
Provide a goal; the assistant will suggest dimensions, measures, and relationships based on current data.
Context (auto):
{{ vm.aiContext() }}
Apply to model
Tip: choose an existing model to merge suggestions into it, or leave it blank and provide a new name.
Note: Select at least one dataset so the schema can be visualized. You can add more sources later in the Integration section.
{{vm.status.message}}
Debug info:
Current origin: {{vm._origin || 'unknown'}}
API endpoint: {{vm._apiUrl || 'http://127.0.0.1:8000'}}
Current origin: {{vm._origin || 'unknown'}}
API endpoint: {{vm._apiUrl || 'http://127.0.0.1:8000'}}
{{vm.ai.status.message}}
Suggestions
Rationale:
- {{r}}
Dimensions
- {{d.name}} — cols: {{d.columns.join(', ')}}
Measures
- {{m.name}} = {{m.expression}}
Relationships
- {{rel.fromTable}}.{{rel.fromColumn}} → {{rel.toTable}}.{{rel.toColumn}} ({{rel.type||'inner'}})
Processing
{{vm.status.message}}
Available DataFrames
Datasets ({{vm.datasets.length || 0}})
{{ds.name}}
No datasets found. Upload CSV files in Data Collection section.
Semantic Models ({{vm.semanticModels.length || 0}})
{{m.name}}
No semantic models found. Create one in Data Collection section.
Selected Model Tables ({{vm.proc.tables.length || 0}})
{{t.var}}
Select a semantic model below to see its tables
Click "Refresh tables" to load
Notebook Outputs ({{vm.proc.outputs.length || 0}})
{{name}}
Run cells to create output dataframes
Notebook
Cell {{$index+1}}
{{vm.proc.stdouts[$index]}}
Detected DataFrames
DataFrames created in cells (variables) appear here after running. Save them as datasets to reuse in Analytics and Visualization.
{{vm.proc.outputStatus[name].message}}
{{name}}
| {{c}} |
|---|
| {{r[c]}} |
Run your cells to see outputs here.
{{grp.name}} ({{grp.smId}}) {{grp.datasets.length}} table(s)
Integrated
{{d.name || d.id}}
{{d.rows}}×{{d.cols}}
No datasets yet. Upload/ingest one in Data Collection.
Selected
{{ (vm.datasets | filter:{id: vm.ml.datasetId})[0].name || vm.ml.datasetId }}
{{ (vm.semanticModels | filter:{id: vm.ml.smId})[0].name || vm.ml.smId }} Integrated
-
Pick a semantic model's Integrated chip or a specific table chip.
Columns ({{vm.selectedSchema.columns.length}})
| Name | Type |
|---|---|
| {{c}} | {{vm.selectedSchema.dtypes[c] || '-'}} |
Rows: {{vm.selectedSchema.rows || (vm.selectedSchema.total) || 'n/a'}}
Sample (first 5 rows)
| {{c}} |
|---|
| {{r[c]}} |
Method Recommendation
Select a dataset or semantic model (left panel) to enable recommendations.
- {{i}}
Source: {{vm.recommend.summary.source_type}} {{vm.recommend.summary.source_id}} ·
Rows {{vm.recommend.summary.rows}} · Cols {{vm.recommend.summary.columns}} · Numeric {{vm.recommend.summary.numeric_columns}} · Categorical {{vm.recommend.summary.categorical_columns}}
· Target {{vm.recommend.summary.target}} (distinct {{vm.recommend.summary.target_distinct}})
Recommended Methods:
{{m}}
Reasons:
- {{r}}
Issues:
- {{i}}
Analyzing...
{{vm.ml.methodStatus.message}}
{{vm.ml.healthStatus.message}}
{{vm.ml.trainStatus.message}}
Accuracy: {{ (vm.ml.trainSummary.accuracy*100) | number:1 }}% · Precision: {{ (vm.ml.trainSummary.macro_precision*100) | number:1 }}% · Recall: {{ (vm.ml.trainSummary.macro_recall*100) | number:1 }}% · F1: {{ (vm.ml.trainSummary.macro_f1*100) | number:1 }}%
{{vm.ml.trainCopyMsg}}
Hyperparameters
Tips
- Use Integrated to train on the joined model; or pick a single table.
- For ANN, use hidden_layer_sizes like “64,32”.
- For Random Forest, increase n_estimators for better accuracy.
- For LSTM, ensure data is ordered chronologically; sequence_length defines past observations to use.
- For RL, use stock data with OHLCV columns. Agent learns to buy/sell/hold to maximize returns. Q-Learning is simpler, DQN uses neural networks.
Reinforcement Learning Results
Training Summary
Method: {{vm.ml.result.method}}
Episodes: {{vm.ml.result.episodes}}
Initial Balance: ${{vm.ml.result.initial_balance | number:2}}
Best Portfolio: ${{vm.ml.result.best_portfolio_value | number:2}}
Return: {{vm.ml.result.final_return_pct | number:2}}%
Best Episode: {{vm.ml.result.best_episode}}
Last 20 Episodes Portfolio Values
Result
{{ vm.ml.result | json }}
{{vm.ml.evalStatus.message}}
Accuracy: {{ (vm.ml.evalSummary.accuracy*100) | number:1 }}% · Precision: {{ (vm.ml.evalSummary.macro_precision*100) | number:1 }}% · Recall: {{ (vm.ml.evalSummary.macro_recall*100) | number:1 }}% · F1: {{ (vm.ml.evalSummary.macro_f1*100) | number:1 }}% · AUC: {{ vm.ml.evalSummary.auc | number:3 }}
{{vm.ml.evalCopyMsg}}
MSE: {{ vm.ml.evalSummary.mse | number:4 }} · MAE: {{ vm.ml.evalSummary.mae | number:4 }} · R²: {{ vm.ml.evalSummary.r2 | number:4 }}
Inertia: {{ vm.ml.evalSummary.inertia | number:3 }}
Final Portfolio: ${{ vm.ml.evalSummary.final_portfolio | number:2 }} ·
Return: {{ vm.ml.evalSummary.total_return_pct | number:2 }}% ·
Total Trades: {{ vm.ml.evalSummary.total_trades }}
Confusion Matrix
ROC Curve (binary)
RL Agent Performance
Final Portfolio: ${{vm.ml.eval.final_portfolio | number:2}}
Total Return: {{vm.ml.eval.total_return_pct | number:2}}%
Total Trades: {{vm.ml.eval.total_trades}}
Buy Actions: {{vm.ml.eval.buy_count}}
Sell Actions: {{vm.ml.eval.sell_count}}
Hold Actions: {{vm.ml.eval.hold_count}}
Portfolio Value Over Time
Regression Metrics
- MSE: {{vm.ml.eval.mse}}
- MAE: {{vm.ml.eval.mae}}
- R²: {{vm.ml.eval.r2}}
Clustering Metrics
- Inertia: {{vm.ml.eval.inertia}}
Cluster Sizes
{{vm.ml.predStatus.message}}
AI Assistant: ML Pipeline Builder
Describe the goal; the assistant will suggest a model, target, features, and parameters based on the current selection.
{{vm.analysisAi.status.message}}
Suggested Pipeline Switch to: {{vm.analysisAi.pipeline.suggestedDatasetId}}
Task: {{vm.analysisAi.pipeline.task}} · Method: {{vm.analysisAi.pipeline.method}} · Target: {{vm.analysisAi.pipeline.target}}
Features:
{{f}}
-
Params:
- {{k}}: {{v}}
- (none)
Rationale:
- {{r}}
Visualization
Build & Save
{{vm.viz.status.message}}
Saved visualizations
No visualizations yet.
- {{v.name}} ({{v.viz_id}} · {{v.source_type}}: {{v.source_id}})
Charts
Quick exploratory charts for your data source. Select a source above in "Build & Save" section.
Select a data source in the "Build & Save" section above to enable charts.
📊 Histogram
📈 Value Counts (Top Values)
🔥 Correlation Heatmap
Shows correlations between numeric columns.
⚫ Scatter Plot
📦 Boxplot (Distribution)
{{vm.charts.status.message}}
Create New Project
{{vm.projectModalError}}
Share Project
Add User
{{vm.shareModalError}}
{{vm.shareModalSuccess}}
Users with Access
Loading users...
{{user.username}}
{{user.email}} • {{user.role}}