diff options
Diffstat (limited to 'sourcecodes/kfold_cv.php')
| -rw-r--r-- | sourcecodes/kfold_cv.php | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/sourcecodes/kfold_cv.php b/sourcecodes/kfold_cv.php new file mode 100644 index 00000000..6cae9538 --- /dev/null +++ b/sourcecodes/kfold_cv.php @@ -0,0 +1,150 @@ +<?php +include("header_new.inc"); +include("input_validate.php"); +if($_GET["My_key"]!="") + $keyval=valid_keyval($_GET["My_key"]); +if($_POST["My_key"]!="") + $keyval=valid_keyval($_POST["My_key"]); +?> + +<?php +$varName = ""; +$varNameErr = ""; +$nm_folds=""; + +if ($_SERVER["REQUEST_METHOD"] == "POST") { + $nm_folds = (int)$_POST['nm_folds']; + if (empty($_POST["varName"])) { + $varNameErr = "Entering a variable name is required"; + } else { + // $varName = test_input($_POST["varName"]); + $varName = valid_input($_POST["varName"]); + $varNameErr = "1"; + // check if name only contains letters and whitespace + // if (!preg_match("/^[\w]*$/",$varName)) { + // $varNameErr = "The input string contains characters that are not allowed"; + // } + } +} + + +function test_input($data) { + $data = trim($data); + $data = stripslashes($data); + $data = htmlspecialchars($data); + return $data; +} + +?> + + +<!-- Site navigation menu --> +<ul class="navbar2"> + <li><p>Network ID:<br><?php print($keyval);?></p></li> +</ul> +<ul class="navbar"> + <li><a href="javascript:void(0);" + NAME="Network" title="Network" onClick=window.open("layout.php?My_key=<?php print($keyval);?>","_self");>Return to network</a> + <li><a href="javascript:void(0);" + NAME="CV_predictions" title="CV_pred" onClick=window.open("cv_predictions.php?My_key=<?php print($keyval);?>","_self");>Return to validation and predictions menu</a> + + <li><a href="help.php">Help</a> + <li><a href="home.php">Home</a> + + +</ul> + + + + +<div id="outer"> +<!-- Main content --> + +<?php + $filename1="./data/".$keyval."kfoldCV.txt"; + $filename2="./data/".$keyval."kfoldCV_temp.txt"; +if(file_exists($filename2)) + {?> +<br> + <h2> k-fold cross-validation results are being calculated</h2> +<br> +<?php + } + else if(file_exists($filename1)) + {?> +<br> + <h2> <a href=<?php $d="./data/".$keyval."kfoldCV.txt"; print($d);?>>View cross-validation results</a></h2> +<br> +<h3>Perform k-fold cross-validation of another network variable</h3> +<p align="justify"> + Enter the name of variable and number of folds below to validate predictions of that variable. +<br> +</p> +<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> + Variable name:<INPUT TYPE="text" name="varName" value="<?php echo $varName;?>" style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px; display: block; height: 30px; width: 300px;"> +<span class="error"> <?php if($varNameErr!="1") {echo $varNameErr;};?></span> +<br> + Number of folds:<br><SELECT NAME="nm_folds"> + <option value="2">2</option> + <option value="3">3</option> + <option value="4">4</option> + <option value="5">5</option> + <option value="6">6</option> + <option value="7">7</option> + <option value="8">8</option> + <option value="9">9</option> + <option value="10">10</option> + </select> + <input type='hidden' name='My_key' value='<?php print($keyval)?>'> + <br><br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;"> +</FORM> +<br> +<?php + } else { +?> +<h2>Perform k-fold cross-validation of network</h2> +<p align="justify"> + To perform cross-validation, enter the name of the variable <br>that you want to test the predictions of and the number <br>of folds that the data should be separated into below. +<br> +<FORM METHOD="post" ACTION="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> + Variable Name:<INPUT TYPE="text" name="varName" value="<?php echo $varName;?>" + style="padding: 2px 5px; border: 2px solid; border-color: black black black black; font-family: Georgia, ..., serif; font-size: 18px; display: block; height: 30px; width: 300px;"> + <span class="error"> <?php if($varNameErr!="1") {echo $varNameErr;};?></span> + <br> + Number of folds:<br><SELECT NAME="nm_folds"> + <option value="2">2</option> + <option value="3">3</option> + <option value="4">4</option> + <option value="5">5</option> + <option value="6">6</option> + <option value="7">7</option> + <option value="8">8</option> + <option value="9">9</option> + <option value="10">10</option> + </select> + <input type='hidden' name='My_key' value='<?php print($keyval)?>'> + <br><br><input type="submit" name="submit" value="Submit" style="display: block; height: 30px; width:100px; font-family: Georgia, ..., serif; font-size: 16px;"> +</FORM> +</p> +<br> + +<?php +} + +if($nm_folds!="") +{ + $command = './run_kfold '.$keyval.' '.$varName.' '.$nm_folds; + $output = shell_exec("$command > /dev/null 2 > /dev/null &"); + $pred_link='cv_predictions.php?My_key='.$keyval; + sleep(1); + echo "<br>"; + echo "Calculation submitted"; + echo "<br>"; + echo "<a href=$pred_link>Click to return to cross-validation and predictions menu</a>"; +} +?> + +</div> +</body> + + |
