전체 글 (135) 썸네일형 리스트형 [Spring MVC] FrontController : Model 추가하기 서블릿 종속성 제거 https://nymagicshop16.tistory.com/76 [Spring MVC] FrontController : 뷰 분리하기 앞의 FrontController 구조에서 뷰를 분리하여 코드의 반복을 없앨 수 있다. MyView package hello.servlet.web.frontcontroller; import jakarta.servlet.RequestDispatcher; import jakarta.servlet.ServletException; import jakarta.servlet.http. nymagicshop16.tistory.com 위 글과 이어지는 내용이다. 지금 구조에서는 컨트롤러가 서블릿 기술을 몰라도 동작할 수 있다. request 객체를 Model로 사용하.. [Spring MVC] FrontController : 뷰 분리하기 앞의 FrontController 구조에서 뷰를 분리하여 코드의 반복을 없앨 수 있다. MyView package hello.servlet.web.frontcontroller; import jakarta.servlet.RequestDispatcher; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; public class MyView { private String viewPath; public MyView(String viewPath) { this.viewPa.. [Spring MVC] FrontController 패턴 생성하기 FrontController 패턴 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 입구를 하나로, 공통 처리 가능 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨 FrontController 도입 Controller를 인터페이스로 설계하기 Controller 인터페이스 package hello.servlet.web.frontcontroller.v1; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.i.. [ML] 다중 회귀 multiple regression 다중 회귀 여러 개의 특성을 사용한 선형 회귀 특성 공학 : 기존의 특성을 사용해 새로운 특성을 뽑아내는 작업 데이터 변환 PolynomialFeatures # 특성 추가 from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=2) poly.fit([[2,3]]) # 적용 poly.transform([[2,3]]) # 데이터 변환 2개의 특성을 가진 샘플 [2,3]이 6개의 특성을 가진 샘플 [1., 2., 3., 4., 6., 9.] 로 변환됨 기본적으로 각 특성을 제곱한 항을 추가하고 특성끼리 서로 곱한 항을 추가함 include_bias = False 사이킷런의 선형 모델은 자동으로 절편을 추가함 절편.. [ML] 선형 회귀 Linear Regression k-최근접 이웃 회귀의 한계 가장 가까운 샘플을 찾아 타깃을 평균하므로 새로운 샘플이 훈련 세트의 범위를 벗어나면 엉뚱한 값을 예측 가능 선형 회귀 비교적 간단하고 성능이 뛰어나기 때문에 널리 사용되는 대표적인 회귀 알고리즘 특성이 하나인 경우 어떤 직선을 학습하는 알고리즘 # 선형 회귀 from sklearn.linear_model import LinearRegression lr = LinearRegression() # 선형 회귀 모델 훈련 lr.fit(X_train, y_train) # 50cm 농어에 대해 예측 lr.predict([[50]]) print(lr.coef_, lr.intercept_) coef_ : 기울기 intercept_ : 절편 학습한 직선 그리기 # 학습한 직선 그리기 plt... [ML] K-최근접 이웃 회귀 k-최근접 이웃 회귀 예측하려는 샘플에 가장 가까운 샘플 k개를 선택 이웃 샘플의 수치를 사용해 새로운 샘플 x의 타깃을 예측 -> 이웃 수치들의 평균을 구해서 예측 Reshape numpy의 reshape() 메소드 : 배열의 크기를 바꿀 수 있음 test_array = test_array.reshape(2,2) : (2,2) 크기로 배열 바꾸기 2차원 배열로 바꾸기 크기에 -1을 지정하면 나머지 원소 개수로 모두 채운다 ex ) 첫 번째 크기를 나머지 원소 개수로 채우고, 두번째 크기를 1로 하려면 train_input.reshape(-1,1) 결정계수(R2) 각 샘플의 타깃과 예측한 값의 차이를 제곱하여 더함, 그다음 타깃과 타깃 평균의 차이를 제곱하여 더한 값으로 나눔 타깃의 평균 정도를 예측하는.. [Kafka] Kafka에서 생성된 데이터를 일정한 시간 단위로 mysql 테이블에 저장하기 Topic 1 from kafka import KafkaProducer import numpy as np from time import time,sleep import os import json producer = KafkaProducer(bootstrap_servers = 'localhost:9092', value_serializer = lambda v: json.dumps(v).encode('utf-8')) count = 0 while True: producer.send('topic1',value=np.random.normal()) sleep(.5) count += 1 if count % 10 ==0: print("topic1 producer......") # for data in temp: # pr.. [Kafka] json 데이터 처리하기 1. json 파일 준비 data.json { "p1": [ {"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}, {"id": 3, "name": "Charlie"} ], "p2": [ {"id": 4, "name": "David"}, {"id": 5, "name": "Emma"}, {"id": 6, "name": "Frank"} ], "p3": [ {"id": 7, "name": "Grace"}, {"id": 8, "name": "Henry"}, {"id": 9, "name": "Ivy"} ] } 이 json 데이터를 Producer가 토픽으로 전달하고 Consumer를 통해 받을 것이다. 2. Topic 생성 # KafkaAdminClient : 클러스터와 .. 이전 1 ··· 6 7 8 9 10 11 12 ··· 17 다음 목록 더보기