<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=91.108.30.97&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=91.108.30.97&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/91.108.30.97"/>
		<updated>2026-04-11T03:16:32Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BA%D0%BE%D0%B4%D0%B0_%D0%BD%D0%B0_Java&amp;diff=74079</id>
		<title>Примеры кода на Java</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BA%D0%BE%D0%B4%D0%B0_%D0%BD%D0%B0_Java&amp;diff=74079"/>
				<updated>2020-04-24T16:11:13Z</updated>
		
		<summary type="html">&lt;p&gt;91.108.30.97: /* См. также */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Java.jpeg|auto|thumb|Java: https://www.oracle.com/java/]]&lt;br /&gt;
==Популярные библиотеки==&lt;br /&gt;
* &amp;lt;code&amp;gt;Weka&amp;lt;/code&amp;gt;&amp;lt;ref&amp;gt;[https://www.cs.waikato.ac.nz/~ml/weka/ Weka]&amp;lt;/ref&amp;gt; {{---}} популярная библиотека, написанная на языке &amp;lt;code&amp;gt;Java&amp;lt;/code&amp;gt; и содержащая в себе множество алгоритмов машинного обучения для задач анализа данных. Предоставляет инструменты для решения задач классификации, кластеризации данных, регрессионного анализа и др. Основные возможности &amp;lt;code&amp;gt;Weka&amp;lt;/code&amp;gt; можно сгруппировать в 3 категории: инструменты пре-процессинга данных, алгоритмы машинного обучения и инструменты оценки модели. Инструменты пре-процессинга в &amp;lt;code&amp;gt;Weka&amp;lt;/code&amp;gt; называются фильтрами, &amp;lt;code&amp;gt;Weka&amp;lt;/code&amp;gt; содержит фильтры для дискретиации, нормализации, уменьшения размерности, трансформации и комбинирования признаков. &amp;lt;code&amp;gt;Weka Machine Learning Toolkit&amp;lt;/code&amp;gt; содержит алгоритмы классификации, регрессии, кластеризации. Реализованы следующие алгоритмы обучения: деревья решений, метод опорных векторов, &amp;lt;code&amp;gt;MLP&amp;lt;/code&amp;gt;, логистическая регрессия, Байесовские сети, и др., мета-алгоритмы включают в себя: бэггинг, [[Бустинг, AdaBoost|бустинг]], стекинг, алгоритмы выбора признаков: [[Метод главных компонент (PCA)| PCA]]&amp;lt;sup&amp;gt;[на 28.01.19 не создан]&amp;lt;/sup&amp;gt;, фильтрующие методы, основанные на information gain, коэффициенте корреляции Пирсона и &amp;lt;code&amp;gt;OneR&amp;lt;/code&amp;gt; классификаторе.&lt;br /&gt;
* &amp;lt;code&amp;gt;Smile&amp;lt;/code&amp;gt;&amp;lt;ref&amp;gt;[https://haifengl.github.io/smile/ Smile, Statistical Machine Intelligence and Learning Engine]&amp;lt;/ref&amp;gt; {{---}} &amp;lt;code&amp;gt;Java&amp;lt;/code&amp;gt; фреймворк для машинного обучения, анализа естественного языка, линейной алгебры и визуализации данных. &amp;lt;code&amp;gt;Smile&amp;lt;/code&amp;gt; покрывает все основные аспекты машинного обучения и предоставляет высокопроизводительные алгоритмы и структуры данных.&lt;br /&gt;
* &amp;lt;code&amp;gt;deeplearning4j&amp;lt;/code&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/deeplearning4j/deeplearning4j deeplearning4j, deep learning &amp;amp; linear algebra for Java/Scala with GPUs + Spark]&amp;lt;/ref&amp;gt; {{---}} &amp;lt;code&amp;gt;Java&amp;lt;/code&amp;gt; библиотека для глубокого обучения, создания рекуррентых (в том числе распределенных) нейронных сетей.&lt;br /&gt;
==Основные особенности использования Java для задач машинного обучения==&lt;br /&gt;
В отличие от &amp;lt;code&amp;gt;Python&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Java&amp;lt;/code&amp;gt; не обладает столь обширной экосистемой, ориентированной на решение задач машинного обучения и анализа данных. Большинство имеющихся инструментов являются узко специализированными (по сравнению, например, с &amp;lt;code&amp;gt;scikit-learn&amp;lt;/code&amp;gt;&amp;lt;ref&amp;gt;[https://scikit-learn.org/stable/ Библиотека scikit-learn]&amp;lt;/ref&amp;gt;) и хуже документированы. Ввиду более низкой популярности языка в сфере &amp;lt;code&amp;gt;ML&amp;lt;/code&amp;gt; большинство онлайн курсов и обучающих материалов ориентированы на &amp;lt;code&amp;gt;Python&amp;lt;/code&amp;gt;. Однако, несмотря на вышеперечисленные факторы, &amp;lt;code&amp;gt;Java&amp;lt;/code&amp;gt; остается&lt;br /&gt;
популярной альтернативой, особенно при необходимости интеграции с существующими &amp;lt;code&amp;gt;JVM&amp;lt;/code&amp;gt; проектами. Также к достоинствам &amp;lt;code&amp;gt;Java&amp;lt;/code&amp;gt; можно отнести статическую типизацию (и как следствие уменьшенную вероятность ошибок времени исполнения) и заметно более развитую поддержку в IDE.&lt;br /&gt;
==Примеры кода==&lt;br /&gt;
Для работы с приведенными ниже примерами необходим &amp;lt;code&amp;gt;JDK&amp;lt;/code&amp;gt; версии не ниже 10 и система сборки &amp;lt;code&amp;gt;Maven&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Каждый пример структурирован следующим образом: &lt;br /&gt;
# &amp;lt;code&amp;gt;Maven&amp;lt;/code&amp;gt; зависимость на необходимые библиотеки&lt;br /&gt;
# Список необходимых &amp;lt;code&amp;gt;import&amp;lt;/code&amp;gt; директив&lt;br /&gt;
# Код примера с комментариями&lt;br /&gt;
===Вариации регрессии===&lt;br /&gt;
{{main|Вариации регрессии}}&lt;br /&gt;
====Линейная регрессия====&lt;br /&gt;
{{main|Линейная регрессия#Пример на языке Java}}&lt;br /&gt;
&lt;br /&gt;
====Логистическая регрессиия====&lt;br /&gt;
{{main|Логистическая регрессия#Пример на языке Java}}&lt;br /&gt;
====Гребневая регрессия (ридж-регрессия)====&lt;br /&gt;
{{Main|Вариации регрессии#Пример на языке Java}}&lt;br /&gt;
====Лассо-регрессия====&lt;br /&gt;
{{Main|Вариации регрессии#Пример на языке Java_2}}&lt;br /&gt;
&lt;br /&gt;
===Метрический классификатор и метод ближайших соседей===&lt;br /&gt;
{{Main|Метрический классификатор и метод ближайших соседей#Пример на языке Java}}&lt;br /&gt;
&lt;br /&gt;
===Классификация при помощи MLP===&lt;br /&gt;
{{main|Нейронные сети, перцептрон#Пример на языке Java}}&lt;br /&gt;
===Рекуррентные нейронные сети===&lt;br /&gt;
{{Main|Рекуррентные нейронные сети#Пример на языке Java}}&lt;br /&gt;
===Долгая краткосрочная память===&lt;br /&gt;
{{Main|Долгая краткосрочная память#Пример на языке Java}}&lt;br /&gt;
===Метод опорных векторов===&lt;br /&gt;
{{main|Метод опорных векторов (SVM)#Пример на языке Java}}&lt;br /&gt;
===Деревья решений, случайный лес===&lt;br /&gt;
{{Main|Дерево решений и случайный лес#Пример на языке Java}}&lt;br /&gt;
&lt;br /&gt;
===Бустинг, Ada-boost===&lt;br /&gt;
{{main|Бустинг, AdaBoost#Пример на языке Java}}&lt;br /&gt;
&lt;br /&gt;
===EM-алгоритм===&lt;br /&gt;
{{Main|EM-алгоритм|ll=EM-алгоритм &amp;lt;sup&amp;gt;[на 08.04.19 не создан]&amp;lt;/sup&amp;gt;}}&lt;br /&gt;
Пример кластеризации с применением &amp;lt;code&amp;gt;weka.clusterers.EM&amp;lt;/code&amp;gt;&amp;lt;ref&amp;gt;[http://weka.sourceforge.net/doc.dev/weka/clusterers/EM.html/ Weka, EM]&amp;lt;/ref&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;nz.ac.waikato.cms.weka&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;weka-stable&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;3.8.0&amp;lt;/version&amp;gt;&lt;br /&gt;
  &amp;lt;/dependency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  '''import''' weka.clusterers.ClusterEvaluation;&lt;br /&gt;
  '''import''' weka.clusterers.EM;&lt;br /&gt;
  '''import''' weka.core.Instances;&lt;br /&gt;
  '''import''' java.io.BufferedReader;&lt;br /&gt;
  '''import''' java.io.FileReader;&lt;br /&gt;
  '''import''' java.util.Random;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;//load data&amp;lt;/font&amp;gt;&lt;br /&gt;
  '''var''' data = new Instances(new BufferedReader(new FileReader(&amp;quot;data/bank-data.arff&amp;quot;)));&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;// new instance of clusterer&amp;lt;/font&amp;gt;&lt;br /&gt;
  '''var''' model = new EM();&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;// build the clusterer&amp;lt;/font&amp;gt;&lt;br /&gt;
  model.buildClusterer(data);&lt;br /&gt;
  System.out.println(model);&lt;br /&gt;
  '''var''' logLikelihood = ClusterEvaluation.crossValidateModel(model, data, 10, new Random(1));&lt;br /&gt;
&lt;br /&gt;
===Уменьшение размерности===&lt;br /&gt;
{{Main|Уменьшение размерности#Пример на языке Java}}&lt;br /&gt;
&lt;br /&gt;
===Байесовская классификация===&lt;br /&gt;
{{Main|Байесовская классификация#Пример на языке Java}}&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
*[[:Примеры кода на Scala|Примеры кода на Scala]]&lt;br /&gt;
*[[:Примеры кода на R|Примеры кода на R]]&lt;br /&gt;
*[[:Обзор библиотек для машинного обучения на Python|Обзор библиотек для машинного обучения на Python]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
[[Категория: Машинное обучение]] [[Категория: Примеры кода]]&lt;/div&gt;</summary>
		<author><name>91.108.30.97</name></author>	</entry>

	</feed>