Анализ данных дистанционного практикума по программирования с помощью методов Data Mining
Основы для проведения кластеризации. Использование Data Mining как способа "обнаружения знаний в базах данных". Выбор алгоритмов кластеризации. Получение данных из хранилища базы данных дистанционного практикума. Кластеризация студентов и задач.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 10.07.2017 |
Размер файла | 728,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Рис. 3.4 - Разбиение объектов на кластеры по признаку «уровень подготовки студентом»
Рис. 3.5 - Разбиение объектов на кластеры по признаку «с какого количества попыток решена задача»
Рис. 3.6 - Разбиение объектов на кластеры по признаку «количество дней между первой и последней попыткой решения задачи»
Рис. 3.7 - Разбиение объектов на кластеры по всем атрибутам
При кластеризации пар «студент-задача» все алгоритмы, которые смогли кластеризовать данные, выделили два примерно одинаковых кластера задач:
1) задачи, которые решены с первой попытки или за минимальное количество попыток;
2) нерешенные задачи или задачи, для получения правильного решения которых потребовалось достаточно большое количество попыток.
ЗАКЛЮЧЕНИЕ
В ходе написания выпускной квалификационной работы были решены все поставленные задачи.
Во-первых, изучены методы интеллектуального анализа Data Mining, исходя из специфики исходных данных для дальнейшего исследования был выбран метод кластерного анализа.
Во-вторых, были исследованы существующие алгоритмы кластеризации, а затем на основании проведенного анализа были отобраны пять алгоритмов для дальнейшего исследования: COBWEB, DBSCAN, алгоритм иерархической кластеризации, XMEANS и EM-алгоритм.
В-третьих, были проанализированы существующие на данный момент статистические пакеты, включающие в себя средства для кластерного анализа, и выбран подходящий программный пакет - WEKA.
В-четвертых, были выбраны объекты кластеризации данных дистанционного практикума по программированию и определены множества их признаков.
В-пятых, были подготовлены данные для трех экспериментов: это три набора атрибутов для кластеризации, полученные из хранилища базы данных проверяющей системы кафедры АВТ. Также был разработан модуль подготовки данных для загрузки в пакет WEKA.
В-шестых, был выполнен вычислительный эксперимент, зафиксированы полученные результаты, которые будут использованы для повышения эффективности процесса обучения.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Ржеуцкая, С.Ю. Опыт применения методов кластеризации для анализа результатов дистанционного обучения / С.Ю. Ржеуцкая, Ю.С. Басалаева // Информатизация инженерного образования: материалы международной науч.-практ. конф., 12-13 апр. 2016 г. / МЭИ. - Москва, 2016. - С. 617 - 620.
2. Методы и модели анализ данных: OLAP и Data Mining/ А.А. Барсегян, М.С. Куприянов, В.В. Степаненко, И.И. Холод. - Санкт-Петербург: БХВ - Петербург, 2004. - 360 с.
3. Паклин, Н. Б. Бизнес-аналитика: от данных к знаниям / Н. Б. Паклин, В. И. Орешков. - Санкт-Петербург: Изд. Питер, 2009. - 624 с.
4. Чубукова, И.А. Data Mining: учеб. пособие / И.А. Чубукова. - Москва: МГУП, 2006. - 328 с.
5. Басалаева, Ю.С. Проблема очистки данных дистанционного практикума по программированию в процессе кластерного анализа/ Ю.С. Басалаева // Современные тенденции развития науки и производства. - 2016. - № 2. - С. 119 - 120.
6. Дюк, В. Data Mining: учеб. пособие / В. Дюк, А. Самойленко. - Санкт-Петербург: Изд. Питер, 2001. -- 368 с.
7. Ian, H. Data Mining: Practical Machine Learning Tools and Techniques / H. Ian, E. Frank, A. Hall. - San Francisco: Morgan Kaufmann, 2011. - P. 664 - 666.
8. Айвазян, С. А. Прикладная статистика: классификация и снижение размерности / С. А. Айвазян, В.М. Бухштабер, И.С. Енюков // Финансы и статистика. - 2007. - № 1. - С. 50 - 57.
9. Berkhin, P. Survey of Clustering Data Mining Techniques / P. Berkhin. - USA: Accrue Software, 2002. - 55 p.
10. Fisher, D.H. Knowledge acquisition via incremental conceptual clustering / D.H. Fisher. - German: University of Tubingen, 2008. - 211 p.
11. Hastie, T. The Elements of Statistical Learning / T. Hastie, R. Tibshirani. - German: Springer, 2011. - 70 p.
12. Информационно-аналитический ресурс, посвященный машинному обучению, распознаванию образов и интеллектуальному анализу данных [Электронный ресурс]: офиц. сайт. - Режим доступа: - www.machinelearning.ru.
13. Котов, А. Кластеризация данных / А. Котов, Н. Красильников // Инновации. - 2015. - №1. - С.34-37.
14. McCallum, A. Efficient Clustering of High Dimensional Data Sets with Application to Reference Matching / A. McCallum, K. Nigam // ACM Sigkdd. 2012. - P. 169 - 178.
15. Басалаева Ю. С. Исследование алгоритмов кластеризации с целью анализа данных проверяющей системы // Молодые исследователи - регионам: материалы межд. научн. конф., 20-25 апр. 2015г. / . - Вологда, 2015. - С. 50 - 51.
16. Автоматическая обработка текстов на естественном языке и компьютерная лингвистика: учеб. пособие / Е.И. Большакова, Э.С. Клышинский, Д.В. Ландэ [и др.]. - Москва: МИЭМ, 2011. -- 272 с.
17. Воронцов, К.В. Алгоритмы кластеризации и многомерного шкалирования: учеб. пособие / К. В. Воронцов - Москва: МГУ, 2009. - 80 с.
18. Pelleg, D. X-means: Extending K-means with Efficient Estimation of the Number of Clusters / D. Pelleg, A.W. Moore. - London: Graw-Hill, 2012. - 727 p.
19. Balazs, B. Fuzzy Clustering and Data Analysis Toolbox For Use with Matlab / B. Balazs, J. Abonyi, F. Balazs. - Netherlands: Kluwer Academic Publishers, 2001. - 80 p.
20. CVAP: Cluster Validity Analysis Platform (cluster analysis and validation tool) [Электронный ресурс]: офиц. сайт. - Режим доступа: http://www.mathworks.com/matlabcentral/fileexchange/14620-cvap--cluster-validity-analysis-platform--cluster-analysis-and-validation-tool/.
21. SPSS Statistics [Электронный ресурс]: офиц. сайт. - Режим доступа: http://www-03.ibm.com/software/products/ru/spss-stats-standard.
22. RapidMiner [Электронный ресурс]: офиц. сайт. - Режим доступа: https://rapidminer.com/.
23. WEKA: Data Mining Software [Электронный ресурс]: офиц. сайт. - Режим доступа: http://www.cs.waikato.ac.nz/ml/weka/.
24. Remco, R. WEKA Manual / R. Remco, E. Frank, R. Kirkby. - Hamilton: University of Waikato, 2013. - 327 p.
25. Басалаева, Ю.С. Выбор инструментов Data Mining для анализа результатов дистанционного образования / Ю.С. Басалаева // Современные материалы, техника и технология. - 2015. - № 2. - С. 22 - 25.
26. Feuerstein, S. Oracle PL/SQL Programming / Steven Feuerstein, Bill Pribyl. - USA: O'Reilly Media, 2005. - 1198 p.
27. Страуструп, Б. Программирование. Принципы и практика использования C++ / Б. Страуструп. - Москва: Вильямс, 2015. - 1329 с.
28. Шилдт, Г. C++: базовый курс / Г. Шилдт. - Москва: Вильямс, 2010. - 536 с.
29. Басалаева, Ю. С. Кластеризация задач дистанционного практикума по программированию / Ю.С. Басалаева, С.Ю. Ржеуцкая // Молодые исследователи - регионам: материалы международной научной конференции. - Вологда : , - 2016. Т. 1.С. 60 - 61.
30. Mahout description of Canopy-Clustering [Электронный ресурс]: офиц. сайт. - Режим доступа: https://mahout.apache.org/users/clustering/canopy-clustering.html.
1.
ПРИЛОЖЕНИЕ 1
Реализация функций в модуле подготовки данных
#include "dataconverter.h"
#include "iostream"
DataConverter::DataConverter()
{
}
string DataConverter::IntToString(int num)
{
ostringstream oss;
oss << num;
return oss.str();
}
string DataConverter::trim(string source)
{
while(source[0]==' ' || source[0]=='\t' || source[0]=='\n')
source = source.erase(0, 1); //убираем пробелы, табулящию, перевод строки слева
while(source[source.length()-1]==' ' || source[source.length()-1]=='\t' || source[source.length()-1]=='\n')
source = source.erase(source.length()-1, 1); //убиаем справа
return source;
}
bool DataConverter::isNumeric(string source)
{
bool res = true;
for (int i = 0; i < source.length(); i++)
{
unsigned char ch = (unsigned char)(source.c_str()[i]);
if (!isdigit(ch))
{
res = false;
break;
}
}
return res;
}
string DataConverter::encodeString(string srcstr)
{
string retval;
for (int i = 0; i < srcstr.length(); i++)
{
retval += IntToString((unsigned char)srcstr.c_str()[i]);
}
return retval;
}
vector<string> DataConverter::strSplit(string source, string delimiter)
{
vector<string> res;
int index1 = 0;
int index2;
while (true)
{
index2 = source.find(delimiter, index1);
if (index1 != index2)
{
if (index2 == string::npos)
{
if (!source.substr(index1, source.length() - index1).empty())
res.insert(res.end(), source.substr(index1, source.length() - index1));
break;
}
else
{
if (!source.substr(index1, index2 - index1).empty())
res.insert(res.end(), source.substr(index1, index2-index1));
}
}
index1 = index2 + delimiter.length();
}
return res;
}
string DataConverter::listToCSV(string source, string delimiter)
{
string retval;
vector<string> lst = strSplit(source, "\n");
for (int i = 0; i < lst.size(); i++)
{
vector<string> items = strSplit(trim(lst.at(i)), delimiter); // разделяем строку на айтемы, разделитель - delimiter
for (int j = 0; j < items.size(); j++)
{
if (isNumeric(items.at(j)) || i==0) //проверяем, а не число ли??? И уж не первая ли строка (заголовок)
{
retval.append(items.at(j)); // да. Число. Добавляем без изменений
}
else
{
retval.append(encodeString(items.at(j))); // нет, не число. Конвертим в число и добавляем.
}
if ((items.size() - 1) == j)
{
retval.append("\n"); // если элемент последний, то добавляем в конце перевод строки
}
else
{
retval.append(","); // элемент не последний. Добавляем после него разделитель
}
}
}
return retval;
}
Размещено на Allbest.ru
Подобные документы
Описание функциональных возможностей технологии Data Mining как процессов обнаружения неизвестных данных. Изучение систем вывода ассоциативных правил и механизмов нейросетевых алгоритмов. Описание алгоритмов кластеризации и сфер применения Data Mining.
контрольная работа [208,4 K], добавлен 14.06.2013Анализ проблем, возникающих при применении методов и алгоритмов кластеризации. Основные алгоритмы разбиения на кластеры. Программа RapidMiner как среда для машинного обучения и анализа данных. Оценка качества кластеризации с помощью методов Data Mining.
курсовая работа [3,9 M], добавлен 22.10.2012Совершенствование технологий записи и хранения данных. Специфика современных требований к переработке информационных данных. Концепция шаблонов, отражающих фрагменты многоаспектных взаимоотношений в данных в основе современной технологии Data Mining.
контрольная работа [565,6 K], добавлен 02.09.2010Перспективные направления анализа данных: анализ текстовой информации, интеллектуальный анализ данных. Анализ структурированной информации, хранящейся в базах данных. Процесс анализа текстовых документов. Особенности предварительной обработки данных.
реферат [443,2 K], добавлен 13.02.2014Классификация задач Data Mining. Задача кластеризации и поиска ассоциативных правил. Определению класса объекта по его свойствам и характеристикам. Нахождение частых зависимостей между объектами или событиями. Оперативно-аналитическая обработка данных.
контрольная работа [26,1 K], добавлен 13.01.2013Ознакомление с методами анализа популярности языков программирования. Рассмотрение логической модели базы данных дистанционного практикума. Разработка листинга скрипта создания таблицы-справочника. Анализ статистики по применению языков программирования.
диссертация [1,4 M], добавлен 10.07.2017Роль информации в мире. Теоретические основы анализа Big Data. Задачи, решаемые методами Data Mining. Выбор способа кластеризации и деления объектов на группы. Выявление однородных по местоположению точек. Построение магического квадранта провайдеров.
дипломная работа [2,5 M], добавлен 01.07.2017Классификация задач DataMining. Создание отчетов и итогов. Возможности Data Miner в Statistica. Задача классификации, кластеризации и регрессии. Средства анализа Statistica Data Miner. Суть задачи поиск ассоциативных правил. Анализ предикторов выживания.
курсовая работа [3,2 M], добавлен 19.05.2011Data mining, developmental history of data mining and knowledge discovery. Technological elements and methods of data mining. Steps in knowledge discovery. Change and deviation detection. Related disciplines, information retrieval and text extraction.
доклад [25,3 K], добавлен 16.06.2012Сущность и понятие кластеризации, ее цель, задачи, алгоритмы; использование искусственных нейронных сетей для кластеризации данных. Сеть Кохонена, самоорганизующиеся нейронные сети: структура, архитектура; моделирование кластеризации данных в MATLAB NNT.
дипломная работа [3,1 M], добавлен 21.03.2011