Jump to content

Recommended Posts

I have the code for mysql, but i was meant to do this with postgres. Is anyone willing to help me.. I really need help :D

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="description" content="Nearest Neighbour Algorithm - Data Mining" />
<meta name="keywords" content="nearest neighbour, data mining, php, computer science, james hamilton" />
<meta http-equiv="Content-Language" content="en-gb" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="robots" content="all" />
<meta name="revisit-after" content="1 days" />

<title>Nearest Neighbour Algorithm - Data Mining11</title>



<?php
//select a database to work with
$selected = mysql_select_db("data_mining",$dbhandle)
  or die("Could not select examples");
?>



<link rel="stylesheet" media="all" href="style.css" type="text/css" />
<link rel="stylesheet" media="all" href="nearestneighbour.css" type="text/css" />

</head>

<body>

<?php
if(isset($_GET[source])) {
    highlight_file(__FILE__);
}else{

?>
    <p>The nearest neighbour algorithm classifies a given instance based on a set of already classified instances (the training set), by calculating the distance to the nearest training case. The new instance is classified in the same class as the closest training case (i.e. the one that has the least differences/the one that is most the same).
    </p>
    <p>
    Try this out below. There are 10 instances in the training set. Use the select boxes to diagnose a new patient using the nearest neighbour algorithm. The diagnosis is made by selecting the diagnosis (class) of the instance in the training set with the least differences (i.e. closest distance).
    </p>
    <table id="patients" cellpadding="3" cellspacing="0">
        <tr>
            <th>Patient ID</th>
            <th>age</th>
            <th>sex</th>
            <th>chestpaintype</th>
            <th>bloodpressure</th>
            <th>cholesterol</th>
            <th>fbs120</th>
            <th>restingegh</th>
            <th>maxheartrate</th>
            <th>angina</th>
            <th>slop</th>
		<th>thal</th>
            <th>diagnosis</th>

        </tr>

    <?php

        /*
                function getRows takes an SQL query string (and a optional array key type - NUM or ASSOC)
                and returns and array containing all the rows of the query.

                    define(ASSOC, 1);
                    define(NUM, 2);

                    function getRows($sql, $type=ASSOC) {
                        $result = mysql_query($sql);
                        if($type == ASSOC) {
                            while($row = mysql_fetch_array($result))
                                $ret[] = $row;
                        }else if($type == NUM) {
                            while($row = mysql_fetch_row($result))
                                $ret[] = $row;
                        }else{
                            die("type should be NUM or ASSOC");
                        }
                        return $ret;
                    }
        */

        $rows = getRows("SELECT * FROM heartcondition;", NUM);
        $closest = -1;

        if(isset($_POST[diagnose])) {
            $distance = array_fill(0, count($rows), 0);

            $instance = $_POST[instance];

            for($i = 0; $i < count($rows); $i++) {

                for($j = 1; $j < 11; $j++) {
                    if($rows[$i][$j] != $instance[$j])
                        $distance[$i]++;
                }

            }

            $closest = array_search(min($distance), $distance);
            $diagnosis = $rows[$closest][12];
        }

        $a = 0;
        foreach($rows as $row) {

        ?>
            <tr<?php if($closest == $a) { ?> class="selected"<?php } ?>>
                <td><?=$row[0]?></td>
                <td><?=$row[1] == 0 ? "No" : "Yes"; ?></td>
                <td><?=$row[2] == 0 ? "No" : "Yes"; ?></td>
                <td><?=$row[3] == 0 ? "No" : "Yes"; ?></td>
                <td><?=$row[4] == 0 ? "No" : "Yes"; ?></td>
                <td><?=$row[5] == 0 ? "No" : "Yes"; ?></td>
                <td><?=$row[6] == 0 ? "No" : "Yes"; ?></td>
			<td><?=$row[7] == 0 ? "No" : "Yes"; ?></td>
			<td><?=$row[8] == 0 ? "No" : "Yes"; ?></td>
			<td><?=$row[9] == 0 ? "No" : "Yes"; ?></td>
                <td><?=$row[10] == 0 ? "No" : "Yes"; ?></td>
                <td><?=$row[11] == 0 ? "No" : "Yes"; ?></td>
                <td><?=$row[12]?></td>
                <td><?=$distance[$a++]?></td>
            </tr>

        <?php

        }
        ?>
        <tr>
            <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
                <td><input type="hidden" name="instance[]" value="11" />11</td>
                <td><select name="instance[]">
                        <option value="0"<?php if($_POST[instance][1] == "0") echo "selected=\"selected\"";?>>No</option>
                        <option value="1"<?php if($_POST[instance][1] == "1") echo "selected=\"selected\"";?>>Yes</option>
                    </select>
                </td>
                <td><select name="instance[]">
                        <option value="0"<?php if($_POST[instance][2] == "0") echo "selected=\"selected\"";?>>Sixties</option>
                        <option value="1"<?php if($_POST[instance][2] == "1") echo "selected=\"selected\"";?>>forties</option>
		<option value="1"<?php if($_POST[instance][2] == "2") echo "selected=\"selected\"";?>>fifties</option>
		<option value="1"<?php if($_POST[instance][2] == "2") echo "selected=\"selected\"";?>>thirties</option>
                    </select>
                </td>
                <td><select name="instance[]">
                        <option value="0"<?php if($_POST[instance][3] == "0") echo "selected=\"selected\"";?>>Male</option>
                        <option value="1"<?php if($_POST[instance][3] == "1") echo "selected=\"selected\"";?>>Female</option>
                    </select>
                </td>
                <td><select name="instance[]">
                        <option value="0"<?php if($_POST[instance][4] == "0") echo "selected=\"selected\"";?>>Angina</option>
                        <option value="1"<?php if($_POST[instance][4] == "1") echo "selected=\"selected\"";?>>AbnomalAngina</option>
		<option value="1"<?php if($_POST[instance][4] == "2") echo "selected=\"selected\"";?>>No tang</option>
		<option value="1"<?php if($_POST[instance][4] == "3") echo "selected=\"selected\"";?>>Asymptomatic</option>

                    </select>
                </td>
                <td><select name="instance[]">
                        <option value="0"<?php if($_POST[instance][5] == "0") echo "selected=\"selected\"";?>>onethirty+</option>
                        <option value="1"<?php if($_POST[instance][5] == "1") echo "selected=\"selected\"";?>>oneten+</option>
		<option value="1"<?php if($_POST[instance][5] == "2") echo "selected=\"selected\"";?>>onefourty+</option>
		<option value="1"<?php if($_POST[instance][5] == "3") echo "selected=\"selected\"";?>>onefifty+</option>
		<option value="1"<?php if($_POST[instance][5] == "4") echo "selected=\"selected\"";?>>onetwenty+</option>
		<option value="1"<?php if($_POST[instance][5] == "5") echo "selected=\"selected\"";?>>onesisty+</option>

                    </select>
                </td>
                <td><select name="instance[]">
			       <option value="0"<?php if($_POST[instance][6] == "0") echo "selected=\"selected\"";?>>twoten+</option>
			       <option value="1"<?php if($_POST[instance][6] == "1") echo "selected=\"selected\"";?>>twosixty+</option>
				<option value="1"<?php if($_POST[instance][6] == "2") echo "selected=\"selected\"";?>>twofifty+</option>
				<option value="1"<?php if($_POST[instance][6] == "3") echo "selected=\"selected\"";?>>twohundred+</option>
				<option value="1"<?php if($_POST[instance][6] == "4") echo "selected=\"selected\"";?>>twotwenty+</option>
				<option value="1"<?php if($_POST[instance][6] == "5") echo "selected=\"selected\"";?>>twoeight+</option>
				<option value="1"<?php if($_POST[instance][6] == "6") echo "selected=\"selected\"";?>>twothirty+</option>
			     </select>
			</td>
			<td><select name="instance[]">
			          <option value="0"<?php if($_POST[instance][7] == "0") echo "selected=\"selected\"";?>>f</option>
			           <option value="1"<?php if($_POST[instance][7] == "1") echo "selected=\"selected\"";?>>t</option>
			        </select>
			</td>
			<td><select name="instance[]">
			            <option value="0"<?php if($_POST[instance][8] == "0") echo "selected=\"selected\"";?>>Hyp</option>
			            <option value="1"<?php if($_POST[instance][8] == "1") echo "selected=\"selected\"";?>>Normal</option>
			          </select>
			  </td>
			  <td><select name="instance[]">
			            <option value="0"<?php if($_POST[instance][9] == "0") echo "selected=\"selected\"";?>>onethirty+</option>
			             <option value="1"<?php if($_POST[instance][9] == "1") echo "selected=\"selected\"";?>>oneforty+</option>
					<option value="0"<?php if($_POST[instance][9] == "2") echo "selected=\"selected\"";?>>onefifty+</option>
					<option value="0"<?php if($_POST[instance][9] == "3") echo "selected=\"selected\"";?>>onesixty+</option>
					<option value="0"<?php if($_POST[instance][9] == "4") echo "selected=\"selected\"";?>>oneseventy+</option>
					<option value="0"<?php if($_POST[instance][9] == "5") echo "selected=\"selected\"";?>>oneeighty+</option>
					<option value="0"<?php if($_POST[instance][9] == "6") echo "selected=\"selected\"";?>>onetwenty+</option>
					<option value="0"<?php if($_POST[instance][9] == "7") echo "selected=\"selected\"";?>>onehundred+</option>

			             </select>
			  </td>
			<td><select name="instance[]">
			          <option value="0"<?php if($_POST[instance][10] == "0") echo "selected=\"selected\"";?>>f</option>
			           <option value="1"<?php if($_POST[instance][10] == "1") echo "selected=\"selected\"";?>>t</option>
			        </select>
			</td>

			   <td><select name="instance[]">
			             <option value="0"<?php if($_POST[instance][11] == "0") echo "selected=\"selected\"";?>>Falt</option>
			              <option value="1"<?php if($_POST[instance][11] == "1") echo "selected=\"selected\"";?>>Up</option>
					<option value="1"<?php if($_POST[instance][11] == "2") echo "selected=\"selected\"";?>>Down</option>
                    </select>
                    </td>

                   <td><select name="instance[]">
							<option value="0"<?php if($_POST[instance][12] == "0") echo "selected=\"selected\"";?>>Rev</option>
							<option value="1"<?php if($_POST[instance][12] == "1") echo "selected=\"selected\"";?>>Normal</option>
							<option value="1"<?php if($_POST[instance][12] == "2") echo "selected=\"selected\"";?>>Fix</option>
				     </select>
                    </td>
                <td<?php if($diagnosis) { ?> class="selected"<?php } ?>><?=$diagnosis?></td>
                <td><input type="submit" name="diagnose" value="Diagnose" /></td>
            </form>
        </tr>

    </table>

    <p>
        <a href="<?=$_SERVER[php_SELF]?>?source">View Page Source</a>
    </p>
<?php } ?>
    <p>
    Back to <a href="index.php">Data Mining</a>
    </p>

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>

<script type="text/javascript">
_uacct = "UA-1032885-1";
urchinTracker();
</script>
</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/217095-help-with-mysql-nearest-neighbour/
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.