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)