분류 전체보기 150

[AWS] IAM을 이용한 S3 서버 파일 업로드 (Springboot)

Springboot에서 S3 서버에 파일을 업로드하는 방법입니다. 1. AWS에서 'IAM' 검색 2. 사용자 > 사용자 추가 클릭 3. 사용자 이름 입력 및 AWS 자격 증명 유형 선택(액세스 키 - 프로그래밍 방식 액세스) 4. 권한 설정에서 기존 정책 직접 연결 및 정책 선택(AmazonS3FullAccess) 5. 태그 생략 및 검토 과정 후 생성된 액세스 키를 csv로 저장(나중에 필요) 6. Springboot 설정 다운로드 받은 csv를 참조하여 application.properties에 다음과 같이 작성 spring.servlet.multipart.max-file-size: 100MB spring.servlet.multipart.max-request-size: 100MB cloud.aws...

Web & Mobile/AWS 2022.11.09

[AWS] S3 생성하기

AWS의 S3를 생성하는 방법입니다. 1. AWS에서 'S3' 검색 2. 버킷 만들기 클릭 3. 버킷 이름 및 AWS 리전(서울) 설정 4. 모든 퍼블릭 액세스 차단 해제 5. 아래와 같이 퍼블릭 정책이 비활성화이기 때문에 변경 필요 6. 퍼블릭 정책 활성화를 위한 버킷 정책 생성 아래 사이트 접속 후 http://awspolicygen.s3.amazonaws.com/policygen.html AWS Policy Generator Click below to edit. To save the policy, copy the text below to a text editor. Changes made below will not be reflected in the policy generator tool. awspo..

Web & Mobile/AWS 2022.11.09

[AWS] EC2 서버 비밀번호로 접속하기

EC2 서버를 생성하면 기본적으로 ppk 파일을 이용하여 원격 접속을 할 수 있습니다. 그러나 매번 ppk 파일을 이용하는 것은 매우 불편하기 때문에, 비밀번호를 설정하여 접속해보겠습니다. 1. password 설정 먼저 ppk 파일을 이용하여 EC2 서버에 접속한 후(계정:ec2-user) 아래 명령어를 통해 비밀번호를 설정합니다. sudo passwd ec2-user 위와 비밀번호 설정이 나오면 원하는 비밀번호를 입력해줍니다. 2. sshd_config 파일 수정 아래 명령어를 통해 파일 내용을 수정합니다. sudo vi /etc/ssh/sshd_config 수정할 내용은 다음과 같습니다. PasswordAuthentication yes 3. 인스턴스 재부팅 수정이 완료되면 아래 명령어를 통해 인스턴..

Web & Mobile/AWS 2022.11.09

[Machine Learning] 로지스틱 회귀 (Logistic Regression)

일반적으로 선형 회귀 분석은 연속형 값을 예측하기에 적합하지만 범주형(분류)으로 예측하기에는 적합하지 않습니다. 선형 회귀 분석은 타겟 데이터의 범위가 무한대이기 때문입니다. 범위가 무한대라는 것은 만일 피처 데이터를 입력으로 두 개의 class(0, 1)로 분류해야 할 때 예측값이 0 또는 1로 제한되어 있다면 가능하지만, 3이라는 값으로 예측하게 된다면 이것은 0과 1로 분류하기는 어렵다는 것을 의미합니다. 이러한 문제를 해결하기 위한 방법 중 하나가 바로 로지스틱 회귀입니다. 로지스틱 회귀는 일반적인 선형 회귀 분석에서 출력값에 시그모이드 함수를 사용하여 0과 1사이의 값으로 변환시키는 방법으로, 이진 분류 방법입니다. (다중 분류일 경우에는 소프트맥스 함수를 사용해야 합니다.) z는 선형 회귀 모..

AI/Machine Learning 2022.09.29

[Machine Learning] 라쏘, 릿지, 엘라스틱넷 (Ridge, Lasso, ElasticNet)

회귀 분석에는 제약식을 포함할 수 있습니다. 제약이 없다면 측정하려는 가중치 W가 기하급수적으로 커질 수 있으며 이로 인해 분산이 커지는 문제가 발생하게 됩니다. 이를 해결하기 위해 여러가지 제약식을 사용할 수 있습니다. 1. 라쏘 회귀(Lasso Regression) - L1 Regularization 라쏘 회귀는 L1 Loss 형태인 |θ|를 제약식으로 추가하여 특성값의 가중치가 극히 낮은 값이면 0으로 수렴하게 하여 특성을 제거하는 방법입니다. 특성을 0으로 만든다는 것은 상대적으로 bias를 증가시켜 오버피팅을 방지할 수 있습니다. 2. 릿지 회귀(Ridge Regression) - L2 Regularization 릿지 회귀는 L2 Loss 형태인 θ^2를 제약식으로 추가하여 모델 예측에 영향을 ..

