A ship in harbor is safe, but that is not what ships are built for.

전체 글 158

Ch03. 다중 선형 회귀(Multiple Linear Regression)

선형 회귀를 위한 가정(Assumptions of Linear Regression)1. 선형성(Linearity) : 종속 변수와 각각의 독립 변수가 서로 선형 관계를 이루는지 확인해야 한다.2. 동분산성(Homoscedasticity) : 등분산으로 증가하는 형태든 감소하는 형태든 독립 변수에 따라 분산이 달라지면 안 된다.3. 다변량 정규성(Multivariate Normality) : 오류 분포가 정규 분포를 따라야 한다.4. 독립성(Independence) : 자기상관이 없어야 한다. = 데이터에서 어떤 패턴도 나타나서는 안 된다.5. 다중공선성 결여(Lack of Multicollinearity) : 독립 변수 또는 예측 변수가 서로 상관되지 않아야 한다.6. 이상치 확인(The Outlier ..

Ch02. 단순 선형 회귀(Simple Linear Regression)

단순 선형 회귀식(Simple Linear Regression)정의하나의 독립 변수(입력 변수, x)를 사용하여 종속 변수(출력 변수, y)를 예측하는 선형 회귀 모델목적주어진 데이터셋에서 최적의 회귀 계수( \(b_1\) )와 절편( \(b_0\) )을 찾아서, 새로운 x 값이 주어졌을 때 y 값을 예측하는 것 $$ \hat y = b_0 + b_1X_1 $$\( \hat y\) : Dependent variable(종속변수) → 예측하려는 값\(X_1\) : Independent variable(독립변수)\(b_0\) : Constant\(b_1\) : Slope coefficient(기울기) 최소 제곱법(Ordinary Least Squares)최적의 \( b_0 \) 과 \( b_1 \) 을 결정..

Ch01. 데이터 전처리(Data Preprocessing)

전체 데이터 = Training data + Test dataTraining data → Build the modelTest data → Test the model(예상값과 실제값 비교)상항에 따라 다르지만 일반적인 데이터 split 비율은 8:2 이다.  What is Feature Scaling서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작한 열에 대해서만 적용 가능정규화(Normalization)(열 내 모든 값 - 열의 최소값)/(열의 최대값 - 열의 최소값)모든 결과는 0과 1 사이모든 열 간 단위와 의미가 다르고, 무엇보다 값들의 편차의 단위가 서로 달라 열 간 중요도를 착각하기 쉬울 수 있어 정규화를 진행표준화(Standardization)(열 내 모든 값 - 열의 평균값)/(열의 표..

Ch05. HTTP헤더1 - 일반 헤더

1. HTTP 헤더 개요헤더 필드 = 필드이름: 필드값 → 이때 필드이름은 대소문자 구분 XHTTP 전송에 필요한 모든 부가 정보를 포함 → 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보표준 헤더 필드가 굉장히 많음 → 필요 시 임의 헤더 추가 가능HTTP 표준 1999년 RFC2616 → 2014년 RFC723x 등장메시지 본문(=페이로드)을 통해 표현 데이터 전달표현 : 요청이나 응답에서 전달할 실제 데이터표현 헤더 : 표현 데이터를 해석할 수 있는 정보 제공 → 데이터 유형, 데이터 길이, 압축 정보 2. 표현특정 resource(예를 들면, 회원정보..)를 어떠한 형태(html, json..?)로 전달할 지 결정표현 헤더 종류 → 전송, 응..

STUDY/Network 2024.12.15

Ch04. HTTP 상태코드

1. HTTP 상태코드 소개클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능서버가 클라이언트가 인식할 수 없는 상태코드를 반환 → 상위 상태코드로 해석해서 처리 2. 2xx - 성공클라이언트의 요청을 성공적으로 처리200 OK : 요청 성공201 Created : 요청 성공해서 새로운 리소스 생성 → 생성된 리소스(id같은 거…)는 응답의 Location 헤더 필드로 식별202 Accepted : 요청이 접수되었으나 처리가 완료되지 않았음 → 배치 처리에 사용204 No Content : 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 → save 기능 3. 3xx - 리다이렉션1요청을 완료하기 위해 유저 에이전트의 추가 조치 필요리다이렉션 : 웹 브라우저는 3x..

STUDY/Network 2024.12.14

Ch03. HTTP 메서드

1. HTTP APIURI = Uniform Resource Identifier → 가장 중요한 것은 리소스 식별!!!리소스 = 회원이라는 “개념” 자체 → 회원 리소스를 URI에 매핑!!!** 계층 구조 상 상위를 컬렉션으로 보고 복수 단어 사용 권장 ex) member → members리소스와 행위를 분리해야 함 → URI와 Method  2. HTTP 메서드 - GET, POSTGET : 리소스 조회서버에 전달할 데이터는 query를 통해 전달메시지 바디 사용 가능하지만, 권장 XPOST : 요청 데이터 처리 → 주로 등록에 사용메시지 바디를 통해 서버로 요청 데이터 전달주로 신규 리소스 데이터 등록, 프로세스 변경(요청 데이터 처리.. control URI), 다른 메서드로 처리하기 애매한 경우리..

STUDY/Network 2024.12.06

Ch02. URI와 웹 브라우저 요청 흐름, HTTP

1. URI= Uniform Resource IdentifierURI는 로케이터, 이름 또는 둘다 추가로 분류될 수 있음URI(리소스 식별) = URL(리소스 위치) + URN(리소스 이름)→ 위치는 변할 수 있지만, 이름은 변하지 않음 →  BUT, URN만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음 sheme://{userinfo@}host[:post][/path][?query][#fragment]프로토콜(HTTP, HTTPS, FTP)://HostName:Port/Path?QueryParameter→ 일반적으로 HTTP는 80포트, HTTPS(HTTP Secure)는 443포트를 이용하기에 포트번호 생략→ userinfo@는 URL에 사용자 정보를 포함해서 인증(거의 사용 X)→ pa..

STUDY/Network 2024.12.05

Ch01. 인터넷 네트워크

1. 인터넷 통신클라이언트와 서버가 그냥 바로 옆에 있다면 케이블로 연결해 데이터를 주고 받으면 됨→ But, 지리적으로 떨어져 있는 클라이언트와 서버는 복잡한 인터넷 망을 통해 데이터를 주고 받음이때, 인터넷망 내 여러 노드들을 거쳐 데이터가 Source → Destination으로 이동Q. 어떻게 복잡한 인터넷망을 넘어 목적지까지 도착할 수 있을까?  2. IP(인터넷 프로토콜)지정한 IP 주소(IP address)에 데이터를 전달 → 패킷 단위로 전송IP 패킷 = 출발지 IP + 목적지 IP + 전송 데이터 + 기타인터넷망의 노드들끼리 서로 전달받은 패킷을 던짐한계 존재 → TCP/UDP로 해결비연결성패킷을 받을 대상이 없거나 상대방이 서비스 불능 상태여도 일단 패킷 전송비신뢰성중간에 패킷이 사라질..

STUDY/Network 2024.12.05

[Day05 - 1427번] 소트인사이드

슈도 코드를 작성하면 다음과 같다. 더보기 str(정렬할 수) A(자릿수별로 구분해 저장할 배열) for(str 길이만큼 반복){ A 배열 저장 -> str.substring 사용 } for(i:0 ~ str길이만큼 반복){ for(j:i+1 ~ str 길이만큼 반복){ 현재 범위에서 max 값 찾기 } 현재 i의 값과 max 값 중 max 값이 더 크면 swap 수행 } A 배열 출력 구현 코드는 다음과 같다. import java.util.*; public class P_1427 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); int[] A = new int[str..

[Day05 - 1377번] 버블 소트

버블 정렬의 swap이 발생하지 않은 루프가 언제인지 알아내는 문제이다. 이 문제의 N의 최대 범위는 500000이기 때문에 버블 정렬도 문제를 해결할 경우 시간을 초과할 수 있다.(실제로 처음 문제를 풀었을 때 내가 그랬다;;;) 여기서 생각해봐야할 점은 안쪽 루프는 1 ~ n-i까지 swap을 수행한다는 것이다. 이는 특정 데이터가 안쪽 루프에서 swap의 왼쪽으로 이동할 수 있는 최대 거리는 1이므로, 데이터의 정렬 전 index와 정렬 후 index를 비교해 왼쪽으로 가장 많이 이동한 값을 찾으면 된다는 것이다. 슈도코드를 작성하면 다음과 같다. 더보기 N(데이터 개수), A(데이터 배열 -> 클래스를 데이터로 담는 배열) for (N만큼 반복) { A 배열 저장 ) A 배열 정렬 for (N만큼..