언어/Java

언어/Java

Java(자바) 알고리즘 - 로지스틱회귀(Logistic Regression) 오픈소스 및 예제

Java - 로지스틱 회귀(Logistic Regression) 프로젝트 진행 중에 Java를 활용한 로지스틱 회귀 관련 알고리즘을 발견해서 사용해 본 후 해당 내용을 공유해봅니다. 로지스틱 회귀는 주로 반응변수가 주로 이진형 값에서 주로 사용되는 회귀 분석 방법이라고 정의할 수 있습니다. 해석의 편의성과 샘플링 데이터의 계수 추정치를 편하게 계산할 수 있는 관계로 널리 사용되고 있는 알고리즘이라고 생각이 됩니다. 로지스틱 회귀 알고리즘에 대한 상세한 설명이 나와있는 블로그를 하단에 소개해 드립니다. 아울러, 아래 소스코드를 하단에 공유해 드리니 테스트가 필요하신 분은 다운로드 후 사용하시면 됩니다. 로지스틱 회귀(Logistic Regression) 설명 추천 블로그 : 클릭 이동 Java 로지스틱 회..

언어/Java

Java(자바) 알고리즘 - 나이브베이지안(Naive Bayesian) 오픈소스 및 예제

Java - 나이브 베이즈(Naive Bayesian) 분류 요즘 필드에서 파이썬 활용 기계학습 프로젝트 중이라 정신이 없네요. 프로젝트 수행 중에 갑자기 자바(Java)로 나이브 베이지안 알고리즘을 활용해야 되는 파트가 있어서 관련 라이브러리를 검색 중에 성공적으로 프로젝트 완성까지 사용한 오픈소스 사용방법을 간단하게 포스팅 해봅니다. 나이브 베이즈 분류에 관한 자세한 설명은 하단 링크 블로그를 방문하시면 자세한 설명이 나와 있으니 참고하시기 바랍니다. 그럼 하단에서 사용법을 알아보도록 하겠습니다. 나이브 베이즈(Naive Bayes) 추천 블로그 : 클릭 이동 Java 나이브 베이즈 분류(Classification) - 나이브 베이즈 소스 코드 디테일한 사용을 위해서는 하단에 관련 레퍼런스를 꼭 읽어..

언어/Java

Java(자바) 디자인패턴 - 팩토리(Factory Method) 패턴 설명 및 예제소스

Java 디자인패턴 - 팩토리 메소드 패턴 이번 시간에는 자바 디자인 패턴 중 팩토리 메소드 패턴(Factory Method Pattern)에 대해서 쉬운 예제와 함께 설명 드리려 합니다. 팩토리 메소드 패턴은 요약해서 말씀드리면 객체 생성을 대신 수행해주는 공장이라고 생각하시면 이해가 빠르실 겁니다. 객체는 직접 생성하는 경우가 있고 팩토리 메소드 패턴의 역할처럼 간적접으로 객체 생성 후 반환해주는 방식으로 생각해 볼 수 있습니다. 해당 패턴은 아래와 같은 장단점이 존재합니다. - 생성 할 클래스를 미리 알지 못해도 팩토리 클래스가 객체 생성 담당 - 객체의 자료형이 하위클래스에 의해서 결정 -> 확장 용이성 - 동일한 형태로 프로그래밍 가능 - 확장성 있는 전체 프로젝트 구성 가능 - 객체가 늘어날 ..

언어/Java

Java(자바) 디자인패턴 - 템플릿 메소드(Template Method) 패턴 설명 및 예제소스

Java 디자인패턴 - 템플릿 메소드 패턴 이번 시간에는 자바 디자인 패턴 중 빈번하게 사용되는 템플릿 메소드 패턴 (Template Method Pattern)에 대해서 간단한 예제와 함께 설명 드리려 합니다. 템플릿 메소드 패턴은 어떤 소스코드상의 알고리즘에서 특정 환경 또는 상황에 맞게 확장 또는 변경을 해야 할 경우 매우 유용한 패턴입니다. 추상클래스와 구현클래스로 작성할 수 있으며, 메인이 되는 로직 부분은 추상클래스의 일반 메소드로 선언해서 사용합니다. 즉, 구현별로 달라질 수 있는 행동(메소드)들은 구현 클래스에서 선언 후 호출하는 방식으로 사용합니다. 해당 패턴은 아래와 같은 장단점이 있습니다. 장점 - 코드 중복 감소 - 자식 클래스의 역할(롤)을 감소시키면서 핵심로직 관리 용이 - 객체..

언어/Java

Java(자바) 디자인패턴 - 어댑터(Adapter) 패턴 설명 및 예제소스

