Skip to content

Commit 2c96e3d

Browse files
committed
Update relevant Core sample according to the new Rule API support
1 parent 656200a commit 2c96e3d

File tree

3 files changed

+30
-6
lines changed

3 files changed

+30
-6
lines changed

doc/samples/samples.rst

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -655,17 +655,25 @@ Samples
655655
fold_index_variable.name = "FoldIndex"
656656
fold_index_variable.type = "Numerical"
657657
fold_index_variable.used = False
658-
fold_index_variable.rule = "Ceil(Product(" + str(fold_number) + ", Random()))"
659658
dictionary.add_variable(fold_index_variable)
660659
660+
# Create fold indexing rule and set it on `fold_index_variable`
661+
dictionary.set_variable_rule(
662+
fold_index_variable.name,
663+
kh.Rule("Ceil", kh.Rule("Product", fold_number, kh.Rule("Random()"))),
664+
)
665+
661666
# Add variables that indicate if the instance is in the train dataset:
662667
for fold_index in range(1, fold_number + 1):
663668
is_in_train_dataset_variable = kh.Variable()
664669
is_in_train_dataset_variable.name = "IsInTrainDataset" + str(fold_index)
665670
is_in_train_dataset_variable.type = "Numerical"
666671
is_in_train_dataset_variable.used = False
667-
is_in_train_dataset_variable.rule = "NEQ(FoldIndex, " + str(fold_index) + ")"
668672
dictionary.add_variable(is_in_train_dataset_variable)
673+
dictionary.set_variable_rule(
674+
is_in_train_dataset_variable.name,
675+
kh.Rule("NEQ", fold_index_variable, fold_index),
676+
)
669677
670678
# Print dictionary with fold variables
671679
print("Dictionary file with fold variables")

khiops/samples/samples.ipynb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -875,17 +875,25 @@
875875
"fold_index_variable.name = \"FoldIndex\"\n",
876876
"fold_index_variable.type = \"Numerical\"\n",
877877
"fold_index_variable.used = False\n",
878-
"fold_index_variable.rule = \"Ceil(Product(\" + str(fold_number) + \", Random()))\"\n",
879878
"dictionary.add_variable(fold_index_variable)\n",
880879
"\n",
880+
"# Create fold indexing rule and set it on `fold_index_variable`\n",
881+
"dictionary.set_variable_rule(\n",
882+
" fold_index_variable.name,\n",
883+
" kh.Rule(\"Ceil\", kh.Rule(\"Product\", fold_number, kh.Rule(\"Random()\"))),\n",
884+
")\n",
885+
"\n",
881886
"# Add variables that indicate if the instance is in the train dataset:\n",
882887
"for fold_index in range(1, fold_number + 1):\n",
883888
" is_in_train_dataset_variable = kh.Variable()\n",
884889
" is_in_train_dataset_variable.name = \"IsInTrainDataset\" + str(fold_index)\n",
885890
" is_in_train_dataset_variable.type = \"Numerical\"\n",
886891
" is_in_train_dataset_variable.used = False\n",
887-
" is_in_train_dataset_variable.rule = \"NEQ(FoldIndex, \" + str(fold_index) + \")\"\n",
888892
" dictionary.add_variable(is_in_train_dataset_variable)\n",
893+
" dictionary.set_variable_rule(\n",
894+
" is_in_train_dataset_variable.name,\n",
895+
" kh.Rule(\"NEQ\", fold_index_variable, fold_index),\n",
896+
" )\n",
889897
"\n",
890898
"# Print dictionary with fold variables\n",
891899
"print(\"Dictionary file with fold variables\")\n",

khiops/samples/samples.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -728,17 +728,25 @@ def train_predictor_with_cross_validation():
728728
fold_index_variable.name = "FoldIndex"
729729
fold_index_variable.type = "Numerical"
730730
fold_index_variable.used = False
731-
fold_index_variable.rule = "Ceil(Product(" + str(fold_number) + ", Random()))"
732731
dictionary.add_variable(fold_index_variable)
733732

733+
# Create fold indexing rule and set it on `fold_index_variable`
734+
dictionary.set_variable_rule(
735+
fold_index_variable.name,
736+
kh.Rule("Ceil", kh.Rule("Product", fold_number, kh.Rule("Random()"))),
737+
)
738+
734739
# Add variables that indicate if the instance is in the train dataset:
735740
for fold_index in range(1, fold_number + 1):
736741
is_in_train_dataset_variable = kh.Variable()
737742
is_in_train_dataset_variable.name = "IsInTrainDataset" + str(fold_index)
738743
is_in_train_dataset_variable.type = "Numerical"
739744
is_in_train_dataset_variable.used = False
740-
is_in_train_dataset_variable.rule = "NEQ(FoldIndex, " + str(fold_index) + ")"
741745
dictionary.add_variable(is_in_train_dataset_variable)
746+
dictionary.set_variable_rule(
747+
is_in_train_dataset_variable.name,
748+
kh.Rule("NEQ", fold_index_variable, fold_index),
749+
)
742750

743751
# Print dictionary with fold variables
744752
print("Dictionary file with fold variables")

0 commit comments

Comments
 (0)