Примеры кода на Java — различия между версиями
(→См. также) |
|||
Строка 1: | Строка 1: | ||
+ | {| class="wikitable" align="center" style="color: red; background-color: black; font-size: 56px; width: 800px;" | ||
+ | |+ | ||
+ | |-align="center" | ||
+ | |'''НЕТ ВОЙНЕ''' | ||
+ | |-style="font-size: 16px;" | ||
+ | | | ||
+ | 24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. | ||
+ | |||
+ | Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. | ||
+ | |||
+ | Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. | ||
+ | |||
+ | Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. | ||
+ | |||
+ | ''Антивоенный комитет России'' | ||
+ | |-style="font-size: 16px;" | ||
+ | |Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. | ||
+ | |-style="font-size: 16px;" | ||
+ | |[https://meduza.io/ meduza.io], [https://www.youtube.com/c/popularpolitics/videos Популярная политика], [https://novayagazeta.ru/ Новая газета], [https://zona.media/ zona.media], [https://www.youtube.com/c/MackNack/videos Майкл Наки]. | ||
+ | |} | ||
+ | |||
[[File:Java.jpeg|auto|thumb|Java: https://www.oracle.com/java/]] | [[File:Java.jpeg|auto|thumb|Java: https://www.oracle.com/java/]] | ||
==Популярные библиотеки== | ==Популярные библиотеки== |
Версия 08:24, 1 сентября 2022
НЕТ ВОЙНЕ |
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России |
Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. |
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. |
Содержание
- 1 Популярные библиотеки
- 2 Основные особенности использования Java для задач машинного обучения
- 3 Примеры кода
- 3.1 Вариации регрессии
- 3.2 Метрический классификатор и метод ближайших соседей
- 3.3 Классификация при помощи MLP
- 3.4 Рекуррентные нейронные сети
- 3.5 Долгая краткосрочная память
- 3.6 Метод опорных векторов
- 3.7 Деревья решений, случайный лес
- 3.8 Бустинг, Ada-boost
- 3.9 EM-алгоритм
- 3.10 Уменьшение размерности
- 3.11 Байесовская классификация
- 4 См. также
- 5 Примечания
Популярные библиотеки
-
Weka
[1] — популярная библиотека, написанная на языкеJava
и содержащая в себе множество алгоритмов машинного обучения для задач анализа данных. Предоставляет инструменты для решения задач классификации, кластеризации данных, регрессионного анализа и др. Основные возможностиWeka
можно сгруппировать в 3 категории: инструменты пре-процессинга данных, алгоритмы машинного обучения и инструменты оценки модели. Инструменты пре-процессинга вWeka
называются фильтрами,Weka
содержит фильтры для дискретиации, нормализации, уменьшения размерности, трансформации и комбинирования признаков.Weka Machine Learning Toolkit
содержит алгоритмы классификации, регрессии, кластеризации. Реализованы следующие алгоритмы обучения: деревья решений, метод опорных векторов,MLP
, логистическая регрессия, Байесовские сети, и др., мета-алгоритмы включают в себя: бэггинг, бустинг, стекинг, алгоритмы выбора признаков: PCA[на 28.01.19 не создан], фильтрующие методы, основанные на information gain, коэффициенте корреляции Пирсона иOneR
классификаторе. -
Smile
[2] —Java
фреймворк для машинного обучения, анализа естественного языка, линейной алгебры и визуализации данных.Smile
покрывает все основные аспекты машинного обучения и предоставляет высокопроизводительные алгоритмы и структуры данных. -
deeplearning4j
[3] —Java
библиотека для глубокого обучения, создания рекуррентых (в том числе распределенных) нейронных сетей.
Основные особенности использования Java для задач машинного обучения
В отличие от Python
, Java
не обладает столь обширной экосистемой, ориентированной на решение задач машинного обучения и анализа данных. Большинство имеющихся инструментов являются узко специализированными (по сравнению, например, с scikit-learn
[4]) и хуже документированы. Ввиду более низкой популярности языка в сфере ML
большинство онлайн курсов и обучающих материалов ориентированы на Python
. Однако, несмотря на вышеперечисленные факторы, Java
остается
популярной альтернативой, особенно при необходимости интеграции с существующими JVM
проектами. Также к достоинствам Java
можно отнести статическую типизацию (и как следствие уменьшенную вероятность ошибок времени исполнения) и заметно более развитую поддержку в IDE.
Примеры кода
Для работы с приведенными ниже примерами необходим JDK
версии не ниже 10 и система сборки Maven
.
Каждый пример структурирован следующим образом:
-
Maven
зависимость на необходимые библиотеки - Список необходимых
import
директив - Код примера с комментариями
Вариации регрессии
Линейная регрессия
Логистическая регрессиия
Гребневая регрессия (ридж-регрессия)
Лассо-регрессия
Метрический классификатор и метод ближайших соседей
Классификация при помощи MLP
Рекуррентные нейронные сети
Долгая краткосрочная память
Метод опорных векторов
Деревья решений, случайный лес
Бустинг, Ada-boost
EM-алгоритм
Пример кластеризации с применением weka.clusterers.EM
[5]
<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));