분류 전체보기 77

백준 4948, 베르트랑 공준, python

문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다. 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23) 자연수 n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 케이스는 n을 포함하는 한 줄로 이루어져 있다. 입력의 마지막에는 0이 주어진다. 출력 각 테스트 케이스에 대해서, n보다 크고..

n^2 배열 자르기, 프로그래머스, python

문제 설명 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다. 정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤..

주피터 노트북 단축기 정리

코랩을 사용하다가 주피터 노트북을 사용하려고 하다보니.. 코랩과 환경이 조금 달라서 주피트 노트북을 사용하면서 필요한 유용한 단축기를 정리해보았다! Commend Mode Cell의 주요 단축키 A insert cell above R change cell to raw B insert cell below Shift-Enter run cell, select below X cut selected cells Ctrl-Enter run selected cells C copy selected cells Alt-Enter run cell and insert below Y change cell to code Ctrl-S Save and Checkpoint M change cell to markdwon Z undo ce..

데이터분석 2022.11.18

머신러닝 교과서, 2.2, python

*본 포스팅은 머신러닝 교과서를 참고하여 작성되었습니다~! 2.2 파이썬으로 퍼셉트론 학습 알고리즘 구현 2.2.1 객체 지향 퍼셉트론 API import numpy as np class Perceptron(object): """퍼셉트론 분류기 매개변수 --------------- eta : float 학습률 (0.0과 1.0 사이) n_iter : int 훈련 데이터셋 반복 횟수 random_state : int 가중치 무작위 초기화를 위한 난수 생성기 시드 속성 --------------- w_ : 1d-array 학습된 가중치 errors_ : list 에포크마다 누적된 분류 오류 """ def __init__(self, eta=0.01, n_iter=50, random_state = 1): sel..

Chapter8. 딥러닝, DL from Scratch, python

* 본 포스팅의 내용은 모두 밑바닥부터 시작하는 딥러닝 을 참고하여 작성한 내용입니다. 8.1 더 깊게 8.1.1 더 깊은 신경망으로 여기에서 사용하는 합성곱 계층은 모두 3X3 크기의 작은 필터로, 층이 깊어지면서 채널 수가 더 늘어나는 것이 특징이다.(합성곱 계층의 채널 수는 앞 계층에서부터 순서대로 16, 16, 32 , 32, 64, 64 로 늘어간다) 또 그림과 같이 풀링 계층을 추가하여 중간 데이터의 공간 크기를 점차 줄여간다. 그리고 마지막 단의 완전연결 계층에서는 드롭아웃 계층을 사용한다. 가중치 초깃값 : He 초깃값 가중치 매개변수 갱신 : Adam 위의 신경망의 특징 - 3 x 3의 작은 필터를 사용한 합성곱 계층 - 활성화 함수는 ReLU - 완전연결 계층 뒤에 드롭아웃 계층 사용 ..

Chapter.7.1~7.2 합성곱 신경망(CNN), DL fram Scratch, python

* 본 포스팅의 내용은 모두 밑바닥부터 시작하는 딥러닝 을 참고하여 작성한 내용입니다. 이번 장의 주제는 합성곱 신경망(convolution neural network, CNN) 이다. CNN은 이미지 인식과 음성 인식 등 다양한 곳에서 샤용되는데, 특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의 다 CNN을 기초로 한다. 이번 장에서는 CNN의 메커니즘을 자세히 설명하고 이를 파이썬으로 구현해본다. 7.1 전체 구조 CNN도 지금까지 본 신경망과 같이 레고 블록처럼 계층을 조합하여 만들 수 있다. 다만, 합성곱 계층(convolutional Layer)과 풀링 계층(pooling Layer) 이 새롭게 등장한다. 지금까지 본 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있었다. 이를 완전연결(..

프로그래머스, level2, 위장, python

문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. cloth..

Chapter6.2 가중치의 초깃값, DL from Scratch, 파이썬

6.2 가중치의 초깃값 신경망 학습에서 특히 중요한 것은 가중치의 초깃값이다. 가중치의 초깃값을 무엇으로 설정하느냐가 신경망 학습의 성패가 가르는 일이 있다. 이번 절에서는 권장 초깃 값에 대해서 설명하고 실험을 통해 실제로 신경망 학습이 신속하게 이뤄지는 모습을 확인하겠다. 6.2.1 초깃값을 0으로 하면? 가중치 감소(weight decay) 기법 : 가중치 매개변수의 값이 작아지도록 학습하는 방법이다. 즉, 가중치 값을 작게 하여 오버피팅이 일어나지 않게 하는 것이다. 그렇다면 가중치의 초깃값을 모두 0으로 설정한다면 어떨까? 이는 나쁜 아이디어인데, 실제로 가중치 초깃값을 0으로 하면 학습이 올바로 이뤄지지 않는다. 그 이유는 오차역전파법에서 모든 가중치의 값이 똑같이 갱신되기 때문이다. 6.2...

DataFrame, Join Type의 종류, python

판다스의 DataFrame은 테이블 형식의 데이터 셋이다. 각 DataFrame이 공통 컬럼(필드)가 존제 한다면, DataFrame 끼리 Join을 할 수 있다. Join의 방식에는 4가지가 존재한다. 1. Outer Join 2. Inner Join 3. Left Join 4. Right Join 각각의 방식을 예시 코드를 통해 어떻게 Join이 되는지 알아보자! import pandas as pd df1 = pd.DataFrame({'a' : ['a', 'b', 'c'],'b':[1, 2, 3]}) df2 = pd.DataFrame({'a' : ['a', 'b', 'd'],'c':['가', '나', '다']}) >> df1 = a b 0 a 1 1 b 2 2 c 3 >> df2 = a c 0 a 가..

데이터분석 2022.11.11

스택(Stack)과 큐(Queue), python

이미지 출처 : https://medium.com/omarelgabrys-blog/stacks-and-queues-d96c6f35fae3 스택(Stack) - 먼저 들어 온 데이터가 나중에 나가는 형식(선입후출)의 자료구조이다. - 입구와 출구가 동일한 형태이다. 스택 구현 파이썬에서의 스택 구현은 리스트를 활용하여 구현할 수 있다. stack = [] # 삽입(5) > 삽입(2) > 삽입(3) > 삽입(7) > 삭제() > 삽입(1) > 삽입(4) > 삭제() stack.append(5) stack.append(2) stack.append(3) stack.append(7) stack.pop() stack.append(1) stack.append(4) stack.pop() print(stack[::-1]..