목록분류 전체보기 (125)
Hippo's data

프로그래머스(Programmers) 체육복 문제 난이도 : Level 1 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -> greedy 탐욕법 알고리즘 이용 def solution(n, lost, reserve): # 인덱싱 쉽게 하기 위해 전체 학생수 +2 만큼 1이 들어있는 리스트 생성 num = [1] * (n+2) # 체육복 없는 학생 -1 for i in lost: num[i] -= 1 # 여분 체육복 있는 학생 +1 for i i..

오늘은 지난번 PCA(Principal Component Analysis) 주성분 분석에 이어 또 다른 차원축소 방법인 t-SNE(t- distributed Stochastic Neighbor Embedding) t-분포 확률적 이웃 임베딩에 대해 알아보겠습니다!! 차원축소 방법에는 여러가지가 존재하는데요 지난번 알아본 PCA는 선형 변환을 통해 차원을 축소하는 방법이고 t-SNE은 비선형적인 방법을 이용한 차원축소 입니다!!! 특히 고차원의 데이터를 낮은 차원(주로 2차원이나 3차원)으로 시각화하기 위해 사용되는 기법인데요 데이터 시각화나 데이터 구조 이해에 사용됩니다!! 원리는 쉽게 설명하면 고차원에서도 먼 데이터를 저차원에서도 멀게 유지하면서 차원의 크기를 줄이는 것인데요 특히 이름에서도 알 수 있..

프로그래머스(Programmers) 피보나치 수 문제 난이도 : Level 2 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def fibo(n): if n 같은 계산을 여러 번 반복 -> 시간 복잡도가 지수적(O(2^n))으로 증가 시간복잡도를 줄여서 더 효율적인 for문을 사용해서 구현해 보았습니다! def fibo(n): a, b = 0, 1 for i in range(n): a, b = b, a + b return a def solut..

오늘은 재귀 알고리즘(recursive algorithms)에 대해 알아보겠습니다 재귀 알고리즘에서 재귀적(recursive)이란 것은 무엇을 의미할까요? 하나의 함수에서 자기 자신을 다시 호출하여 작업을 수행하는 것을 의미하는데욥 왜 굳이 자기 자신을 호출하면서 문제를 해결하는가? -> 많은 종류의 문제들이 재귀적으로 (recursively) 풀리기 때문 -> 경우에 따라서 재귀 알고리즘 사용시 수월하게 해결 가능( 하노이탑 문제 ) 아래는 다양한 문제를 재귀적으로 구현한 것들입니다! 1부터 n까지의 자연수 합 def hap(n): if n 같은 함수를 여러번 호출하여 계산 -> 비효율적

프로그래머스(Programmers) 가장 큰 수 문제 난이도 : Level 2 https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(numbers): answer = '' numbers = list(map(str, numbers)) numbers.sort(key = lambda x: x[0],reverse=True) if numbers[0] == '0': answer = '0' else: answer = ''.join(numb..

Chapter 04 다양한 분류 알고리즘 04-1 로지스틱 회귀 04-2 확률적 경사 하강법 기본 미션 Ch.04(04-1) 2번 문제 풀고, 풀이 과정 설명하기 -> 로지스틱 회귀가 이진 분류에서 확률을 출력하기 위해 사용하는 함수는 무엇인가요? 1) 시그모이드 함수 -> 이지분류에서 사용 (0,1) 범위의 값으로 출력함 2) 소프트맥스 함수 -> 다중분류에서 사용 3) 로그 함수 4) 지수 함수 선택 미션 Ch.04(04-2) 과대적합/과소적합 손코딩 코랩 화면 캡처하기

오늘은 PCA(Principal Component Analysis) 주성분 분석에 대해 알아보겠습니다!! 주성분 분석은 데이터의 차원을 줄이는(차원축소) 방법인데요 데이터의 분산을 최대한으로 유지하는 것이 포인트입니다 # 왜 분산을 최대한으로 유지해야하는가? -> 우리의 목적은 정보의 손실을 최대한 줄이면서 차원을 축소하는 것 -> 데이터들이 많이 흩어져 있어야 차원을 줄일때(투영, projection) 겹치는 부분이 적어짐 -> 겹치는 부분인 적으면 그만큼 정보의 손실을 방지할 수 있음 # 사용목적? 1. 시각화 -> 데이터가 3차원 이상의 데이터는 한 눈에 시각화 하기 어려우므로 차원 축소를 통해 시각화에 활용하기 위함 2. 노이즈 줄이기 -> 쓸모없는 특성들을 없애서 노이즈를 줄이기 위함 3. 전처..

모델의 성능을 향상하는 방법은 여러가지가 있습니다 학습데이터를 깔끔하게 정제/전처리하거나 중요한 변수들을 선택(Feature selection)하는 등 다양한 방법이 있는데요 그중 오늘은 모델의 하이퍼파라미터를 조정하는 방법에 대해 알아보겠습니다!!! # 하이퍼파라미터(Hyperparameter)란? 사용자가 직접 모델 학습방식을 조절하는 것을 뜻하는데요 의사결정나무(Decision tree)의 최대 깊이(max depth)를 설정하거나 딥러닝 모델의 학습률(learning rate), epoch 에포크 수를 지정하는 것들이 이에 해당합니다 # 파라미터(parameter)란? 반면) 파라미터는 데이터로부터 자동적으로 결정되는 값을 의미하는데요 회귀 모델 계수(가중치) / 절편, 딥러닝 모델에서의 가중치가..