본문 바로가기

전체 글134

[혼공학습단] 차원의 저주를 풀기 위한 주성분 분석(PCA) 선택미션 주차 진도 선택 미션 5주차 chapter 06 ch.06(06-3) 확인 문제 풀고, 풀이 과정 정리하기 문제 풀이 전 선수 지식 주성분 분석에 관한 다음 3가지 문제를 풀기 전에 왜 주성분 분석이 필요한지 거슬러 올라가면 차원의 저주(The Curse of Dimensionality)라는 개념이 나온다. 이 개념부터 주성분 분석까지 간단하게 내용을 정리해보기로 한다. 차원의 저주(CoD) 일상 경험의 3차원 물리적 공간 과 같은 저차원 환경에서 발생하지 않는 고차원 공간 에서 데이터를 분석하고 정리할 때 발생하는 다양한 현상 데이터 마이닝에서는 특성이 너무 많은 데이터셋에서 발생하는 현상의 의미함 원인은 차원이 증가하면 부피가 기하급수적으로 증가하게 되는데 사용 가능한 데이터가 희박해짐, 즉.. 2023. 8. 12.
[혼공학습단] k-평균 알고리즘의 작동방식 사실 이번 미션은 새롭게 더 찾아볼 내용이 많이 없었는데, k-평균 알고리즘을 혼공머신보다 쉽게 설명한 책이 없었기 때문이다. 기본미션 주차 진도 기본 미션 5주차 Chapter 06 k-평균 알고리즘 작동방식 설명하기 먼저 이 알고리즘에 대해 설명하기 전에 k-평균 군집분석 개념부터 살펴보자. k-평균 군집(k-means clustering)이란? 데이터를 주어진 클러스터 k개로 각 개체를 가까운 초기값에 할당하여 클러스터를 형성한다. 그리고 각 클러스터의 평균을 계산하여 중심을 갱신하는 과정을 통해 전체 데이터셋을 상대적으로 유사한 k개의 최종 클러스터로 형성하는 분석 방법이다. k-평균 알고리즘 작동 방식 작동방식은 다음과 같다. ① 데이터 개체 내 임의로 k개의 클러스터의 중심을 정한다. ② 모든.. 2023. 8. 12.
[혼공학습단 ] HashMap으로 Map컬렉션을 이해하기 파이썬을 공부할 때 자료구조는 비교적 앞에 나왔는데, 자바에서는 (물론 배열 개념은 나왔지만) 이제 등장했다. 아마도 자료구조보다는 객체프로그래밍이 더 중요한 개념이라 그런가보다. 간단한 용어/개념 정리는 아래 포스팅을 참고 바란다. 2023.08.06 - [스터디/혼공학습단 - 자바] - [혼공학습단] 자바의 컬렉션 프레임워크 들어가기 앞서... [혼공학습단] 자바의 컬렉션 프레임워크 들어가기 앞서... 기본미션 주차 진도 기본 미션 5주차 Chapter 13 직접 정리한 키워드 공유하기 13장 컬렉션 프레임워크에 나오는 키워드를 정리해보려고 한다. 굳이 책에 있는 내용을 정리하는 것보다는 좀 더 개념 jinooh.tistory.com 2023.08.07 - [스터디/혼공학습단 - 자바] - [혼공학습.. 2023. 8. 12.
[DBeeaver] 편집기(editor) 확대/축소하기 편집기 폰트를 수정하는 방법도 있지만, 가끔 눈이 침침할때는 편집기를 확대해서 쓰는 방법도 있다. Ctrl + = : 확대하기 Ctrl + - : 축소하기 2023. 8. 9.
[혼공학습단] 파이썬과 비교해보는 자바의 컬렉션 프레임워크 배경 새로운 언어를 공부하면서 느끼고 있는 점인데, 프로그래밍 언어는 하나만 잘 파놓으면 다른 언어를 배우는 진입장벽이 확 낮아진다는 사실이다. 그러나, 하나를 잘 파놓기가 쉽지 않은 것도 사실이다. 어쨌든 컬렉션 프레임워크는 전혀 모르는 개념을 공부하는 건 아니지만, 그나마 알고 있는 파이썬과 비교해서 정리해보기로 했다. 컬렉션 프레임워크(collection framework) 자바의 컬렉션 프레임워크란 데이터를 저장, 관리 및 처리 하기 위한 고수준의 자료구조와 알고리즘을 제공하는 라이브러리다. java.util 패키지에 포함되어 있으며, 다음과 같은 인터페이스와 클래스가 있다. 1. List 컬렉션 - ArrayList, Vector, LinkedList 데이터를 순서대로 저장, 중복 허용 가능 2.. 2023. 8. 7.
[혼공학습단] 자바의 컬렉션 프레임워크 들어가기 앞서... 기본미션 주차 진도 기본 미션 5주차 Chapter 13 직접 정리한 키워드 공유하기 13장 컬렉션 프레임워크에 나오는 키워드를 정리해보려고 한다. 굳이 책에 있는 내용을 정리하는 것보다는 좀 더 개념적이고 기초적인 부분위주로 정리해보려고 한다. 하지만 파이썬과 자바의 컬렉션 프레임워크를 나름대로 비교한 자료(List, Set, Map 컬렉션)는 아래 포스팅을 참고하면 좋을 것 같다. 2023.08.07 - [스터디/혼공학습단 - 자바] - [혼공학습단] 파이썬과 비교해보는 자바의 컬렉션 프레임워크 [혼공학습단] 파이썬과 비교해보는 자바의 컬렉션 프레임워크 배경 새로운 언어를 공부하면서 느끼고 있는 점인데, 프로그래밍 언어는 하나만 잘 파놓으면 다른 언어를 배우는 진입장벽이 확 낮아진다는 사실이다. 그러.. 2023. 8. 6.
[혼공학습단] Java - 작업 스레드(Thread) 생성의 2가지 방법 자바의 멀티스레드 > 스레드를 생성하는 방법 Thread 하위 클래스로 부터 생성 Thread 클래스를 상속받아 스레드를 생성하는 방식 Thread 클래스의 서브 클래스를 정의하고 run() 메서드를 오버라이딩하여 실행할 작업을 구현한다. start() 메서드를 호출하여 스레드를 실행시키고 start() 메서드 내부에서 run() 메서드가 호출되면서 스레드가 동작한다. 장점 구현이 간단하고 직관적이다. 일반적인 클래스의 상속과 동일한 특징을 가진다. Thread 클래스를 상속받아서 사용하기 때문에, 스레드 내부에서 this를 사용하여 스레드 자신을 참조할 수 있다. 단점 자바는 단일 상속만을 지원한다. 이미 다른 클래스를 상속한 경우에는 Thread 하위 클래스로부터 생성하는 방식으로 스레드를 구현할 수.. 2023. 7. 30.
[혼공학습단] 혼공자바 4주차 - 자바의 스레드(Thread) 맛보기 선택미션 주차 진도 선택 미션 4주차 Chatper 12 p.539 문제 2번 풀고, 풀이 과정 설명하기 스레드(Thread) 스레드(Thread)란? 스레드는 프로세스 내에서 실행되는 작은 작업 단위를 말한다. 각 프로세스는 최소한 하나의 스레드를 가지고 있으며, 이 스레드를 메인 스레드라고 한다. 메인 스레드는 프로그램의 진입점(main 메서드)에서 시작되며, 다른 스레드(작업스레드)들을 생성하고 관리할 수 있다. 작업 스레드를 만드는 방법은 크게 2가지가 있다. 2023.07.30 - [스터디/혼공학습단 - 자바] - [혼공학습단] Java - 작업 스레드(Thread) 생성의 2가지 방법 [혼공학습단] Java - 작업 스레드(Thread) 생성의 2가지 방법 자바의 멀티스레드 스레드를 생성하는 .. 2023. 7. 30.
[혼공학습단] 혼공머신 4주차 - 앙상블 모델 4가지 맛보기 선택미션 주차 진도 선택 미션 4주차 Chatper 05 ch.05(05-3) 앙상블 모델 손코딩 코랩화면 인증하기 앙상블 모델 앙상블(Ensemble)은 통일, 어울림를 뜻하는 프랑스어이다. 주로 음악에서 2인 이상이 하는 합주를 뜻한다. 그래서 앙상블 모델은 여러 모델을 결합해 보다 정확한 모델을 만드는 방법이라 정의할 수 있다. 보통 경험상 앙상블은 별도의 하이퍼파라미터를 주지 않아도 비교적 성능이 좋았는데, 여러 모델들이 결합되면서 기본적으로 오차가 줄어드는 원리를 가지고 있기 때문이라 생각했다. 책에서는 네 가지 앙상블 모델 방법을 소개하고 있다. 각각의 방법들을 직접 손코딩해보면서 실습해보자. 랜덤포레스트(Random Forest) 엑스트라 트리(Extra Trees) 그레이디언트 부스팅(Gr.. 2023. 7. 29.