일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 머신러닝
- r
- 딥러닝
- Python
- pandas
- 데이터 분석
- 시각화
- scikit learn
- ADsP
- matplotlib
- 데이터분석
- 통계
- 태블로
- ML
- 이코테
- 파이썬
- Deep Learning Specialization
- 이것이 코딩테스트다
- SQLD
- IRIS
- 데이터 전처리
- 코딩테스트
- 자격증
- 회귀분석
- 데이터분석준전문가
- pytorch
- Google ML Bootcamp
- tableau
- SQL
- sklearn
- Today
- Total
목록Python (38)
함께하는 데이터 분석
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bKcqyV/btsp8XE3ErE/mSbBHlMuEjDjk90LXXc0Qk/img.png)
음료수 얼려 먹기 n, m = map(int, input().split()) graph = [] for i in range(n) : graph.append(list(map(int, input()))) def dfs(x, y) : if x = n or y = m : return False if graph[x][y] == 0 : graph[x][y] = 1 dfs(x - 1, y) dfs(x + 1, y) dfs(x, y - 1) dfs(x, y + 1) return True return False result = 0 for i in range(n) : for j in range(m) : if dfs(i, j) == True : result += 1 print(result..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/boD6Nt/btsnZhduqoV/ucr5F6hKa8EQdoB461N0Y0/img.png)
부품 찾기 # 부품 찾기 (시간 초과할 수도) N = int(input()) arr = list(map(int, input().split())) M = int(input()) data = list(map(int, input().split())) for i in range(len(data)) : if data[i] in arr : print('yes', end = ' ') else : print('no', end = ' ') # 부품 찾기(이진 탐색) def binary_search(array, target, start, end) : while start target : # 중간점보다 target이 작으므로 왼쪽 end = mid - 1 else : # 중간점보다 target이 크므로 오른쪽 start =..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dYFIvA/btsnGkIuoHO/OWVHTWbIu9kuIqW2gJf50k/img.png)
위에서 아래로 N = int(input()) arr = [] for i in range(N) : arr.append(int(input())) arr = sorted(arr, reverse = True) for j in arr : print(j, end = ' ') 성적이 낮은 순서로 학생 출력하기 N = int(input()) arr = [] for _ in range(N) : data = input().split() arr.append((data[0], int(data[1]))) arr = sorted(arr, key = lambda x : x[1]) for student in arr : print(student[0], end = ' ') 두 배열의 원소 교체 N, K = map(int, input()..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/MtS1T/btsnDCjkcFz/hKsH7kSDWkZEoq6rdbzK00/img.png)
상하좌우 N = int(input()) x, y = 1, 1 data = list(map(str, input().split())) dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] move = ['L', 'R', 'U', 'D'] for i in data : for j in range(len(move)) : if i == move[j] : nx = x + dx[j] ny = y + dy[j] if nx N or ny > N : continue x, y = nx, ny print(x, y) 시각 N = int(input()) count = 0 for i in range(N + 1) : for j in range(60) : for k in range(..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/diaZhQ/btsnvIwyBcy/P6Pu5MHK8mtq83E44x1FW1/img.png)
거스름돈 n = int(input()) arr = [500, 100, 50, 10] count = 0 for i in arr : count += n // i n %= i print(count) 큰 수의 법칙 N, M, K = map(int, input().split()) data = list(map(int, input().split())) data.sort() summ = 0 i = 1 while i
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cUlIrf/btsmQDim7op/9hklA7ElLFMSmHRKSqNYP1/img.png)
6052 print('True' if int(input()) else 'False') 6053 print('True' if not int(input()) else 'False') 6054 a, b = map(int, input().split()) print('True' if a and b else 'False') 6055 a, b = map(int, input().split()) print('True' if a or b else 'False') 6056 a, b = map(int, input().split()) print('True' if (a and not b) or (not a and b) else 'False') 6057 a, b = map(int, input().split()) print('Tru..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bHArWz/btslvJRRMZS/beiIv3tE4kEbEIiTyc2Yl0/img.png)
6001 print("Hello") 6002 print("Hello World") 6003 print("Hello\nWorld") 6004 print("'Hello'") 6005 print('"Hello World"') 6006 print("\"!@#$%^&*()'") 6007 print("\"C:\\Download\\'hello'.py\"") 6008 print('print("Hello\\nWorld")') 6009 print(input()) 6010 print(int(input())) 6011 print(float(input())) 6012 print(input() + "\n" + input()) 6013 a = input() b = input() print(b + "\n" + a) 6014 prin..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/djWGKh/btrOrgOijkF/cujPk9khszN98pkQ1F8vy0/img.png)
라이브러리 불러오기 import pandas as pd import seaborn as sns Seaborn을 활용하여 데이터 불러오기 mpg = sns.load_dataset('mpg') mpg.head() mpg=mpg.drop(columns='name') mpg.head() mpg['origin'].value_counts() >>> usa 249 japan 79 europe 70 Name: origin, dtype: int64 usa, japan, europe 3개의 값으로 origin 칼럼이 구성되어있음 get_dummies() pd.get_dummies(mpg) get_dummies()를 사용하여 간단하게 One-Hot Encoding을 한 것을 확인할 수 있음 결측 값이 존재한다면 dummy_..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/NJez2/btrM2rh0i6c/NoicJBxuFtHOcn9DzNCFPk/img.png)
정규화 학습 데이터에서는 잘 동작하는데 테스트 데이터에서는 학습이 제대로 안 된다면 단순히 오버피팅 문제가 아니라 두 데이터의 분포가 달라서인 경우도 존재 왼쪽이 학습 데이터 오른쪽이 테스트 데이터라 하면 학습 시 결과가 잘 나오던 모델도 테스트 시에는 결과가 좋지 않게 나올 수밖에 없을 것임 또한 학습 시에도 데이터 간의 분포가 다르다면 각 분포에 맞춰 변수가 업데이트될 테니 그 데이터를 그대로 쓰면 학습조차 제대로 안될 것임 이럴 때 필요한 것이 정규화(normalization) 데이터를 정규화 하는 방법은 여러가지가 있는데 대표적인 방법으로 표준화(standardization)가 있음 표준화는 데이터에서 평균을 빼고 표준편차로 나눠주는 과정을 거치는데 이렇게 되면 평균은 0, 분산은 1이 되어 데이..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/vCJUk/btrM2qi5R3u/f7kK9y8bp54uWUfPz9yk31/img.png)
학습률 적절한 모델, 적절한 초깃값을 설정했음에도 학습률에 따라 모델의 학습이 달라짐 학습률은 손실에 대한 가중치를 구하고 그 값과 학습률을 곱해서 변수들을 업데이터 하는데에 사용됨 학습률이 너무 높다면 업데이트 방향이 맞아도 너무 크게 업데이트 되고, 너무 낮다면 지엽적인 공간에서의 극솟값에만 도달하므로 전체 손실 공간에서의 극솟값에 도달할 수 없게 됨 따라서 적절한 학습률을 찾아야 모델이 학습을 잘하고 전체 손실 공간에서 극솟값을 찾을 수 있음 보통 실무에서는 초기에 비교적 높은 학습률로 시작하여 점차 학습률을 낮추는 전략을 취함 하지만 이 방법이 정석은 아니고 오히려 배치 사이즈를 늘리는 게 더 좋다는 연구도 있음 학습률을 점차 떨어뜨리는 방법을 학습률 부식이라고 하는데 이와 관련된 파이토치 함수들..