💻 Development 408

[TIL] 2020-10-24

💪 Today I Learned 경진대회 보고서 작성 6개 모델 성능 비교 kNN Suport Vector Machine Decision Tree Random Forest LightGBM Xgboost 결국 LightGBM 정확도 0.925로 마무리했다. 🏃‍♂️ 한마디 생각보다 GridSearchCV로 하이퍼 파라미터 튜닝하는 데 시간이 너무 오래 걸렸다. 왜 전문가들이 성능 좋은 데스크탑에서 모델을 학습시키는지 뼈저리게 느낄 수 있었다. 심지어 튜닝하는 동안 다른 작업을 하지 못해 시간이 아깝게만 느껴졌다.

[TIL] 2020-10-23

💪 Today I Learned SMOTE Synthetic Minority Oversampling TEchnique 데이터 개수가 적은 클래스의 표본을 가져와 임의의 값을 더하여 데이터에 추가 결국 데이터 전처리부터 다시 진행했다. 클래스가 많이 불균형하지는 않지만 최대한 균형을 맞추고 싶었다. 데이터 불균형을 처리하는 방법은 크게 Undersampling Oversampling CSL (Cost Sensitive Learning) 가 있다. 찾아보니 분석을 위해서는 많은 데이터 확보가 효과적이기 때문에 오버샘플링 기법을 적용하는 것이 좋다고 한다. 그래서 가장 많이 사용하는 SMOTE 알고리즘을 이용했다. 하지만 데이터를 복제해 많은 양의 데이터를 만드는 만큼 오버피팅 가능성이 높다. 🏃‍♂️ 한마디..

[TIL] 2020-10-21

💪 Today I Learned 로그인 인증 및 유지 방법 Cookie / Session Cookie : 클라이언트의 저장소 중 하나 Session : 서버의 저장소 session ID 사용 시 API 요청할 때마다 아이디와 패스워드를 함께 보내지 않아도 되는 1차원적인 해결한다. 하지만 서버에서 관리해줘야 할 것이 늘어나 서버 부하의 문제가 있다. JWT (Jason Web Token) Header : meta-data Payload : real data (중요 정보 제외) Signature : Header, Payload, Secret key를 묶어 암호화 서버 부하를 해결했으나 토큰이 탈취될 경우 보안상의 문제가 있다. 이것은 payload에 유효기간을 설정해 해커가 탈취할 수 있는 시간을 한정적으..

[TIL] 2020-10-20

💪 Today I Learned Brunch API 설계 18개 정도 설계해봤는데 아쉬움 투성이다. 못해도 25개 정도는 만들 수 있을거라 생각했지만 하나하나 쿼리문을 다시 작성하는 데 너무 오래 걸렸다. 저번주에 작성해둔 한 방 쿼리가 무용지물이라고 생각이 들 정도로 쿼리에 문제가 많았다. 사실 쿼리 문제라기보다는 테이블들이 마음에 안들었다. ERD 설계를 더 계획적으로 했어야 하지 않나 싶다. 🏃‍♂️ 한마디 내일 수업 때 피드백 받고 다시 보완해야지.

[TIL] 2020-10-19

💪 Today I Learned MySQL connection locked 현상 과제 수행 도중 Postman에서 계속 서버 에러가 뜨며 아래 메시지를 날렸다. ERROR 1129(00000): Host 'xxx' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts' 구글링해보니 MySQL 은 외부에서 비정상적인 접속이라 판단되는 경우 해당 호스트를 블락시킨다고 한다. 이렇게 비정상 접속이라고 판단되는 케이스는 단순 Connect 후 Disconnet하는 연결이 빈번하거나 접근 계정의 패스워드가 계속해서 불일치하는 경우 혹은 기타 사이버 공격으로 의심되는 케이스 라고 한다. 여러 해결법이 있었는데, 나는 그냥..