машинное обучение — пространства имен PHP не распознаются

Я немного новичок в PHP и все еще изучаю пространства имен. Прямо сейчас я пытаюсь внедрить «PHP-ML» в проект машинного обучения от github.
http://php-ml.readthedocs.io/en/v0.1.0/
У него есть пример, включенный прямо в индексный файл, но по какой-то причине я не смог заставить его что-либо вернуть.
Это не ошибка, но ничего не вернуло.

Не понимая, что не так, я продолжил публичный урок,
https://www.sitepoint.com/how-to-analyze-tweet-sentiments-with-php-machine-learning/
И следовал инструкциям по воссозданию данной программы, но она вернула ошибку:
Undefined variable: classifier с линии $predictedLabels = $classifier->predict($testSamples); в classifyTweets.php.

После огромного количества экспериментов мне стало ясно, что пространства имен просто не распознаются. Я могу вызвать файлы с include __DIR__ . '/src/classification/SentimentAnalysis.php'; но когда я пытаюсь использовать use PhpmlExercise\Classification\SentimentAnalysis; (к чему призывает учебник) Ничего не происходит

Он даже не выдает ошибку, когда я пытаюсь вызвать его из пространства имен, он просто ничего не делает. До тех пор, пока вы не попробуете использовать публичную функцию «предвидеть» из SentimentAnalysis.php, ТОГДА выдает ошибку, говоря, что ее не существует.

Я отлично следую всем шагам, подумал я. Я не понимаю, что происходит не так.

—РЕДАКТИРОВАТЬ: добавил некоторые основные структуры кода
SentimentAnalysis.php

<?php
namespace PhpmlExercise;
use PhpmlExercise\Classification\SentimentAnalysis;

require __DIR__ . '/vendor/autoload.php';

// steps 1-4 have not given me any trouble, so I'll leave them out

//STEP 5 : Test the classifier accuracy
$predictedLabels = $classifier->predict($testSamples);

В последней строке я получаю сообщение о том, что классификатор является неопределенной переменной. Что не так. Но я думал, что SentimentAnalysis.php должен был справиться с этим. По крайней мере, я настроил все так, как указано в руководстве.
$ testSamples создается на шаге 4. «Предикат» — это публичная функция SentimentAnalysis, которая показана ниже.

<?php

namespace PhpmlExercise\Classification;
use Phpml\Classification\NaiveBayes;

/**
* Class SentimentAnalysis
* @package PhpmlExercise\Classification
*/

class SentimentAnalysis
{
protected $classifier;

public function __construct()
{
$this->classifier = new NaiveBayes();
}

public function predict($samples)
{
return $this->classifier->predict($samples);
}
}

И да, composer.json в моей корневой папке содержит

"autoload": {
"psr-4": {"PhpmlExercise\\": "src/"}
},

Если вам нужно больше кода, дайте мне знать.

—OLD—
Вот копия кода, который я использую.
https://www.dropbox.com/s/l4hb29g4o01ge88/phpml%20sample.zip?dl=0
Некоторые из них немного грязные. Но его текущее состояние точно такое же, как и урок. тебе придется поверить мне на слово.
Если вам нужно, чтобы я опубликовал что-нибудь еще, дайте мне знать.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]