easy_ml 0.2.0.pre.rc51 → 0.2.0.pre.rc52
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.
- checksums.yaml +4 -4
- data/app/frontend/components/ModelDetails.tsx +15 -1
- data/app/jobs/easy_ml/compute_feature_job.rb +11 -11
- data/app/jobs/easy_ml/refresh_dataset_job.rb +9 -8
- data/app/models/easy_ml/feature.rb +1 -1
- data/app/serializers/easy_ml/dataset_serializer.rb +2 -2
- data/lib/easy_ml/version.rb +1 -1
- data/public/easy_ml/assets/.vite/manifest.json +1 -1
- data/public/easy_ml/assets/assets/entrypoints/{Application.tsx-D08fSV1N.js → Application.tsx-BWHK2hEi.js} +20 -20
- data/public/easy_ml/assets/assets/entrypoints/{Application.tsx-D08fSV1N.js.map → Application.tsx-BWHK2hEi.js.map} +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0b6da194500895ff325b1408757ee328b355da448a5fcc53439d7b14ccea9c8
|
4
|
+
data.tar.gz: da221df414245aafd56c5a05367146b9aae131885a99fa19e11aaa0f3cd32a20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d04422529423e09cff72496a29ff41038fdde5adfc0f267065981d04c24c9e9475d9ad0b2ab083e2d5e8cef22581180df97c93e960579cca8657b1771adc977
|
7
|
+
data.tar.gz: d9904acd55317dc68d774c26f392399990fdd52f45f394f8fdc6addf11456ea1361e2d972a438647c7dc0f679e3642cd8ae1f13cc9e0824c72865de8ecb0b6a9
|
@@ -17,6 +17,16 @@ interface PaginatedRuns {
|
|
17
17
|
|
18
18
|
const ITEMS_PER_PAGE = 3;
|
19
19
|
|
20
|
+
const METRIC_MAPPINGS: Record<string, string> = {
|
21
|
+
root_mean_squared_error: 'rmse',
|
22
|
+
mean_absolute_error: 'mae',
|
23
|
+
mean_squared_error: 'mse',
|
24
|
+
r2_score: 'r2',
|
25
|
+
accuracy_score: 'accuracy',
|
26
|
+
precision_score: 'precision',
|
27
|
+
recall_score: 'recall'
|
28
|
+
};
|
29
|
+
|
20
30
|
export function ModelDetails({ model, onBack, rootPath }: ModelDetailsProps) {
|
21
31
|
const [activeTab, setActiveTab] = useState<'overview' | 'dataset'>('overview');
|
22
32
|
const [runs, setRuns] = useState<RetrainingRun[]>(model.retraining_runs?.runs || []);
|
@@ -103,6 +113,10 @@ export function ModelDetails({ model, onBack, rootPath }: ModelDetailsProps) {
|
|
103
113
|
return run.status === 'deployed';
|
104
114
|
};
|
105
115
|
|
116
|
+
const formatMetricKey = (key: string) => {
|
117
|
+
return METRIC_MAPPINGS[key] || key;
|
118
|
+
};
|
119
|
+
|
106
120
|
return (
|
107
121
|
<div className="space-y-6">
|
108
122
|
<div className="flex items-center justify-between">
|
@@ -271,7 +285,7 @@ export function ModelDetails({ model, onBack, rootPath }: ModelDetailsProps) {
|
|
271
285
|
).map(([key, value]) => (
|
272
286
|
<div key={key} className="bg-gray-50 rounded-md p-3">
|
273
287
|
<div className="text-sm font-medium text-gray-500">
|
274
|
-
{key}
|
288
|
+
{formatMetricKey(key)}
|
275
289
|
</div>
|
276
290
|
<div className="mt-1 flex items-center gap-2">
|
277
291
|
<span className="text-lg font-semibold">
|
@@ -5,18 +5,18 @@ module EasyML
|
|
5
5
|
@queue = :easy_ml
|
6
6
|
|
7
7
|
def self.perform(batch_id, options = {})
|
8
|
-
options.symbolize_keys!
|
9
|
-
feature_id = options.dig(:feature_id)
|
10
|
-
feature = EasyML::Feature.find(feature_id)
|
11
|
-
dataset = feature.dataset
|
12
|
-
|
13
|
-
# Check if any feature has failed before proceeding
|
14
|
-
if dataset.features.any? { |f| f.workflow_status == "failed" }
|
15
|
-
puts "Aborting feature computation due to previous feature failure"
|
16
|
-
return
|
17
|
-
end
|
18
|
-
|
19
8
|
begin
|
9
|
+
options.symbolize_keys!
|
10
|
+
feature_id = options.dig(:feature_id)
|
11
|
+
feature = EasyML::Feature.find(feature_id)
|
12
|
+
dataset = feature.dataset
|
13
|
+
|
14
|
+
# Check if any feature has failed before proceeding
|
15
|
+
if dataset.features.any? { |f| f.workflow_status == "failed" }
|
16
|
+
puts "Aborting feature computation due to previous feature failure"
|
17
|
+
return
|
18
|
+
end
|
19
|
+
|
20
20
|
feature.update(workflow_status: :analyzing) if feature.workflow_status == :ready
|
21
21
|
feature.fit_batch(options.merge!(batch_id: batch_id))
|
22
22
|
rescue => e
|
@@ -1,16 +1,16 @@
|
|
1
1
|
module EasyML
|
2
2
|
class RefreshDatasetJob < ApplicationJob
|
3
3
|
def perform(id)
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
dataset.
|
9
|
-
|
4
|
+
begin
|
5
|
+
dataset = EasyML::Dataset.find(id)
|
6
|
+
puts "Refreshing dataset #{dataset.name}"
|
7
|
+
puts "Needs refresh? #{dataset.needs_refresh?}"
|
8
|
+
unless dataset.needs_refresh?
|
9
|
+
dataset.update(workflow_status: :ready)
|
10
|
+
end
|
10
11
|
|
11
|
-
|
12
|
+
create_event(dataset, "started")
|
12
13
|
|
13
|
-
begin
|
14
14
|
puts "Prepare! #{dataset.name}"
|
15
15
|
dataset.prepare
|
16
16
|
if dataset.features.needs_fit.any?
|
@@ -25,6 +25,7 @@ module EasyML
|
|
25
25
|
if Rails.env.test?
|
26
26
|
raise e
|
27
27
|
end
|
28
|
+
dataset.update(workflow_status: :failed)
|
28
29
|
handle_error(dataset, e)
|
29
30
|
end
|
30
31
|
end
|
@@ -156,7 +156,7 @@ module EasyML
|
|
156
156
|
raise "Couldn't find primary key for feature #{feature_class}, check your feature class"
|
157
157
|
end
|
158
158
|
|
159
|
-
dataset.raw.data(limit: 1, select: primary_key)[primary_key].to_a.flat_map { |h| h.respond_to?(:values) ? h.values : h }.all? do |value|
|
159
|
+
dataset.raw.data(limit: 1, select: primary_key, all_columns: true)[primary_key].to_a.flat_map { |h| h.respond_to?(:values) ? h.values : h }.all? do |value|
|
160
160
|
case value
|
161
161
|
when String then value.match?(/\A[-+]?\d+(\.\d+)?\z/)
|
162
162
|
else
|
@@ -69,8 +69,8 @@ module EasyML
|
|
69
69
|
if !object.failed? || object.events.empty?
|
70
70
|
nil
|
71
71
|
else
|
72
|
-
last_event = object.events.order(id: :desc).limit(1).last
|
73
|
-
last_event&.stacktrace
|
72
|
+
last_event = object.events.where(status: :failed).order(id: :desc).limit(1).last
|
73
|
+
last_event&.stacktrace
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
data/lib/easy_ml/version.rb
CHANGED