Skip to content

Commit 99570be

Browse files
committed
Update relevant Core sample according to the new Rule API support
1 parent 9d7c967 commit 99570be

File tree

3 files changed

+20
-6
lines changed

3 files changed

+20
-6
lines changed

doc/samples/samples.rst

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -581,17 +581,21 @@ Samples
581581
fold_index_variable.name = "FoldIndex"
582582
fold_index_variable.type = "Numerical"
583583
fold_index_variable.used = False
584-
fold_index_variable.rule = "Ceil(Product(" + str(fold_number) + ", Random()))"
585584
dictionary.add_variable(fold_index_variable)
586585
586+
# Create fold indexing rule and set it on `fold_index_variable`
587+
fold_index_rule = kh.Rule("Ceil", kh.Rule("Product", fold_number, kh.Rule("Random()")))
588+
dictionary.set_variable_rule(fold_index_variable.name, fold_index_rule)
589+
587590
# Add variables that indicate if the instance is in the train dataset:
588591
for fold_index in range(1, fold_number + 1):
589592
is_in_train_dataset_variable = kh.Variable()
590593
is_in_train_dataset_variable.name = "IsInTrainDataset" + str(fold_index)
591594
is_in_train_dataset_variable.type = "Numerical"
592595
is_in_train_dataset_variable.used = False
593-
is_in_train_dataset_variable.rule = "NEQ(FoldIndex, " + str(fold_index) + ")"
594596
dictionary.add_variable(is_in_train_dataset_variable)
597+
indicator_rule = kh.Rule("NEQ", fold_index_variable, fold_index)
598+
dictionary.set_variable_rule(is_in_train_dataset_variable.name, indicator_rule)
595599
596600
# Print dictionary with fold variables
597601
print("Dictionary file with fold variables")

khiops/samples/samples.ipynb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -788,17 +788,21 @@
788788
"fold_index_variable.name = \"FoldIndex\"\n",
789789
"fold_index_variable.type = \"Numerical\"\n",
790790
"fold_index_variable.used = False\n",
791-
"fold_index_variable.rule = \"Ceil(Product(\" + str(fold_number) + \", Random()))\"\n",
792791
"dictionary.add_variable(fold_index_variable)\n",
793792
"\n",
793+
"# Create fold indexing rule and set it on `fold_index_variable`\n",
794+
"fold_index_rule = kh.Rule(\"Ceil\", kh.Rule(\"Product\", fold_number, kh.Rule(\"Random()\")))\n",
795+
"dictionary.set_variable_rule(fold_index_variable.name, fold_index_rule)\n",
796+
"\n",
794797
"# Add variables that indicate if the instance is in the train dataset:\n",
795798
"for fold_index in range(1, fold_number + 1):\n",
796799
" is_in_train_dataset_variable = kh.Variable()\n",
797800
" is_in_train_dataset_variable.name = \"IsInTrainDataset\" + str(fold_index)\n",
798801
" is_in_train_dataset_variable.type = \"Numerical\"\n",
799802
" is_in_train_dataset_variable.used = False\n",
800-
" is_in_train_dataset_variable.rule = \"NEQ(FoldIndex, \" + str(fold_index) + \")\"\n",
801803
" dictionary.add_variable(is_in_train_dataset_variable)\n",
804+
" indicator_rule = kh.Rule(\"NEQ\", fold_index_variable, fold_index)\n",
805+
" dictionary.set_variable_rule(is_in_train_dataset_variable.name, indicator_rule)\n",
802806
"\n",
803807
"# Print dictionary with fold variables\n",
804808
"print(\"Dictionary file with fold variables\")\n",

khiops/samples/samples.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -649,17 +649,23 @@ def train_predictor_with_cross_validation():
649649
fold_index_variable.name = "FoldIndex"
650650
fold_index_variable.type = "Numerical"
651651
fold_index_variable.used = False
652-
fold_index_variable.rule = "Ceil(Product(" + str(fold_number) + ", Random()))"
653652
dictionary.add_variable(fold_index_variable)
654653

654+
# Create fold indexing rule and set it on `fold_index_variable`
655+
fold_index_rule = kh.Rule(
656+
"Ceil", kh.Rule("Product", fold_number, kh.Rule("Random()"))
657+
)
658+
dictionary.set_variable_rule(fold_index_variable.name, fold_index_rule)
659+
655660
# Add variables that indicate if the instance is in the train dataset:
656661
for fold_index in range(1, fold_number + 1):
657662
is_in_train_dataset_variable = kh.Variable()
658663
is_in_train_dataset_variable.name = "IsInTrainDataset" + str(fold_index)
659664
is_in_train_dataset_variable.type = "Numerical"
660665
is_in_train_dataset_variable.used = False
661-
is_in_train_dataset_variable.rule = "NEQ(FoldIndex, " + str(fold_index) + ")"
662666
dictionary.add_variable(is_in_train_dataset_variable)
667+
indicator_rule = kh.Rule("NEQ", fold_index_variable, fold_index)
668+
dictionary.set_variable_rule(is_in_train_dataset_variable.name, indicator_rule)
663669

664670
# Print dictionary with fold variables
665671
print("Dictionary file with fold variables")

0 commit comments

Comments
 (0)