Weka 

weka0.zip - архивированная директория

Ссылку на расположение в интернете не нашел (Андрей переписывал со своей машины на мою машину у себя дома).

Лицензия: You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Поэтому размещаю этот материал как рабочий без ссылки из index.htm.

Распаковал weka-src.zip объемом 943 729 б созданный 08/05/2000 12.42

Раньше нам приходилось делать в исходных текстах различные изменения. Теперь примеры суперкомпилировались и исполнялись без изменения исходных текстов (кроме одного в примере IB1).

Описание того, что делает пример, реализованный через библиотеку методов machine learning WEKA:

Ожидаемая программа:

    if (mmmmm=="a" || mmmmm=="b") return "hit";

    else return "miss";

Описание примеров. Каждому примеру соответствует поддиректория в архивированном приложении.

Пример 1. Мой собственный классификатор IBKorl. Остаточная программа

//--------------------------------------   0 sec - method MessageClassifier.main(java.lang.String[])
//--------------------------------------  11 sec - postprocessing...
	public static void main (final java.lang.String[] options_15)
	  throws java.lang.Exception
	{
	  final java.lang.String messageClassifier_textPredict_800 = MessageClassifier.textPredict;
	  if (messageClassifier_textPredict_800 == "a") {
	    if (messageClassifier_textPredict_800 == "b"
	    ||  messageClassifier_textPredict_800 == "y"
	    ||  messageClassifier_textPredict_800 == "z") {
	      java.lang.System.out.println("Message classified as : miss") /*virtual*/;
	      return;}
	    else {
	      java.lang.System.out.println("Message classified as : hit") /*virtual*/;
	      return;}}
	  else {
	    if (messageClassifier_textPredict_800 == "b"
	    &&  messageClassifier_textPredict_800 != "y"
	    &&  messageClassifier_textPredict_800 != "z") {
	      java.lang.System.out.println("Message classified as : hit") /*virtual*/;
	      return;}
	    else {
	      java.lang.System.out.println("Message classified as : miss") /*virtual*/;
	      return;}}
	}
//--------------------------------------  13 sec - JScp version 0.0.77

Пример 2. Классификатор ZeroR системы Weka. Для описанного примера он всегда решает, что "miss". Остаточная программа

//--------------------------------------   0 sec - method MessageClassifier.main(java.lang.String[])
//--------------------------------------   3 sec - postprocessing...
	public static void main (final java.lang.String[] options_17)
	  throws java.lang.Exception
	{
	  java.lang.System.out.println("Message classified as : miss") /*virtual*/;
	  return;
	}
//--------------------------------------   4 sec - JScp version 0.0.77

Пример 3. Классификатор IB1 системы Weka. Остаточная программа

//--------------------------------------   0 sec - method MessageClassifier.main(java.lang.String[])
//--------------------------------------  30 sec - postprocessing...
	public static void main (final java.lang.String[] options_23)
	  throws java.lang.Exception
	{
	  final java.lang.String messageClassifier_textPredict_2194 = MessageClassifier.textPredict;
	  if (messageClassifier_textPredict_2194 == "a"
	  ||  messageClassifier_textPredict_2194 == "b"
	  ||  messageClassifier_textPredict_2194 != "y" && messageClassifier_textPredict_2194 != "z") {
	    java.lang.System.out.println("Message classified as : hit") /*virtual*/;
	    return;}
	  else {
	    java.lang.System.out.println("Message classified as : miss") /*virtual*/;
	    return;}
	}
//--------------------------------------  33 sec - JScp version 0.0.77

В этом примере я сделал изменение в программе  weka\core\Utils.java. Строку
     public static double SMALL = 1e-6;      заменил на
     public static final double SMALL = 1e-6;

Без использования java\lang\Double.java пример не суперкомпилировался.

Пример 4. Классификатор IBk системы Weka.

Пример 5. Классификатор SMO системы Weka.

В обоих примерах не удалось получить результаты. В поддиректориях находятся мои попытки что-то понять, изменяя параметр суперкомпиляции

-i

При -i3 в обоих случаях происходила аварийная остановка, которой раньше не наблюдал. (файл  *3.js)