분류 전체보기 (135) 썸네일형 리스트형 [ML] 트리의 앙상블 정형 데이터와 비정형 데이터 정형 데이터 : csv, 데이터베이스, 엑셀에 저장하기 쉬운 어떤 구조로 이루어진 데이터 비정형 데이터 : 이와 반대되는 데이터 정형 데이터를 다루는 데 가장 뛰어난 성과를 내는 알고리즘 : 앙상블 학습 1. 랜덤 포레스트 Random Forest 결정 트리를 랜덤하게 만들어 결정 트리의 숲을 만듦, 그리고 각 결정 트리의 예측을 사용해 최종 예측을 만든다 각 트리를 훈련하기 위해 우리가 입력한 훈련 데이터에서 랜덤하게 샘플을 추출하여 훈련 데이터를 만든다 이렇게 만들어진 샘플 : 부트스트랩 샘플 각 노드를 분할할 때 전체 특성 중에서 일부 특성을 무작위로 고른 다음 이 중에서 최선의 분할을 찾음 장점 랜덤하게 선택한 샘플과 특성을 사용하기 때문에 훈련 세트에 과대적합 되는 .. [이코테] Chap04 구현 상하좌우 내가 처음에 푼 풀이 n = input() n = int(n) move = list(input().split()) x = 1 y = 1 for m in move: if m == 'L': if y == 1: continue else: y -= 1 elif m == 'R': if y == n: continue else: y += 1 elif m == 'U': if x == 1: continue else: x -= 1 elif m == 'D': if x == n: continue else: x += 1 print(x,y) 해답 # 해설 n = int(input()) x,y = 1,1 plans = input().split() # 이동 방향 dx = [0,0,-1,1] dy = [-1,1,0,0] mo.. [ML] 확률적 경사 하강법 확률적 경사 하강법 전체 샘플을 사용하지 않고 딱 하나의 샘플을 훈련 세트에서 랜덤하게 골라 가장 가파른 길을 찾아 조금씩 내려오는 방법 에포크 epoch 그다음 훈련 세트에서 랜덤하게 또 다른 샘플을 하나 선택하여 경사를 조금 내려간다. 이런 식으로 전체 샘플을 모두 사용할 때까지 계속한다. 훈련 세트를 모두 사용했다면 훈련 세트에 모든 샘플을 다시 채워 넣는다. 이렇게 확률적 경사 하강법에서 훈련 세트를 한 번 모두 사용하는 과정 = 에포크 미니배치 경사 하강법 1개씩이 아닌 무작위로 여러개의 샘플을 선택해서 경사 하강법을 수행하는 방식 배치 경사 하강법 전체 샘플을 사용하는 방법 전체 데이터를 사용하기 때문에 가장 안정적인 방법이 될 수 있으나, 그만큼 컴퓨터 자원을 많이 사용하게 된다. 손실 함수.. [ML] 로지스틱 회귀 Logistic Regression 로지스틱 회귀는 이름은 회귀이지만 분류 모델이다. 이 알고리즘은 선형 회귀와 동일하게 선형 방정식을 학습한다. 선형 방정식의 결과가 0 ~ 1 사이의 확률이 되어야 하므로 시그모이드 함수를 사용한다. 시그모이드 함수 sigmoid function 선형 방정식의 출력 z의 음수를 사용해 자연 상수 e를 거듭제곱하고 1을 더한 값의 역수를 취한다. z가 무한하게 큰 음수일 때 -> 0에 가까워지고, z가 무한하게 큰 양수가 될 때 -> 1에 가까워짐 import numpy as np import matplotlib.pyplot as plt # 로지스틱함수(시그모이드 함수) def sigmoid(z): return 1 / (1 + np.exp(-z)) z = np.arange(-5,5,0.1) sigmoid_.. [이코테] 그리디 알고리즘 숫자 카드 게임 n,m = map(int, input().split()) card_list = [] for i in range(n): num_list = list(map(int,input().split())) card_list.append(min(num_list)) print(max(card_list)) 1이 될 때까지 # 어떠한 수가 1이 될 때까지 수행 n,k = map(int, input().split()) count = 0 while True: l = n % k if n < k: count += l break if l == 0: count += 1 n = n / k if n == 1: break else: count += l n = n - l print(count) 교재 답안 result = 0 .. [ML] Ridge, Lasso Regression 선형 회귀 모델에 규제를 추가한 모델 릿지와 라쏘 모델을 사용할 때 alpha 매개변수로 규제의 강도를 조절 alpha 값이 크면 규제 강도가 세지므로 계수 값을 더 줄이고 조금 더 과소적합되도록 유도 alpha 값이 작으면 계수를 줄이는 역할이 줄어들고 선형 회귀 모델과 유사해짐 -> 과대적합될 가능성이 큼 릿지 회귀 Ridge 계수를 제곱한 값을 기준으로 규제를 적용 from sklearn.linear_model import Ridge, Lasso poly = PolynomialFeatures(degree=10) perch_full_ss_poly = poly.fit_transform(perch_full_ss) X_train, X_test, y_train, y_test = train_test_split.. [Spring MVC] FrontController : 유연한 컨트롤러 기존의 FrontController는 컨트롤러를 지정하여 호출하였다. 이렇게 하면 프론트 컨트롤러는 한 가지 방식의 컨트롤러 인터페이스만 사용할 수 있다. 만약 어떤 개발자는 ControllerV3 방식으로 개발하고 싶고, 어떤 개발자는 ControllerV4 방식으로 개발하고 싶다면 ? 이때 어댑터 패턴을 사용해서 프론트 컨트롤러가 다양한 방식의 컨트롤러를 처리할 수 있도록 변경할 수 있다. MyHandlerAdapter package hello.servlet.web.frontcontroller.v5; import hello.servlet.web.frontcontroller.ModelView; import jakarta.servlet.ServletException; import jakarta.servl.. [Spring MVC] FrontController : 단순하고 실용적인 컨트롤러 https://nymagicshop16.tistory.com/77 [Spring MVC] FrontController : Model 추가하기 서블릿 종속성 제거 https://nymagicshop16.tistory.com/76 [Spring MVC] FrontController : 뷰 분리하기 앞의 FrontController 구조에서 뷰를 분리하여 코드의 반복을 없앨 수 있다. MyView package hello.servlet.web.frontcontroller; nymagicshop16.tistory.com 앞서 만든 v3 컨트롤러를 보면, 항상 ModelView 객체를 생성하고 반환해야 부분이 번거롭다. V4 구조 (우리가 이름붙인 것이다) 는 컨트롤러가 ModelView를 반환하지 않고, Vie.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 17 다음