일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 넘파이
- Machine Learning
- python
- 코테
- cpp
- NumPy
- 디자인 패턴
- 차원축소
- 네트워크 기초
- 파이썬
- lambda
- 합성곱 신경망
- java
- 코딩테스트실력진단
- 클러스터링
- 코딩테스트
- 코드트리
- cpp class
- OOP
- 자바
- 데이터 마이닝
- Design Pattern
- 데이터 분석
- 기계학습
- ack
- 머신러닝
- numpy 기초
- 넘파이 기초
- 넘파이 배열
- c++
- Today
- Total
목록전체 글 (69)
준비하는 대학생
퍼사드 패턴이란? 퍼사드(Facade)는 건물의 정면을 의미하는 단어로, 여기서는 복잡한 시스템의 '앞면'이라는 의미로 사용됩니다. 퍼사드 패턴은 클라이언트와 복잡한 시스템 사이에 간편한 인터페이스를 제공하는 구조적 패턴입니다. 이렇게 하면 복잡한 시스템을 더욱 단순하게 보이게 만들어, 클라이언트가 시스템을 쉽게 이해하고 사용할 수 있게 합니다. 퍼사드 패턴의 구조 퍼사드 패턴은 다음 세 가지 주요 구성 요소로 이루어져 있습니다. 퍼사드(Facade): 클라이언트에게 간편한 인터페이스를 제공합니다. 내부 시스템의 기능을 단순화된 메소드로 제공하며, 이를 통해 클라이언트가 시스템에 접근할 수 있게 합니다. 시스템 클래스(System Classes): 시스템의 복잡한 기능을 담당하는 클래스들입니다. 이 클래..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjdW40/btsiBKEN1tY/vw0WEGdecxrU9FlcUOOJ1k/img.png)
의사결정 나무란? 의사결정 나무(Decision Tree)는 예측 모델 중 하나로, 독립 변수의 조건에 따라 종속 변수의 값을 예측하는 데 사용됩니다. 이 모델은 '나무'라는 이름처럼, 뿌리에서 시작해 각 분기점(node)에서 특정 기준에 따라 데이터를 나누고, 마지막에는 각각의 잎 노드(leaf node)로 데이터를 분류합니다. 의사결정 나무는 분류와 회귀 모두에 사용될 수 있으며, 간단하고 해석하기 쉬운 모델로 많이 사용됩니다. 작동 원리 의사결정 나무의 핵심 원리는 '불순도(impurity)'를 최소화하는 방향으로 데이터를 분할하는 것입니다. 불순도는 일반적으로 지니 계수(Gini Index), 엔트로피(Entropy), 정보 이득(Information Gain) 등을 사용해 측정합니다. 분류 기준..
어댑터 패턴이란? 어댑터 패턴은 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 디자인 패턴입니다. 이를 통해 인터페이스가 호환되지 않는 클래스들이 함께 작동할 수 있습니다. 실생활에서 어댑터의 예시를 들어보면, 여러분이 여행을 가서 전기 플러그가 다른 국가에서도 장비를 사용할 수 있게 해주는 전원 어댑터를 생각해 볼 수 있습니다. 이처럼 어댑터 패턴도 두 클래스 사이의 '번역기' 역할을 하며, 이들이 서로 상호 작용할 수 있게 해줍니다. 어댑터 패턴의 구성요소 어댑터 패턴에는 다음과 같은 구성요소가 있습니다. Target: 클라이언트가 호출하는 인터페이스를 정의합니다. Adaptee: 클라이언트가 사용하고자 하는, 하지만 현재 인터페이스가 호환되지 않는 클래스를 말합니다. Adapte..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/H8bv6/btsikT3DeIy/OjBvOT5qCoH7vwwQSeRBdk/img.png)
Command Pattern이란? Command Pattern은 행동(behavioral) 디자인 패턴 중 하나로, 요청 자체를 객체화 하는 것을 목표로 합니다. 이 패턴은 요청이 서로 다른 사용자, 시간 또는 프로젝트에 따라 달라질 수 있을 때 유용합니다. 이러한 요청을 객체로 만들면, 요청을 큐에 저장하거나 로그로 기록하고 재실행할 수 있습니다. Command Pattern의 구조 Command Pattern에는 다음과 같은 4가지 주요 요소가 있습니다. Command: 이 인터페이스는 execute() 메서드를 선언하여 Receiver에서 수행할 연산을 구체화하는 방법을 정의합니다. ConcreteCommand: Command 인터페이스를 구현하고, 이를 통해 Receiver 클래스의 함수를 호출합..
Singleton 패턴이란? Singleton 패턴은 객체 지향 프로그래밍에서 주로 사용되는 디자인 패턴 중 하나입니다. Singleton 패턴은 클래스의 특정 인스턴스가 한 개만 만들어지도록 보장하고, 그 인스턴스에 쉽게 접근할 수 있는 글로벌한 접근점을 제공합니다. 이를 통해 다른 객체들이 데이터를 공유할 수 있게 하며, 자원의 효율적인 관리를 할 수 있습니다. 고전적인 Singleton 패턴 싱글턴 패턴은 특정 클래스의 인스턴스가 하나만 생성되도록 보장하고, 이 인스턴스에 전역적으로 접근할 수 있게 하는 디자인 패턴입니다. 이를 사용하면 여러 객체들이 데이터를 공유할 수 있게 만들 수 있습니다. Java로 Singleton 패턴을 구현하는 고전적인 방법은 다음과 같습니다. public class S..
람다 표현식이란? 람다 표현식은 간단한 함수를 익명 클래스의 인스턴스 대신 표현하는 데 사용되는 간결한 문법입니다. 람다 표현식은 인터페이스를 구현하는 방식으로 작동하며, 이 인터페이스에는 단 하나의 추상 메서드가 있어야 합니다. 이러한 인터페이스를 함수형 인터페이스라고 부릅니다. 람다 표현식의 문법 람다 표현식의 기본 문법은 다음과 같습니다. (parameters) -> expression 또는 (parameters) -> { statements; } parameters: 함수의 매개변수를 정의합니다. 괄호 안에 매개변수를 정의하며, 여러 개의 매개변수가 있을 경우 쉼표로 구분합니다. 매개변수의 타입을 명시할 수도 있지만, 대부분의 경우 자바 컴파일러가 유추할 수 있습니다. >: 화살표 기호는 매개변수..
Enum이란? Enum은 열거형이라고도 불리며, 여러 개의 상수 값을 갖는 특별한 데이터 타입입니다. Enum을 사용하면 코드의 가독성을 높이고, 값의 범위를 제한하여 오류를 줄일 수 있습니다. 예를 들어, 사계절을 나타내는 Season이라는 Enum을 생성한다고 가정해 봅시다. 일반적인 상수 정의를 사용하는 경우 다음과 같이 작성할 수 있습니다. public static final int SPRING = 0; public static final int SUMMER = 1; public static final int FALL = 2; public static final int WINTER = 3; 그러나 이 방법은 여러 가지 문제점이 있습니다. 예를 들어, 정수 타입이기 때문에 0~3 이외의 값도 할당될..
나이브 베이즈(Naive Bayes) 분류기는 지도 학습의 한 종류로, 베이즈 정리(Bayes' theorem)에 기반한 분류 알고리즘입니다. 특히 텍스트 분류, 스팸 메일 필터링, 감성 분석 등 다양한 분야에서 활용되며, 간단하고 빠르게 구현할 수 있다는 장점이 있습니다. 이 글에서는 나이브 베이즈 분류기의 원리와 활용에 대해 자세히 알아보겠습니다. 1. 베이즈 정리란? 나이브 베이즈 분류기의 기반이 되는 베이즈 정리는 확률 이론에서 가장 중요한 개념 중 하나입니다. 베이즈 정리는 사전 확률(prior probability)을 조건부 확률(conditional probability)을 사용하여 사후 확률(posterior probability)로 업데이트하는 방법을 제공합니다. 수식으로 나타내면 다음과..