본 포스트를 통해 AWS Linux 2에 Oh My Zsh를 설치하고 Agnoster 테마를 적용해보겠습니다.

아직 Linux 2가 대중적으로 많이 사용되지 않기 때문인지 AWS Linux 2에 Oh My Zsh를 설치하고 적용하는 방법이 정리되어 있는 곳이 없어 한 번 정리해서 올려봅니다.

 

AWS Linux 2에 Oh My Zsh 설치하는 방법

1. AWS Root 경로에서 현재 쉘(SHELL) 확인해 보기 

Babun과 같은 터미널로 AWS Linux 2에 접속하면 루트 경로에 들어가질 것 입니다.

여기서 아래의 현재 쉘(SHELL)을 확인하는 명령어를 입력하여 쉘이 무엇으로 되어 있는지 확인합니다.

echo $SHELL

 

 

AWS에서 Linux 2를 설치하고 따로 쉘을 바꾸지 않으셨으면 아래와 같이 bash로 되어 있다고 나타날 것입니다.

 

2. Zsh 설치하기

zsh가 아닌 다른 쉘(ex. bash)로 되어 있고 이전에 Zsh를 설치한 적이 없다면 AWS Linux 2에 아래의 명령어로 Zsh를 설치해 줍니다.

sudo yum install zsh

위의 명령어를 입력하시면 아래와 같은 화면이 나타나고, Zsh 설치가 진행 될 것입니다.

 

3. 기본 쉘(Shell)을 Zsh로 바꾸기

현재 기본 쉘로 bash로 되어있으므로, 이를 Zsh로 바꿔주는 작업을 진행하겠습니다.

AWS Linux 2에서 기본 쉘을 바꾸려면 /etc 경로에 있는 passwd 파일을 수정해주어야 합니다.

아래의 명령어를 입력하여 passwd 파일을 vi 편집기로 수정합니다.(이때, sudo 명령어를 반드시 입력해야 합니다!)

sudo vi /etc/passwd

위의 명령어를 입력하면 아래와 같이 passwd 파일을 수정 할 수 있습니다.

 

여기서 맨 아래에 보면, ec2-user의 기본 쉘이 /bin/bash로 되어 있는 것을 확인할 수 있습니다.

이것을 아래의 사진과 같이 /usr/bin/zsh로 변경해 줍니다.(2번 과정으로 Zsh를 설치하였다면 /usr/bin/zsh 경로에 파일이 생성되게 됩니다.)

이렇게 /etc/passwd 파일을 수정하였다면, :wq로 저장하고 나와줍니다.

 

 

4. AWS 서버에 재접속 하기 & .zshrc 폴더 만들기

이제 Zsh 설치는 완료되었습니다. AWS 서버를 나와 다시 재접속을 하면 아래와 같은 사진이 나타나게 될 것입니다.

이는 Zsh를 처음 설치하여 기본 폴더(.zshrc)를 만들 것인지 묻는 화면으로 숫자 0을 입력하여 다음을 진행해 줍니다.

5. Oh My Zsh 설치하기

정말 다 끝나갑니다. 이제 Oh My Zsh를 설치합니다.

아래의 명령어를 입력하여 Oh My Zsh를 설치하고 기본 쉘로 변경하여 줍니다.

(사전에 Git이 먼저 설치되어 있어야 합니다.)

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

 

6. Agnoster 테마 적용하기

이 부분은 이전 포스트(02_터미널 설치 - Oh My Zsh 테마 Agnoster 적용하기)와 동일합니다.

아래의 명령어를 입력하여 .zshrc 파일을 수정하여 줍니다.

vi ~/.zshrc

 

아래의 이미지와 같이 ZSH_THEME 부분을 agnoster로 변경하여 줍니다.

그러고 :wq를 입력하여 파일을 저장 후, 아래의 명령어를 입력하여 바뀐 .zshrc 파일을 적용하여 줍니다.

source ~/.zshrc

ROC 곡선(Receiver Operating Characteristic Curve)

ROC 곡선(Receiver Operation Characteristic Curve:  수신자 조작 특성 곡선)은 모든 분류 임계값(Classification Thresholds)에서 분류 모델의 성능을 보여주는 그래프입니다. 이 곡선은 두 매개변수를 갖습니다.

  • TPR(True Positive Rate): 참 양성 비율(= 재현율)
    => TPR = TP / (TP + FN)

  • FPR(False Positive Rate): 허위 양성 
    => FPR = FP / (FP + TN)

ROC 곡선은 다양한 분류 임계값의 TPR과 FPR을 나타냅니다. 분류 임계값을 낮추면 더 많은 데이터가 양성으로 분류되어 거짓 양성(FP)과 참 양성(TP) 모두 증가하게 됩니다. 아래의 그림은 일반적인 ROC 곡선을 나타냅니다.

ROC 곡선은 FP 비율에 대한 TP의 비율을 나타내는 곡선으로 FP 비율값이 낮으면서 TP 비율값은 높은 것이 더 좋은 정확도를 보이는 좋은 모델입니다. 이에 따라 곡선이 위로 볼록할 수록 더 좋은 모델입니다.

