DESIGN AND IMPLEMENTATION OF AGRICULTURAL CLASSIFICATION SOFTWARE
Authors: Зеленчук Н.А. , Альсова О.К. 
Published: March 2022

В настоящее время в сельскохозяйственной отрасли наблюдается постоянное увеличение объемов получаемых данных, возрастает потребность в их качественной обработке и точных расчетах для принятия обоснованных решений. Поэтому особую актуальность приобретают задачи, связанные с разработкой алгоритмов, методов и программного обеспечения для решения задач анализа и обработки данных в области сельского хозяйства с применением современных технологий и программных средств.В статье представлены результаты проектирования и реализации программного обеспечения (ПО) для решения задачи классификации сельскохозяйственных показателей на основе применения комплекса методов интеллектуального анализа данных и машинного обучения. В рамках проектной части работы описаны функциональные и нефункциональные требования к программному обеспечению, архитектура и структура проектируемой программы, технологии и программные средства реализации. Предложена укрупненная архитектура ПО, состоящая из двух частей: пользовательского приложения на языке программирования Java и ядра выполнения R-скриптов. В результате проектирования выделено пять модулей в структуре ПО: средства взаимодействия с данными, первичная обработка данных, классификация данных, автоматический подбор параметров алгоритмов и «интеллектуальный» модуль. В качестве средств реализации ПО предложено использовать стек технологий, а именно: язык статистических вычислений R для реализации методов анализа данных и язык Java для разработки графического пользовательского интерфейса для доступа к функциям анализа данных R.Также в статье приведено описание двух разработанных модулей программного обеспечения, а именно: модуля первичной обработки данных и модуля классификации данных. В модуле первичной обработки данных реализованы расчет основных числовых характеристик показателей, исследование законов распределения показателей на основе применения критериев согласия Шапиро-Уилка, Андерсона-Дарлинга, Крамера-фон Мизеса, Лиллиефорса, исследование взаимосвязей в данных с помощью методов корреляционного и дисперсионного анализов данных. В модуле классификации реализованы методы сэмплирования для решения проблемы несбалансированности данных, а также модели классификаторов: логистическая регрессия,наивный Байес, дискриминантный анализ, нейросетевой метод (персептрон), деревья решений, реализована возможность оценки точности получаемых моделей с помощью набора метрик. Приведен пример решения задачи классификации уровня засоренности участка с помощью нейронной сети (персептрона), точность классификации составила на тестовой выборке 0,73.
The agricultural industry is currently experiencing a constant increase in the data obtained, the need for their quality processing and accurate calculations to support decision-making is increasing. Hence, the tasks related to the development of algorithms, methods and software for solving problems of analysis and processing of data in the field of agriculture using modern technologies and software are of particular relevance.The research paper provides the results of design and further implementation of software for agricultural indicators classification problem solving based on the complex application of data mining and machine learning methods. In the framework of the design part the functional and non-functional software requirements, the architecture and structure of the designed software, implementation technologies, and developing tools were included. The proposed large-scale software architecture consists of two parts: a user application based on the Java programming language and a kernel of R-scripts execution. The software design was defined to consist of five modules: data interaction tools, primary data processing, data analysis, automated selection of algorithm parameters, and «intelligent» module. To implement the software, it was proposed to use the technology stack: statistical computing language R for the realization of data analysis methods and Java to develop a graphical user interface to access the R data analysis functions.Another section provides a description of two developed software modules, namely: the module of primary data processing and the module of data classification. The module of primary data processing involves calculation of the main numerical features, the examination of the distribution laws based on the application of the Shapiro-Wilk, Anderson-Darling, Cramér-von Mises, Lilliefors consent criteria and tests, the analysis of relationships in the data using methods of correlation and variance analyses. The module of classification implemented methods of sampling to solve the problem of unbalanced data as well as models of classifiers: logistic regression, naive Bayes, discriminant analysis, neural network method (perceptron), decision trees. The ability to assess the accuracy of the obtained models using a set of metrics is realized. A case of solving the problem of classifying the level of crop infestation using a neural network (perceptron) is presented, the accuracy of classification was 0.73 on the test sample.