파이썬 16

[파이썬] 배열 인덱싱

파이썬 배열 인덱싱 7. Numpy array 인덱싱( 기본인덱싱, boolean인덱싱(마스크)) array indexing 넘파이의 꽃이라고 하는 인덱싱은, 성분을 추출할 때 필요한 것이다. 먼저 넘파이를 import하고, array를 하나 만들어진다. index는 0부터 시작하기 때문에, [5]는해서 6행or 6열으로 해석한 nittaku.tistory.com 인덱스에 음수? Python 리스트 인덱싱 & 슬라이싱에 음의 값(마이너스) 사용해 보기 Python, Pandas를 Excel보다 사랑하는 직장인을 위한 블로그 emilkwak.github.io

[파이썬] 엑셀 파일 연동(openpyxl)

0. 생성 및 기록 import openpyxl openpyxl 라이브러리를 불러온다. wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = "Type" sheet['B1'] = "Name" sheet['C1'] = "Age" sheet['D1'] = "Fruit" 표를 하나 만들고, A1, B1, C1, D1에 속성값들을 기록해준다. TYPE = ['래퍼', '중고차판매원', '카페사장', ...] NAME = ['implanted_kid', '차진석', '최준', ...] AGE = [26, 34, 32, ...] for i in range(2, 2002) sheet.cell(row=i, column=1).value = TYPE[i] sheet.cell..

[파이썬] 여러 카테고리를 일정 확률로 생성

0부터 1 사이의 난수를 발생시키고, 누적확률을 통해 구성한 테이블에 어느 곳에 들어가는가로 확률적 발생 가능 예시 # 사과, 포도, 복숭아, 귤을 아래와 같은 확률로 100개를 생성 # 사과 20%, 포도 15%, 복숭아 40%, 귤 25% import random FRUIT_NUM = 100 # 누적 확률을 과일 순서대로 기록 FRUIT_PROB = [0.20, 0.35, 0.75, 1.00] FRUIT_DICT = {0: '사과', 1: '포도', 2: '복숭아', 3: '귤'} fruit_table = [0, 0, 0, 0] n = random.random() for i in range(FRUIT_NUM): for j in range(4): if n < fruit_prob[j]: fruit_tab..

[파이썬] 이미지 → 그리드(배열)

코드토막 import numpy as np import cv2 # 이미지를 불러온다. map_img = cv2.imread('map.png', 0) # 이미지를 원하는 그리드 사이즈로 줄인다(40 × 40) map_img = cv2.resize(map_img, dsize=(40, 40)) # numpy 배열을 만들고, width, height = map_img.shape map = np.zeros((width, height), np.uint8) # 검정색 픽셀은 0, 나머지 픽셀은 1로 채웠다. for x in range(height): for y in range(width): if map_img[x][y] > 0: map[x][y] = 1 else: map[x][y] = 0 # hhlab.tistory..

[파이썬] f-string, 문자열 길이 고정

참고 python 3에서는 f-string이 갑이다. f-string 사용 방법과 사용해야 하는 이유 Python 에서 문자열을 다룰 때는 여러가지 방식으로 사용할 수 있다. 대부분은 아마도 기존 python 2에서 지원하던 %-formatting 방식과 Format string syntax 인 str.fo.. bluese05.tistory.com 가독성이 좋다 변수의 type에 대한 자유도가 더 높다. 궁금했던 코드 username_header = f"{len(username):

[네트워크] 파이썬 채팅 프로그램

IP 주소 https://terms.naver.com/entry.nhn?docId=3571314&cid=59088&categoryId=59096 IP 주소 [ IP 주소란 무엇인가 ] 현재(2015년 기준) 인터넷에 연결된 컴퓨터(혹은 모바일 기기 등)에 할당된 IP 주소는 거의 대부분 IPv4(IPversion4) 형태다. 이 IPv4의 주소 체계는 3자리 숫자가 4마디로 표기된다 terms.naver.com IP주소는 각 기기의 고유한 전화번호 같은 것이다. 따라서 인터넷을 사용하는 전 세계 모든 기기는 각각의 IP주소를 갖는다. 예전에는 대부분 4개의 수로 IP주소를 표현하는 IPv4를 사용했다. 1개의 수는 각각 0~255의 수를 표현하게 되고, 따라서 IPv4는 2564 = 4,294,967,2..

💻/CS 2020.09.18

[모두를 위한 딥러닝] 합성곱 신경망(CNN)

고양이의 인식 반응 인간은 인공신경망을 만들 때, 뇌를 구성하는 뉴런과 그것이 연결된 구조를 참고했다. CNN 역시, 뇌의 실제 작동방식에 대해 영감을 받아 만들어진 신경망이다. 신경과학자 Hubel과 Wiesel은 한 실험에서 고양이가 화면을 바라볼 때의 뉴런의 반응을 관찰했다. 그 결과, 화면의 어느 곳이 바뀌느냐에 따라 활성화되는 뉴런이 다른 것을 알 수 있었다. 여기서 영감을 얻어 화면에 구역별로 뉴런이 대응되는 형태의 신경망을 생각해냈고, 이것이 CNN이다. 컨벌루션 레이어 5×5 이미지가 주어졌다. 우리는 이것을 '필터'를 낀채, 3×3씩 볼 것이다. 이미지에서 가장 첫 위치에 필터를 놓았다. 필터에는 이미지를 어떻게 볼 것인지 어떤 '가중치'가 적용되어 있고 이것을 토대로 이미지에서 하나의 ..

💻/ML 2020.08.23

[모두를 위한 딥러닝] 활성함수, 초기화, 정규화

활성함수 우리는 SIGMOID 함수를 로지스틱 회귀에서 처음 배웠고, 0에서 1사이의 값으로 데이터를 필터링 해준다는 정도로 알고 있다. 그리고 이 함수는 인간으로 따지면, 뉴런에서 자극을 해석하여 다른 뉴런으로 신호를 만들어 보내는 역치와 비슷한 역할을 한다. 이것을 인공신경망에서는 뉴런을 활성화시켜준다는 뜻으로 '활성함수'라고 부르게 된다. 활성함수에는 SIGMOID만 있는 것이 아니다. 사실 SIGMOID는 치명적인 약점을 가지고 있기 때문에 잘 사용하지 않는다. SIGMOID함수의 출력은 항상 1보다 작기 때문에, SIGMOID함수를 통과한 값들은 서로 곱할수록 점점 줄어들 수 밖에 없다. 비슷한 이유로 우리가 신경망을 학습시키는 방법 '오차역전파'는 뒤로 갈 수록 점점 그 값이 희미해진다. 처음..

💻/ML 2020.08.17