Jump to content

Recommended Posts

<!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
echo "<br><left><small>CONNECTION MESSAGES <br>";
echo "<ul>";
echo "<li>establishing connection with database</li>";
$conn = pg_Connect ("port=5432 dbname=my-database user=nobody");
if (!$conn) {
	echo "<li>connection to database failed</li>" 
	; exit; }

echo "<li>connection to database ok</li>" ;

?>


<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>

 

 

 

 

is this code correct, i really need help with connecting the database :D

Well it says establishing connection with database.. error on line 18

 

$conn = pg_Connect ("port=5432 dbname=my-database user=nobody");

 

I am thinking so I have to select the table as well, may be thats the fault

 

What's the error say?  Sorry, I'm not familiar with pg_connect().  Are you sure you have the correct credentials?

Error states the connection to the database is failed.

 

And what host?

 

That means that this line is most likely the cause:

$conn = pg_Connect ("port=5432 dbname=my-database user=nobody");

 

which most likely means that your credentials aren't correct.  Can you check them in any other way to be sure?  (command line, phphmyadmin etc...)

Ohh I see, I am not sure if I can check that. But Ill ask the teacher for that, apart from that is my code right. It suppose to get the details and display them. When a user /patient clicks on these details it should give out a diagnose e.g if the patient is Sick, then it would say Sick

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.