AI/Machine Learning 2022.09.28

[Machine Learning] 선형 회귀 (Linear Regression)

회귀 분석은 머신러닝에서 기본이 되는 방법입니다. 회귀란 '한바퀴를 돌아 제자리로 돌아가다'라는 뜻으로, 머신러닝에서 회귀는 모델이 제시하는 추세선으로 데이터를 예측한다는 이야기입니다. 쉽게 말해서, 예측해야 하는 값이 범주형이 아닌 연속형(실숫값)일 경우 모델을 회귀 모델이라고 합니다. 회귀 분석은 여러 종류가 있습니다. 그 중 가장 간단한 방법인 선형 회귀 분석(Linear Regression)에 대하여 알아보겠습니다. 먼저 선형 관계란 두 데이터의 관계를 직선식으로 표현할 수 있다는 말입니다. 오직 1개의 피처 x와 예측하려는 타겟 데이터 y가 선형 관계가 존재할 때, 단일 선형 회귀라고 부르고 이를 수식화하면 다음과 같습니다. 선형 관계는 직선의 방정식으로 보면 됩니다. 즉, 데이터 x가 주어지면..

AI/Machine Learning 2022.09.28

[Machine Learning] K-최근접 이웃 알고리즘 (KNN)

k-최근접 이웃 알고리즘(KNN)은 비교 대상이 되는 데이터 주변에 가까이 존재하는 k개의 데이터와 비교해 가장 가까운 데이터로 판별하는 방법입니다. 예를 들어 위 그림에서 판별해야 할 데이터가 빨간색 삼각형 이라고 할 때, k=1로 설정할 경우 삼각형은 초록색 원으로 판별됩니다. 만약 k=3으로 설정하면 노란색 사각형 개수가 초록색 원의 개수보다 많기 때문에 삼각형은 사각형으로 판별됩니다. 다시 말해, k는 판별해야 할 데이터로부터 가장 가까운 데이터의 개수를 의미하고 이를 기준으로 판별하는 방법입니다. 만약 위 예시처럼 분류가 아닌 회귀(연속형)라면 가장 가까운 k개의 데이터 평균값으로 예측할 수 있습니다. 이러한 KNN 알고리즘은 다른 머신러닝 알고리즘과 달리 학습 데이터 전체를 메모리에 로드 후 ..

AI/Machine Learning 2022.09.28

[Machine Learning] 모델 성능 평가 - 분류, 회귀

머신러닝 모델을 통해 해결해야 할 문제 종류(분류, 회귀)에 따라 성능 평가 방법이 다릅니다. 먼저 분류(classification) 문제의 평가 지표입니다. 1. 정확도(Accuracy) 위 식에서 I는 지시 함수(Indicator Function)으로, y ̂_k과 y_k 값이 동일하면 1, 서로 다른 값을 가지면 0이라는 의미입니다. 사이킷런의 accuracy_score()를 사용해보겠습니다. from sklearn.metrics import accuracy_score y_pred = [1, 1, 3, 2] y_true = [0, 1, 2, 3] print(accuracy_score(y_true, y_pred, normalize=False)) # 1 print(accuracy_score(y_true..

AI/Machine Learning 2022.09.27

[Machine Learning] 오차 행렬 (Confusion Matrix)

모델의 성능을 평가하는 방법에는 여러 가지가 있습니다. 먼저 이진 분류 케이스는 아래 표와 같습니다. 정답으로 분류되는 경우(모델이 정답을 맞힌경우)는 데이터를 양성(Positive)으로 예측했을 때, 실젯값도 양성일 때는 정답(True)으로 분류하고, 이 경우를 True Positive(TP)라고 합니다. 반대로 음성(Negative)으로 예측했을 때, 실젯값도 음성일 때는 True Negative(TN)라고 합니다. 오답으로 분류되는 경우는 양성으로 예측했을 때, 실젯값은 음성인 경우 False Positive(FP)라고 합니다. 그리고 음성으로 예측했을 때, 실젯값은 양성인 경우 False Negative(FN)라고 합니다. 정리하면 모델 예측이 양성이면 Positive, 음성이면 Negative이..

AI/Machine Learning 2022.09.27