[자료구조] 우선순위 큐(Priority Queue)와 힙(Heap) / Python 파이썬
·
python/자료구조 & 알고리즘
자료구조는 우선순위(priority_queue)를 구현하기 위해 사용하는 자료구조 중 하나다. 우선순위 큐는 우선순위가 가장 높은 데이터를 가장 먼저 삭제한다는 점이 특징인데, 표로 나타내면 다음과 같다. 자료구조추출되는 데이터 스택(stack) 가장 나중에 삽입된 데이터 큐(queue) 가장 먼저 삽입된 데이터 우선순위 큐(priority_queue) 가장 우선순위가 높은 데이터 우선순위 큐를 구현할 때는 내부적으로 최소 힙(min_heap) 혹은 최대 힙(max_heap)을 이용한다. 최소 힙을 이용할때는 값이 가장 낮은 데이터가 먼저 삭제되며, 최대 힙은 값이 큰 데이터가 가장 먼저 삭제됨을 알아두자. 파이썬에서 우선순위 큐 라이브러리를 사용할때는 default값이 최소 최소 힙(min_heap)으..
[Data Science from Scratch] chapter 12. KNN
·
공부정리/Data Science
참고 서적 도서명: Data Science from Scratch (밑바닥부터 시작하는 데이터 과학) 저자 : Joel Grus 출판 : 프로그래밍 인사이트 Ch 12. K- Nearest Neighbor (KNN) KNN은 모델을 만드는 것이 아님. 모델의 형태는 정해져있지 않고, 방법론 및 알고리즘이라고 일컫는다. -김성범 교수님(고려대학교) 모델은 특정 유형의 패턴을 인식하도록 학습된 파일임!!! KNN 분류 "내 이웃의 다수의 패턴으로 따라간다." 관측치를 정하고, 그 관측치에서 가까운 거리에 있는 이웃데이터를 탐색한다. 가까운 순서대로 "거리"를 구하고, 새로운 예측 데이터에대해 수행한다. KNN 알고리즘의 구분 및 특징 Instance-based Learning 각각의 관측치만을 이용하여 새로..
Programmers / 피로도 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 피로도 (2단계) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가..
Programmers / 괄호 회전하기 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 괄호 회전하기 (2단계) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니..
[핵심 머신러닝] K-nearest neighbors & Distance Measures - 강의 정리
·
공부정리/Deep learnig & Machine learning
이 게시글은 김성범 교수님의 유튜브 강의를 정리한 내용입니다. 내용과 사진의 각 출처는 김성범 교수님께 있음을 미리 알립니다. 해당 게시글 강의 영상 : https://www.youtube.com/watch?v=W-DNu8nardo KNN은 모델이 없는 것 데이터가 어떤 것에 가까운지 분류하고 예측하는 것 1-nearest neighbor: 가장 가까운 데이터 1개의 이웃을 정의 3-nearest neighbor: 가장 가까운 데이터 3개의 이웃을 정의 새로운 데이터의 Y값을 알아내는 것이 문제임 가까운 순서대로 거리를 구하고, 새로운 예측 데이터에대해 수행한다. KNN 알고리즘의 구분 및 특징 Instance-based Learning 각각의 관측치만을 이용하여 새로운 데이터에 대한 예측 진행 Memo..
[Python] tqdm 라이브러리 - 작업 진행률 표시
·
python/라이브러리
tqdm 라이브러리 - 작업 진행률 표시 tqdm이터러블을 둘러싸서 스마트 진행률 표시줄을 출력할 수 있는 Python 라이브러리입니다. NS tqdm 진행률 표시줄은 경과된 시간을 표시할 뿐만 아니라 iterable에 대해 남은 예상 시간도 표시합니다. 1. tqdm 모듈 설치하기 (Pycharm) pip install tqdm 2. 라이브러리 임포트하기 # Library import from tqdm import tqdm 3. 구현하기 이터러블 객체(반복가능한 객체)를 tqdm으로 감싸면 된다. from tqdm import tqdm range = range(0,10) for num in tqdm(range): print(num)
문제 / 랜선 자르기 / Python 파이썬
·
coding test - python/기본기 문제
문제 제목: 랜선 자르기 (이분 탐색) 랜선자르기(결정알고리즘) 엘리트 학원은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이 다. 선생님은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm 은 버려야 한다. (이미 자른 랜선은 붙일 수 없다.) 편의를 위해 랜선을 자를때 손실되는 길이는 없다고 가정하며, 기존의 K개의 랜선으로 N개의 랜선을 만들 수 없는 경우는 없다고 가정하자. 그리고 자를 때는 항상 센티미터 단위로 정수 길이만큼 자른다고 가정하자. N개보다 많이 만드는 것도 N개를 만드는 것에 포함된다. 이때 만들 수 있는 최대 랜선의 길..
Programmers / 가장 큰 정사각형 찾기 / Python 파이썬
·
카테고리 없음
보호되어 있는 글입니다.
Programmers / 크레인 인형 뽑기 게임 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 크레인 인형 뽑기 게임 (STACK 문제) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 예전에 문제를 제대로 못풀고 넘겼던 거라서 다시 풀어보았다. STACK을 이용하는 기본적인 문제. 나는 보드를 새로 만들어서 각 열에 있는 원소들을 모아 따로 새로운 보드를 만들었다. 즉 1열,2열,3열...N열에 있는 원소들을 제일 위에있는 순서대로 스택에 추가한 것 N = l..
[Data Science from Scratch] ch.11 additional note
·
공부정리/Data Science
참고 서적 도서명: Data Science from Scratch (밑바닥부터 시작하는 데이터 과학) 저자 : Joel Grus 출판 : 프로그래밍 인사이트 Ch 11. machine learning Ch 11.1.1 회귀의 성능 평가 지표 실제값과 예측 값의 오차 1. MAE (Mean Absolute Error) 실제 값과 예측 값의 차이를 절댓값으로 변환해 평균한 것 2. MSE (Mean Squared Error) 실제 값과 예측 값의 차이를 제곱해 평균한 것 3. RMSE (Root Mean Squared Error) MSE 값은 오류의 제곱을 구하므로 실제 오류 평균보다 더 커지는 특성이 있어 MSE에 루트를 씌운 RMSE 값을 쓰는 것입니다. 4. R² (R Square) R² 는 분산 기반..
[핵심 머신러닝] 선형회귀모델 4 (R2, ANOVA) - 강의 정리
·
공부정리/Deep learnig & Machine learning
이 게시글은 김성범 교수님의 유튜브 강의를 정리한 내용입니다. 내용과 사진의 각 출처는 김성범 교수님께 있음을 미리 알립니다. 해당 게시글 강의 영상 : https://www.youtube.com/watch?v=ClKeKeNz7RM&list=PLpIPLT0Pf7IoTxTCi2MEQ94MZnHaxrP0j&index=31 결정계수 (Coefficient of Determination : R^2) 위에서부터 첫번째 점은 실제 Y값 두번째 점은 우리가 구한 회귀 직선 위에 있는 Y값 세번째 점은 Y의 평균값 첫번째 점은 100% Y값을 설명 (자신) 두번째 점은 X로 Y를 어느 정도까지 설명할 수 있는지를 보여주는 값 세번째 점은 X에 관계없이 Y의 평균만으로 어느 정도까지 설명할 수 있는지를 보여주는 것 실제..
[핵심 머신러닝] 선형회귀모델 3 (파라미터 구간추정, 가설검정) - 강의 정리
·
공부정리/Deep learnig & Machine learning
이 게시글은 김성범 교수님의 유튜브 강의를 정리한 내용입니다. 내용과 사진의 각 출처는 김성범 교수님께 있음을 미리 알립니다. 해당 게시글 강의 영상 : https://www.youtube.com/watch?v=uqfWFIcIF6s&list=PLpIPLT0Pf7IoTxTCi2MEQ94MZnHaxrP0j&index=32 파라미터 추정 알고리즘 Least square estimator Estimator(추정량) : 샘플의 함수 추정량의 용도 : 알려지지 않은 파라미터(B0,B1)를 추정 추정량의 종류 (1) 점추정 (point estimator) , (2) 구간추정 (interval estimator) 파라미터에 대한 점추정 최소제곱법 추정량 성질 Gauss-Markov 이론에 의하면 최소제곱법에서 추정되는..