Примеры кода на Java — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 28: Строка 28:
 
{{main|Нейронные сети, перцептрон#Пример на языке Java}}
 
{{main|Нейронные сети, перцептрон#Пример на языке Java}}
 
===Рекуррентные нейронные сети===
 
===Рекуррентные нейронные сети===
{{Main|Рекуррентные нейронные сети}}
+
{{Main|Рекуррентные нейронные сети#Пример на языке Java}}
[https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/recurrent/basic/BasicRNNExample.java Пример] простой рекуррентной нейронной сети, способной генерировать заданную строку по первому символу, с применением библиотеки <code>deeplearning4j</code>.
 
 
===Долгая краткосрочная память===
 
===Долгая краткосрочная память===
{{Main|Долгая краткосрочная память}}
+
{{Main|Долгая краткосрочная память#Пример на языке Java}}
[https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/recurrent/character/LSTMCharModellingExample.java Пример] реализации рекуррентной нейронной сети, использующей механизм LSTM и натренированной на текстах Шекспира, с применением библиотеки <code>deeplearning4j</code>.
 
 
===Метод опорных векторов===
 
===Метод опорных векторов===
 
{{main|Метод опорных векторов (SVM)#Пример на языке Java}}
 
{{main|Метод опорных векторов (SVM)#Пример на языке Java}}

Версия 03:15, 9 апреля 2019

Популярные библиотеки

  • Weka[1] — популярная библиотека, написанная на языке Java и содержащая в себе множество алгоритмов машинного обучения для задач анализа данных. Предоставляет инструменты для решения задач классификации, кластеризации данных, регрессионного анализа и др.
  • Smile[2]Java фреймворк для машинного обучения, анализа естественного языка, линейной алгебры и визуализации данных. Smile покрывает все основные аспекты машинного обучения и предоставляет высокопроизводительные алгоритмы и структуры данных.
  • deeplearning4j[3]Java библиотека для глубокого обучения, создания рекуррентых (в том числе распределенных) нейронных сетей.

Примеры кода

Для работы с приведенными ниже примерами необходим JDK версии не ниже 10 и система сборки Maven.
Каждый пример структурирован следующим образом:

  1. Maven зависимость на необходимые библиотеки
  2. Список необходимых import директив
  3. Код примера с комментариями

Вариации регрессии

Основная статья: Вариации регрессии

Линейная регрессия

Логистическая регрессиия

Гребневая регрессия (ридж-регрессия)

Лассо-регрессия

Метрический классификатор и метод ближайших соседей

Классификация при помощи MLP

Рекуррентные нейронные сети

Долгая краткосрочная память

Метод опорных векторов

Деревья решений, случайный лес

Бустинг, Ada-boost

EM-алгоритм

Основная статья: EM-алгоритм

Пример кластеризации с применением weka.clusterers.EM[4]

 <dependency>
   <groupId>nz.ac.waikato.cms.weka</groupId>
   <artifactId>weka-stable</artifactId>
   <version>3.8.0</version>
 </dependency>
 import weka.clusterers.ClusterEvaluation;
 import weka.clusterers.EM;
 import weka.core.Instances;
 import java.io.BufferedReader;
 import java.io.FileReader;
 import java.util.Random;
 //load data
 var data = new Instances(new BufferedReader(new FileReader("data/bank-data.arff")));
 // new instance of clusterer
 var model = new EM();
 // build the clusterer
 model.buildClusterer(data);
 System.out.println(model);
 var logLikelihood = ClusterEvaluation.crossValidateModel(model, data, 10, new Random(1));

Уменьшение размерности

Байесовская классификация

См. также

Примечания