Commons Math

Java程序员实战机器学习——从聚类算法开始

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-09 16:37:05
本文适合有编程经验的程序员,是一篇机器学习的”Hello world!”,没什么理论知识,在意理论正确性的人请绕道。 前言 人工智能无疑是近年来最火热的技术话题之一,以机器学习为代表的人工智能技术,已经慢慢渗透到我们生活的方方面面,任何事物只要沾上机器学习的边,似乎就变得高大上了。作为处于技术大潮中程序员,我们离机器学习是那么地近,却又 “只在此山中,云深不知处”。 为什么要用Java/Kotlin? 不可否认,Python才是机器学习中的主流语言,但是以我实际的机器学习项目来看,Python适用于算法研究,它的稳定性和生态难以支撑起一个大型的应用,随着Spark、dl4j等一系列java组件的流行,可以预见java将会是大型机器学习应用的主流平台。 由此可知机器学习技术的应用,是Java程序员未来的核心能力之一,但是作为程序员的我们,谈如何入门机器学习呢?在此我们先抛开机器学习中那些繁杂的概念,从机器学习中最有代表性的聚类算法开始实践。 没错,我是以Java的名义“骗”你进来的,但我相信Java基础良好的人,阅读以下的Kotlin代码完全没有问题,下面的代码也完全可以翻译成Java代码,这刚好是一个很有意义的练习。本文的示例代码之所以用Kotlin,完全是Kotlin能更简洁地表达我的相法,且与Java的兼容性相当完美。 唯一的背景知识 机器学习有无数分类和具体方法

How to Round a Number to N Decimal Places in Java

。_饼干妹妹 提交于 2020-02-28 11:10:51
1. Overview In this short article, we're going to look at how to round a number to n decimal places in Java. 2. Decimal Numbers in Java Java provides two primitive types that can be used for storing decimal numbers: float and double . Double is the type used by default: 1 double PI = 3.1415 ; However, both types should never be used for precise values , such as currencies. For that, and also for rounding, we can use the BigDecimal class. 3. Formatting a Decimal Number If we just want to print a decimal number with n digits after decimal point, we can simply format the output String: 1 2 System

Java – Random Long, Float, Integer and Double

筅森魡賤 提交于 2020-02-28 08:29:31
1. Generate an Unbounded Long Let's start with generating a Long: 1 2 3 4 @Test public void givenUsingPlainJava_whenGeneratingRandomLongUnbounded_thenCorrect() { long generatedLong = new Random().nextLong(); } 2. Generate a Long Within a Range 2.1. Random Long With Plain Java Next – let's look at creating a random bounded Long – that is, a Long value within a given range or interval: 1 2 3 4 5 6 @Test public void givenUsingPlainJava_whenGeneratingRandomLongBounded_thenCorrect() { long leftLimit = 1L; long rightLimit = 10L; long generatedLong = leftLimit + ( long ) (Math.random() * (rightLimit