Java 디자인패턴 - 어댑터(Adapter) 패턴 이번 시간에는 자바 디자인 패턴 중 빈번하게 사용되는 어댑터 패턴(Adapter Pattern)에 대해서 간단한 예제와 함께 설명 드리려 합니다. 어댑터 패턴은 한 클래스의 인터페이스를 사용하고자 하는 다른 인터페이스로 변환할 때 주로 사용하며, 이를 이용하면 인터페이스 호환성이 맞지 않아 같이 쓸 수 없는 클래스를 연관 관계로 연결해서 사용할 수 있게 해주는 패턴입니다. 아래와 같은 장점이 있습니다. - 관계가 없는 인터페이스 간 같이 사용 가능 - 프로그램 검사 용이 - 클래스 재활용성 증가 등 아래 설명을 읽어보시고 예제 소스코드를 학습하시면 쉽게 이해하실 수 있을 거라 생각합니다. Java 관련 포스팅 : Java 관련 Java 어댑터(Adapt..

언어/Java

Java(자바) 디자인패턴 - 전략(Strategy) 패턴 설명 및 예제소스

Java 디자인패턴 - 전략(Strategy) 패턴 오늘부터 Java 디자인 패턴을 예제와 함께 설명하는 포스팅을 하려고 합니다. 그 중에서 첫 번 째로 실무 프로젝트에서 가장 많이 사용하고 중요한 전략패턴을 설명하려고 합니다. 전략패턴은 각각의 알고리즘군을 교환이 가능하도록 별도로 정의하고 각각 캡슐화 한 후 서로 교환해서 사용 할 수 있는 패턴이며, 아래와 같은 장점이 있습니다. - 코드 중복 방지 - 런타임(Runtime)시에 타겟 메소드 변경 - 확장성(신규 클래스) 및 알고리즘 변경 용이 즉, "프로젝트 전체에서 변경이 일어나지 않는 부분에서 변경이 일어나는 부분을 찾아서 따로 캡슐화 한다." 라고 이해하시면 쉬울 듯 싶습니다. 아래 설명을 읽어보시고 예제 소스코드를 학습하시면 쉽게 이해하실 수..

언어/Java

Java(자바) Runtime - 외부 프로세스(exec) 실행 예제 소스

Java(자바) Runtime(exec) - 설명 ① Java Runtime Class - JVM이 작동하는 시스템 운영체제와의 인터페이스로 작동하는 클래스② 주로 운영체제 기반의 프로그램을 실행하거나 정보를 가져오는 기능을 사용한다.③ 시스템 침입의 주요 경로가 될 수 있으므로 실행 시 보안요소를 고려해야 한다. Java(자바) Runtime(exec) - 외부 프로세스 실행 소스 코드 원본코드1234567891011121314151617181920import java.io.IOException; public class RuntimeTest { public static void main(String[] args) throws IOException, InterruptedException { Runtime..

언어/Java

Java(자바) BlockingQueue - Producer 및 Consumer 패턴 예제

Java(자바) BlockingQueue - 설명 ① 멀티 스레드(Multi-Thread) 환경에서 Queue는 다양하게 활용 될 수 있어요.② BlockingQueue를 사용함으로써 Thread-safe 하게 Producer, Consumer 패턴을 구현할 수 있어요.③ 보통 RabbitMQ 등과 같이 메세지 처리 및 Push 처리 기술 분야에 활용 되고 있어요. Java(자바) BlockingQueue - Producer 및 Consumer 소스 코드 원본코드12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273..

언어/Java

Java(자바) 알고리즘 - 문자열로 서로 다른 단어 만들어내기(Anagram)

Java(자바) 알고리즘 - 아나그램(Anagram) 설명 ① Java의 replaceAll, toCharArray, sort 함수를 이용했어요.② 소문자로 변환 후 정렬이 핵심이예요.③ 예를들어 elivs 는 = lives , basic = isabc 와 같이 구성요소가 같으면 아나그램(Anagram) Java(자바) 알고리즘 - 아나그램(Anagram) 소스 코드 원본코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import java.util.Arrays; public class AnagramTest { public static void isAnagram(String a1, String a..

언어/Java

Java(자바) - Map(맵) 중요한 9가지 사용법 설명

Java(자바) - 맵(Map) 9가지 중요 설명 소개 링크 ① Java Map(맵) - Key, Value의 대응관계로 이루어진 자료 저장을 위한 자료형이다.② 종류에는 HashMap, HashTable, TreeMap이 있으며, 차이점을 명확하게 알아야 한다. - 개발자 면접에 빈번하게 등장 하는 질문이다.③ 맵의 정렬(Sort)에 대해서 잘 알아두어야 한다. - 키(Key) 정렬 - 값(Value) 정렬④ 성능 하락에 영향이 가지 않도록 정확하게 원리 파악 후 개발하는 것이 중요하다. - Map(맵)의 순환(Iterate) - 깊은 복사(Deep Copy), 얕은 복사(Shallow Copy) - List(리스트)로 변환 등⑤ 위에 사항들이 예제와 함께 정리 & 설명 되어 있는 사이트가 있어서 아래..

[좋은사람]
'언어/Java' 카테고리의 글 목록