(참고 링크: 조대협의 블로그 - 분류모델(Classification)의 성능 평가)



AUC(Area Under the ROC Curve: ROC 곡선의 아래 영역)

AUC는 ROC 곡선의 아래 영역을 의미하며 예측이 얼마나 잘 평가되었는지 측정 할 때 사용합니다. 아래의 그림과 같이 ROC 곡선의 아래 영역이 AUC가 됩니다.


AUC를 통해 모델이 임의 양성 예제를 임의 음성 예제보다 더 높게 평가할 확률을 구할 수 있습니다. 에를 들어 다음 예에서는 로지스틱 회귀 예측의 오름차순으로 왼쪽에서 오른쪽으로 정렬되어 있습니다.


여기서 AUC는 임의의 양성(초록색) 예제가 임의의 음성(빨간색) 예제의 오른쪽에 배치되는 확률을 나타냅니다.


AUC는 두 가지 이유로 유용하게 사용 될 수 있습니다.

  • AUC는 척도 불변(Scale-Invariant): 절대값이 아닌, 예측이 얼마나 잘 평가되었는지는 측정

  • AUC는 분류 임계값 불변(Classification-Threshold-Invariant): 어떤 분류 임계값이 선택되었는지와 무관하게 모델의 에측 품질을 측정



분류 모델을 평가하는 방법으로 정확도(Accuracy) 외에도 정밀도와 재현율 이란 것이 있습니다. 이에 대한 이해를 도울 수 있는 좋은 자료를 아래의 링크로 첨부하겠습니다. 한 번 읽어 보시는 걸 추천드립니다!


링크: 조대협의 블로그 - 분류모델(Classification)의 성능 평가


이 포스트에서는 Machine Learning Crash Course에서 다루는 정밀도와 재현율에 관한 내용을 정리하도록 하겠습니다.



정밀도(Precision)

정밀도(Precision): 양성으로 식별된 사례 중 실제로 양성이었던 사례의 비율은 어느 정도인가요?


정밀도는 다음과 같이 정의 됩니다.(거짓 양성이 없을 경우 모델의 정밀도는 1.0)



그럼 이번에는 이전 포스트에서 다룬 예시를 통해 정밀도를 계산해 보도록 하겠습니다.


이 모델에서는 어떤 종양이 악성일 것이라고 평가했을 때, 이 평가가 정확할 확률이 50%입니다.



재현율(Recall)

재현율(Recall): 실제 양성 중 정확히 양성이라고 식별된 사례의 비율은 어느 정도인가요?


재현율은 다음과 같이 정의 됩니다.(거짓음성이 나오지 않는 모델의 재현율은 1.0)



위의 예시 이미지에서 종양 분류 모델의 재현율을 계산해면 다음과 같습니다.



이 모델에서는 모든 악성 종양 중 11%만 정확하게 식별됩니다.



정밀도 및 재현율의 줄다리기

모델이 좋은 모델인지 평가하는데 정밀도와 재현율을 모두 검사해야 합니다. 정밀도와 재현율은 서로 상충하는 관계에 있는 경우가 많아, 보통 정밀도가 향상되면 재현율이 감소하게 됩니다.


스팸 메일을 분류하는 예제를 통해 정밀도와 재현율이 줄다리기를 하는 모습을 알아보도록 하겠습니다.


로지스틱 회귀 모델로 출력된 결과를 특정 지점을 분류 임계값으로 정해 스팸 메일을 분류하도록 하겠습니다. 위의 예시를 토대로 나타나는 이진 분류 표는 다음과 같습니다.



이 분류 임계값에서 산출되는 정밀도와 재현율은 다음 같습니다.




여기서 정밀도는 정확하게 분류된 스팸으로 신고된 이메일의 비율 말하며, 재현율은 정확하게 분류된 실제 스팸 이메일의 비율을 나타냅니다.

분류 임계값을 증가 시킬 경우


분류 임계값을 위와 같이 좀 더 높게 설정해 보도록 하겠습니다. 이 경우 이진 분류 표와 산출되는 정밀도와 재현율은 다음과 같습니다.





분류 임계값을 증가 시켰을 경우, 허위 양성(FP)의 수는 감소하지만 허위 음성(FN)의 수는 증가하게 됩니다. 이로 인해 정밀도는 증가하는 반면 재현율은 감소합니다.


분류 임계값을 감소 시킬 경우

분류 임계값을 위와 같이 낮게 설정해 보도록 하겠습니다. 이 경우 이진 분류 표와 산출되는 정밀도와 재현율은 다음과 같습니다.





분류 임계값을 감소 시켰을 경우, 허위 양성(FP)의 수는 증가하지만 허위 음성(FN)의 수는 감소하게 됩니다. 이로 인해 정밀도는 감소하는 반면 재현율은 증가합니다.


이렇게 분류 임계값에 따라 정밀도와 재현율은 줄다리기를 하는 것을 알 수 있습니다.

+ Recent posts