민공지능(51)
-
Scikit-Learn의 Scaler
https://scikit-learn.org/stable/search.html?q=scaler StandardScaler 평균을 제거하고 단위 분산으로 스케일링하여 기능 표준화 MinMaxScaler 지정된 범위로 확장하여 기능을 변환(기본값 0~1 사이) 단, 이상치가 있으면 변환된 값이 매우 좁은 범위로 압축될 수 있다. MaxAbsScaler 최대 절댓값이 1~0 사이 RobustScaler 평균과 분산 대신 중앙값(median)과 IQR(interquartile range) 사용. 이상치(outlier) 영향을 최소화 한다.
2021.05.22 -
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 9강(소수의 판별, 에라토스테네스의 체, 투 포인터, 구간 합)
import math # 소수 판별 함수(2이상의 자연수에 대하여) def is_prime_number(x): # 2부터 (x-1)의 모든 수를 확인하며 for i in range(2, x): # x가 해당 수로 나누어떨어진다면 if x % i == 0: return False # 소수가 아님 return True # 소수임 print(is_prime_number(4)) # 4는 소수가 아님 print(is_prime_number(7)) # 7은 소수임 2부터 X-1까지의 모든 자연수에 대하여 연산을 수행해야 한다. 모든 수를 하나씩 확인한다는 점에서 시간 복잡도는 O(X)이다. 파이썬에서는 기본 연산을 제공하기 때문에 별도의 라이브러리를 사용하지 않아도 된다. # 개선된 알고리즘 # 소수 판별 함수(2..
2021.05.07 -
Autokeras
autokeras 설치 : pip install autokeras import numpy as np import tensorflow as tf from tensorflow.keras.datasets import mnist import autokeras as ak (x_train, y_train), (x_test, y_test) = mnist.load_data() print(x_train.shape) # (60000, 28, 28) print(y_train.shape) # (60000,) # Initialize the image classifier. clf = ak.ImageClassifier(overwrite=True, max_trials=1) # max_trials = 최대 시도 설정 # Feed th..
2021.05.06 -
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 8-2강(기타 그래프 이론 - 크루스칼 알고리즘, 위상 정렬 알고리즘)
# 특정 원소가 속한 집합을 찾기 def find_parent(parent, x): # 루트 노드가 아니라면, 루트 노드를 찾을 때까지 재귀적으로 호출 if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] # 두 원소가 속한 집합을 합치기 def union_parent(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: parent[b] = a else: parent[a] = b # 노드의 개수와 간선(Union 연산)의 개수 입력 받기 v, e = map(int, input().split()) parent = [0] * (v +..
2021.05.06 -
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 8-1강(기타 그래프 이론 - 서로소 집합 자료구조)
서로소 집합 # find 함수 : 특정 원소가 속한 집합을 찾기 def find_parent(parent, x): # 관행적 함수 이름 # 루트 노드가 아니라면, 루트 노드를 찾을 때까지 재귀적으로 호출 if parent[x] != x: # 자기 자신이 아니라면 return find_parent(parent, parent[x]) return x # 두 원소가 속한 집합을 합치기(합집합) def union_parent(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: # 숫자가 더 큰 쪽이 작은 쪽을 부모 함수로 삼는다 parent[b] = a else: parent[a] = b # 노드의 개수와 간선(Union 연..
2021.05.06 -
[이것이 취업을 위한 코딩 테스트다 with 파이썬] 7-2강(플로이드 워셜 알고리즘, 전보, 미래도시)
자기 자신에서 자기 자신으로 가는 경우는 갱신되지 않는다. INF = int(1e9) # 무한을 의미하는 값으로 10억을 설정 # 노드의 개수 및 간선의 개수를 입력받기 n = int(input()) m = int(input()) # 2차원 리스트(그래프 표현)를 만들고, 모든 값을 무한으로 초기화 graph = [[INF] * (n + 1) for _ in range(n + 1)] # 자기 자신에서 자기 자신으로 가는 비용은 0으로 초기화 for a in range(1, n + 1): for b in range(1, n + 1): if a == b: graph[a][b] = 0 # 각 간선에 대한 정보를 입력 받아, 그 값으로 초기화 for _ in range(m): # A에서 B로 가는 비용은 C라고..
2021.05.06