Gradient descent training + Added all dataset + graphs improvements
This commit is contained in:
@@ -4,7 +4,7 @@ namespace App\Services;
|
||||
|
||||
class CsvReader {
|
||||
private $file;
|
||||
private array $headers;
|
||||
// private array $headers;
|
||||
|
||||
public array $lines = [];
|
||||
|
||||
@@ -17,7 +17,7 @@ class CsvReader {
|
||||
throw new \RuntimeException("Failed to open file: " . $filename);
|
||||
}
|
||||
|
||||
$this->headers = $this->readNextLine();
|
||||
// $this->headers = $this->readNextLine();
|
||||
}
|
||||
|
||||
public function readNextLine(): ?array
|
||||
|
||||
@@ -20,7 +20,17 @@ class DataSetReader {
|
||||
private function readEntireFile(CsvReader $reader): void
|
||||
{
|
||||
while ($line = $reader->readNextLine()) {
|
||||
$this->lines[] = $line;
|
||||
$newLine = [];
|
||||
foreach ($line as $value) { // Transform to float
|
||||
$newLine[] = (float) $value;
|
||||
}
|
||||
|
||||
// if the dataset is for regression, we add a fake label of 0
|
||||
if (count($newLine) === 2) {
|
||||
$newLine[] = 0.0;
|
||||
}
|
||||
|
||||
$this->lines[] = $newLine;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,12 +41,21 @@ class DataSetReader {
|
||||
}
|
||||
$randomNumber = array_rand($this->currentLines);
|
||||
$randomLine = $this->currentLines[$randomNumber];
|
||||
|
||||
// Remove the line from the current lines to avoid repetition
|
||||
unset($this->currentLines[$randomNumber]);
|
||||
|
||||
// Remember the index of the last read line in the full list
|
||||
$this->lastReadLineIndex = array_search($randomLine, $this->lines, true);
|
||||
|
||||
return $randomLine;
|
||||
}
|
||||
|
||||
public function getInputSize(): int
|
||||
{
|
||||
return count($this->lines[0]) - 1; // Don't count the label
|
||||
}
|
||||
|
||||
public function reset(): void
|
||||
{
|
||||
$this->currentLines = $this->lines;
|
||||
|
||||
Reference in New Issue
Block a user