6 правок на 3 фотографии — это не круто. Лучше делать 1 правку с описанием изменений при помощи «просмотра».

Теперь картинки можно грузить в вики. Поправь иерархию заголовков, исправь название (заголовок 1-го уровня «WEKA», например).

WEKA

WEKA — программное обеспечение предназначенное для анализа данных.

Первая версия WEKA вышла в 1993 году в университете Вайкато (Новая Зеландия). Она была написана на разных языках программирования. В 1997 году было принято решение переписать программу на язык JAVA. Эта программа дает возможность выполнять задачи анализа данных как:

  • подготовка данных - предварительная обработка
  • отбор признаков
  • кластеризация
  • классификация, в частности, деревья решений
  • поиск ассоциативных правил
  • регрессионный анализ
  • визуализация результатов

Достоинства WEKA

  • объёмный набор алгоритмов по анализу данных и машинному обучению
  • открытый исходный код
  • кроссплатформенность
  • простота в использовании
  • гибкость в работе с вводимыми данными
  • свободный доступ

Пример построение регрессионной модели в программе WEKA

Регрессия

Пусть дан целый ряд независимых переменных, от которых зависит конечный результат (зависимая переменная). Регрессионные модели используется для того, чтобы предсказать результат неизвестной (зависимой) переменной по значениям независимых переменных.

Возьмем простой пример: пусть нам необходимо определить цену дома для продажи. Цена дома (зависимая переменная), является результатом многих независимых переменных: площадь дома (ft2),площадь участка, из гранита ли сделана кухня, современные ли ванные, и т.д. Для этого создадим модель, основанную по данным раннее проданных домов.

Таблица 1. Параметры домов для регрессионной модели

Площадь дома (ft2) Площадь участка Ванные (кол-во) Из гранита ли Современная ванная Цена
3529 9191 6 0 0 $205,000
3247 10061 5 1 1 $224,900
4032 10150 5 0 1 $197,900
2397 14156 4 1 0 $189,900
2200 9600 4 0 1 $195,000
3536 19994 6 1 1 $325,000
2983 9365 5 0 1 $230,000
3198 9669 5 1 1 ????

Построение данных для WEKA

Для загрузки данных в WEKA, необходимо создать файл с исходными данными формата .ARFF (Attribute-Relation File Format), где определяются типы данных, которые будут загружены. Сначала указываются названия колонок и тип данных соответствующий каждой колонке. После идут уже сами данные, каждая строчка соответствует строке в таблице, элементы которой перечисляются через запятую.

Пример 1. формат houses.arff

@RELATION house

@ATTRIBUTE houseSize NUMERIC
@ATTRIBUTE lotSize NUMERIC
@ATTRIBUTE bedrooms NUMERIC
@ATTRIBUTE granite NUMERIC
@ATTRIBUTE bathroom NUMERIC
@ATTRIBUTE sellingPrice NUMERIC

@DATA
3529,9191,6,0,0,205000 
3247,10061,5,1,1,224900 
4032,10150,5,0,1,197900 
2397,14156,4,1,0,189900 
2200,9600,4,0,1,195000 
3536,19994,6,1,1,325000 
2983,9365,5,0,1,230000

.

Загрузка данных в программу WEKA

Теперь, когда файл с данными создан. Начнем строить регрессионную модель. Запустим программу WEKA, Затем нажимаем кнопку Explorer. После чего на экране появится окно как показано на рис.1. Выбираем вкладку Preprocess. Нажимаем кнопку Open File и выбираем наш исходный файл с данными.

0_755d9_9424f8dc_l.jpg рис.1. WEKA с данными домов.

На этой вкладке, WEKA просмотреть данные с которыми мы работаем. В левой части Explorer window, отображены все столбцы (Attributes) наших данных и количество строк поставляемых данных (Instances). При выборе, какого либо столбца, в правой части Explorer window отображается информация о данных столбца. Например: выберем столбец houseSize в левой секции (который выбран по умолчанию), Справа будет показана соответствующая информация:

maximum -  4,032 ft2  	(максимальное значение)
minimum  -  2,200 ft2 	(минимальное значение)
mean -  3,131 ft2     	(среднее значение)
stdDev - 655 ft2 		(стандартное отклонение)

Так же можем увидеть визуальное представление данных, нажав кнопку Visualize All. 

Создание регрессионной модели в WEKA

Для создания модели выбираем вкладку Classify (рис 2). Выбираем модель, которую будем строить, что бы WEKA зналa как работать с данными и как создать соответствующую модель. Нажимаем кнопку Choose , после раскрываем functions.В этой ветке выбираем LinearRegression.

0_755da_62965fac_l.jpg Рис 2. Модель линейной регрессии в WEKA

Теперь укажем, как входные данные должны быть использованы в модели. Так как есть несколько режимов использования данных: 1. Training set – для постройки желаемой модели, просто использовать данные из входного файла. 2. Supplied test set (поставляемы набор тестов) – когда для модели предоставляется другой набор данных. 3. Cross-validation (перекрестная проверка) – модель строится на подмножествах исходных данных и для конечной модели используется среднее значение. 4. Percentage split (процентное разделение) – берется процентное подмножество входных данных для построения модели.

Теперь осталось выбрать зависимую переменную (столбец для которого мы строим модели). Это цена (selling price). Снизу находится раскрывающийся список, а котором нужно выбрать зависимую переменную.

Теперь все готово для создания модели. Нажимаем кнопку Start (на рис.3 показано, что должно получиться) 0_755db_a922a386_l.jpg Рис.3. Регрессионная модель цены дома в WEKA

Интерпретация регрессионной модели

И вот на примере 2 показана искомая зависимость:

Пример.2. Регрессионный вывод

	
sellingPrice = (-26.6882   * houseSize) + 
               (7.0551     * lotSize) + 
               (43166.0767 * bedrooms) +
               (42292.0901 * bathroom) 
             - 21661.1208

Таким образом, по конечному результату можно сделать следующие выводы:

• Гранитная кухня никак не повлияла на цену — WEKA будет игнорировать столбцы, которые не помогают для создания хорошей модели. Поэтому данная регрессионная модель, что кухня из гранита никак не повлияет на цену.

• Оборудованная ванная влияет на цену — данная модель показывает, что хорошо оборудованная ванная прибавляет к цене $42,292.

• Чем больше площадь тем меньше стоимость дома — полученная модель говорит нам, что чем больше площадь, то меньше цена дома. Это видно по отрицательному коэффициенту houseSize . Это говорит о том, что переменная площади дома, не является независимой, так как зависит от количества комнат. Поэтому данная модель не совершенна. Но мы это можем исправить. Вернемся на вкладку Preprocess и удалим столбец houseSize, после чего создадим новую модель. Результат показан ниже на примере 3.

Пример.3. Регрессионный вывод

sellingPrice =
      7.6975 * lotSize +
  25827.5726 * bedrooms +
  35874.5517 * bathroom +
 -21544.5903          

Ресурсы

http://www.cs.waikato.ac.nz/ml/weka/ - сама программа
http://www.ibm.com/developerworks/opensource/library/os-weka1/index.html - использование WEKA в задачи регрессии
http://www.ibm.com/developerworks/opensource/library/os-weka2/index.html - использование WEKA в задачах классификации и кластеризации
http://www.ibm.com/developerworks/opensource/library/os-weka3/index.html - использование WEKA в задачи ближайшего соседа

Печать/экспорт