mirror of
https://github.com/Llewellynvdm/php-ml.git
synced 2024-11-21 20:45:10 +00:00
Use C-style casts (#124)
This commit is contained in:
parent
8c06a55a16
commit
ba2b8c8a9c
@ -225,9 +225,9 @@ class DecisionTree implements Classifier
|
||||
// will also be saved into the leaf for future access
|
||||
if ($this->columnTypes[$i] == self::CONTINUOUS) {
|
||||
$matches = [];
|
||||
preg_match("/^([<>=]{1,2})\s*(.*)/", strval($split->value), $matches);
|
||||
preg_match("/^([<>=]{1,2})\s*(.*)/", (string) $split->value, $matches);
|
||||
$split->operator = $matches[1];
|
||||
$split->numericValue = floatval($matches[2]);
|
||||
$split->numericValue = (float) $matches[2];
|
||||
}
|
||||
|
||||
$bestSplit = $split;
|
||||
@ -301,7 +301,7 @@ class DecisionTree implements Classifier
|
||||
$sum = array_sum(array_column($countMatrix, $i));
|
||||
if ($sum > 0) {
|
||||
foreach ($this->labels as $label) {
|
||||
$part += pow($countMatrix[$label][$i] / floatval($sum), 2);
|
||||
$part += pow($countMatrix[$label][$i] / (float) $sum, 2);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,7 +81,7 @@ class DecisionTreeLeaf
|
||||
if ($this->isContinuous) {
|
||||
$op = $this->operator;
|
||||
$value = $this->numericValue;
|
||||
$recordField = strval($recordField);
|
||||
$recordField = (string) $recordField;
|
||||
eval("\$result = $recordField $op $value;");
|
||||
|
||||
return $result;
|
||||
@ -139,7 +139,7 @@ class DecisionTreeLeaf
|
||||
$col = "col_$this->columnIndex";
|
||||
}
|
||||
|
||||
if (!preg_match('/^[<>=]{1,2}/', strval($value))) {
|
||||
if (!preg_match('/^[<>=]{1,2}/', (string) $value)) {
|
||||
$value = "=$value";
|
||||
}
|
||||
|
||||
|
@ -285,7 +285,7 @@ class DecisionStump extends WeightedClassifier
|
||||
}
|
||||
|
||||
$target = $targets[$index];
|
||||
if (strval($predicted) != strval($targets[$index])) {
|
||||
if ((string) $predicted != (string) $targets[$index]) {
|
||||
$wrong += $this->weights[$index];
|
||||
}
|
||||
|
||||
@ -300,7 +300,7 @@ class DecisionStump extends WeightedClassifier
|
||||
foreach ($prob as $leaf => $counts) {
|
||||
$leafTotal = (float) array_sum($prob[$leaf]);
|
||||
foreach ($counts as $label => $count) {
|
||||
if (strval($leaf) == strval($label)) {
|
||||
if ((string) $leaf == (string) $label) {
|
||||
$dist[$leaf] = $count / $leafTotal;
|
||||
}
|
||||
}
|
||||
@ -323,7 +323,7 @@ class DecisionStump extends WeightedClassifier
|
||||
protected function predictProbability(array $sample, $label) : float
|
||||
{
|
||||
$predicted = $this->predictSampleBinary($sample);
|
||||
if (strval($predicted) == strval($label)) {
|
||||
if ((string) $predicted == (string) $label) {
|
||||
return $this->prob[$label];
|
||||
}
|
||||
|
||||
|
@ -288,7 +288,7 @@ class LogisticRegression extends Adaline
|
||||
{
|
||||
$predicted = $this->predictSampleBinary($sample);
|
||||
|
||||
if (strval($predicted) == strval($label)) {
|
||||
if ((string) $predicted == (string) $label) {
|
||||
$sample = $this->checkNormalizedSample($sample);
|
||||
|
||||
return abs($this->output($sample) - 0.5);
|
||||
|
@ -113,7 +113,7 @@ class Perceptron implements Classifier, IncrementalEstimator
|
||||
// Set all target values to either -1 or 1
|
||||
$this->labels = [1 => $labels[0], -1 => $labels[1]];
|
||||
foreach ($targets as $key => $target) {
|
||||
$targets[$key] = strval($target) == strval($this->labels[1]) ? 1 : -1;
|
||||
$targets[$key] = (string) $target == (string) $this->labels[1] ? 1 : -1;
|
||||
}
|
||||
|
||||
// Set samples and feature count vars
|
||||
@ -275,7 +275,7 @@ class Perceptron implements Classifier, IncrementalEstimator
|
||||
{
|
||||
$predicted = $this->predictSampleBinary($sample);
|
||||
|
||||
if (strval($predicted) == strval($label)) {
|
||||
if ((string) $predicted == (string) $label) {
|
||||
$sample = $this->checkNormalizedSample($sample);
|
||||
|
||||
return abs($this->output($sample));
|
||||
|
@ -36,7 +36,8 @@ class EigenDecompositionTest extends TestCase
|
||||
// (We, for now, omit non-symmetric matrices whose eigenvalues can be complex numbers)
|
||||
$len = 3;
|
||||
$A = array_fill(0, $len, array_fill(0, $len, 0.0));
|
||||
srand(intval(microtime(true) * 1000));
|
||||
$seed = microtime(true) * 1000;
|
||||
srand((int) $seed);
|
||||
for ($i = 0; $i < $len; ++$i) {
|
||||
for ($k = 0; $k < $len; ++$k) {
|
||||
if ($i > $k) {
|
||||
|
Loading…
Reference in New Issue
Block a user