본문 바로가기

나 취준생/파이썬

(43)
탐욕 알고리즘 머신러닝에서 의사결정 트리를 구현할 때 사용하는 알고리즘 의사결정 트리는 설명하기 쉽기 때문에 분석가들이 선호하는 알고리즘 중 하나이다. 매 순간마다 최선의 선택을 하며,가장 좋다고 생각되는 것만 선택한 것들로 최종적인 해답을 구하는 알고리즘 주의할 점은 전체를 고려하는게 아니라문제를 부분적으로 나누어,나누어진 문제에 대한 최적의 해답을 구하게끔 해야한다는 것 예제 : 14원의 잔돈을 줘야하는데, 잔돈의 종류가 10원, 7원, 1원이 있으면잔돈을 가장 빨리 줄 수 있는 방법은? 1234567891011coin=[10,7,1]coin=sorted(coin,reverse=True) # 큰 값을 맨 앞으로 오게끔 정렬def greedy(): num=int(input('잔돈을 입력하세요~ ')) for i in..
버블 정렬 12345678910a=[5,4,3,2,1,8,7,10]def bubble_sort(a): for i in range (len(a)-1): for j in range (len(a)-i-1): # 이미 정렬이 완료된 오른쪽은 제외 if a[j]>a[j+1]: temp=a[j+1] a[j+1]=a[j] a[j]=temp return aprint(bubble_sort(a)) 정렬이 가장 오래걸리는 경우는 제일 작은 수가 오른쪽 끝에 있을 때니까 ( 매 반복때마다 한칸씩 앞으로 옴 )실험해보고 싶으신 분은 제일 작은 수 0을 끝자리에 추가해보면 된다. 123456789101112#a=[5,4,3,2,1,8,7,10]a=[5,4,3,2,1,8,7,10,0]def bubble_sort(a): for i in ran..
이진 탐색 코드 1 1234567891011121314151617181920212223242526272829a=[1,7,11,12,14,23,33,47,51,64,67,77,139,672,871]num=int(input('검색할 숫자를 입력하세요 : '))cnt=0 # 검색 횟수 변수 선언 while(True): cnt+=1 # 검색 횟수 1씩 증가 import numpy as np a_n=np.array(a) if len(a)%2==1: # 리스트의 요소의 개수가 홀수면 np.median(a_n)하면 바로 나오지만 a_m=int(np.median(a_n)) else: # 짝수면 가운데 값 두 개를 더해서 반으로 나눈 값을 반환해서 줘서 리스트의 없는 중위값이 나와버림 a_m=a[len(a)//2] # 그래서 중위..
합성곱 연산 알고리즘 # 합성곱 연산 알고리즘 딥러닝의 필수 알고리즘 ( 퍼셉트론, 합성곱 연산 알고리즘 ) 이미지의 형상을 무시하지 않고, 이미지를 그대로 인공 신경망이학습할 수 있게 해준 수학 행렬 연산 원본 이미지는 학습되어야 하는 데이터이며,필터는 원본 이미지의 특징을 잡아내는데 사용되는 행렬이다. 이렇게 특징을 잡아서 feature map을 생성해서,원본 이미지의 형태를 이해하는 것을 합성곱 연산이라고 한다. 일단 행렬의 연산을 하려면 numpy을 사용해야 한다. numpy는 파이썬에서 기본적으로 지원하지 않는 배열(array) 혹은 행렬(matrix)의 계산을쉽게 해주는 라이브러리다.머신러닝에서 많이 사용하는 선형대수학에 관련된 수식을파이썬에서도 쉽게 프로그래밍할 수 있게 해준다. 예제 : 두 행렬의 덧셈 연산하기..
폐 사진 이미지를 숫자로 변환 이미지를 숫자로 변환하는 법 ( 폐 사진 ) 딥러닝에서 이미지를 인공 신경망에 넣어서 학습을 시키는데,인공 신경망에 사진을 넣을 때 숫자로 변환해서 넣어야 한다. 사진 --------------> 인공 신경망 -------------------> 판정 폐 결절정상폐암등등 c 드라이브 밑 images 폴더 안에 폐 사진을 20장 두었다. 1. images 폴더에 있는 사진들을 불러오는 함수 생성 import ostest_image='c:\\images' def image_load(path): file_list=os.listdir(path) return file_list print(image_load(test_image)) 근데 보면 숫자가 뒤죽박죽으로 로드가 된다.이것을 순서에 맞게 정렬해주어야 한다. 2..
웹 스크롤링 연습 ( 유튜브 댓글 ) 내가 최근에 빠진 권진아 노래의 댓글을 크롤링해보자. # 코드 설계 일단 나는 댓글 수를 먼저 알아야겠다고 생각했다. 왜냐면 유튜브 댓글의 구조가 밑으로 스크롤을 내릴 수록 댓글이 계속 나오는데, 모든 댓글을 스크롤링하려면 스크롤을 계속 반복해야하는데, 언제까지 반복할지는 알 수 없기 때문이다. 그래서 유튜브 댓글 창 맨 위에는 댓글 수가 적혀있어서, 그 html 코드를 따와서 댓글 수만 변수에 저장하고, 스크롤링할 때마다 몇 개씩 댓글이 추가되는지를 구해서, 그 수가 변수보다 커지면 멈추게 해야겠다고 생각했다. 댓글 수를 구하려면 일단 유튜브 창을 띄우고, 창을 최대화시킨 뒤, 스크롤을 한 번 내려야했다. 스크롤을 하지 않고 바로 html 코드를 찾으면 아예 나타나질 않기 때문. 따라서 browser...
MYSQL, 파이썬 연동 # MYSQL 설치 후 기본 문법 1. mysql commend line client 실행 2. enter password: oracle ( 자기 비밀번호 ) 3. create database orcl ( DB 이름 ) 4. use orcl 5. 자기가 갖고 있는 테이블 쿼리문 입력 6. 테이블 확인 select * from emp; # 오라클과 MYSQL 함수 비교 오라클 --- MYSQL1. nvl ifnull2. sysdate sysdate()3. months_between group_concat4. decode if5. rollup with rollup6. listagg group_concat 예제 : 이름, 커미션을 출력하는데 커미션이 null인 사람은 0으로 출력하기 select ename, ..
오라클과 파이썬 연동하기 오라클과 파이썬 연동하기 연동오라클 database --------------- 파이썬 ( 통계구현, 시각화, 머신러닝, 업무자동화 ) 비즈니스 데이터(정형화된 데이터) 데이터의 구조에 따른 종류 3가지 1. 정형 데이터 : 관계형 데이터베이스(RDBMS)에 저장된 데이터2. 반정형 데이터 : html, 웹로그 데이터3. 비정형 데이터 : 텍스트(SNS), 동영상, 이미지 데이터 오라클을 파이썬과 연동하는 이유 1. 오라클 데이터베이스에서 실시간으로 변하는 데이터를CSV파일로 매번 내리려면 자주 내려야 하므로 그냥 연동시키는 게 편리하다 2. 파이썬의 통계 구현, 시각화, 머신러닝 구현, 업무 자동화를 사용 가능 3. 이미지를 숫자로 변환한 뒤 오라클 DB에 저장하여 관리하는 것이 가능하다.-> 백업 및..