분류 전체보기(222)
-
[React-NodeJs-MySQL 프로젝트 세팅(restAPI+GraphQL)] (2) client : React 환경 세팅 - CRA, Router설정
Client는 React로 기본 구성하였다 CRA를 통해 간단히 틀을 생성하고, 기본적인 페이지를 구성해보겠다. 1) CRA yarn add create-react-app을 통해 기본 프로젝트를 세팅한다 client의 구조는 크게 apollo-pages-router로 설정하였다. apollo 폴더 : 추후 apollo client 세팅에 필요한 코드들 router 폴더 : 기본세팅에선 진행하지 않지만 향후 필요한 권한처리나 상태관리를 위해 폴더로 묶음 pages 폴더 : 우리가 만들 client page들 2) Router 설정 router폴더는 Router 코드를 가지고 있다. react-router-dom을 이용하여 라우터를 관리한다.( 설치 필요) 전체 라우터는 BrowserRouter로 묶어내고,..
2021.03.10 -
[React-NodeJs-MySQL 프로젝트 세팅(restAPI+GraphQL)] (1) Introduction
사용하려는 기술 스택은 다음과 같다. 추후 진행되는 개인 프로젝트에서는 해당 세팅을 default로 진행하겠다. 이 기본 세팅에서는 restAPI 와 GraphQL을 모두 사용할것이다. DB구축은 AWS RDS를 이용하여 MySQL로 연결하였고, 스토리지 설정은 제외한다. 그림에는 TypeScript가 포함되어 있으나, 세팅은 추후에 진행하도록 하겠다. 모든 구축을 끝내고 포스팅하는 글이니 가끔 설명하지 않은 코드가 앞부분에서 보이더라도 이해 부탁.... 포스팅 순서는 다음과 같다. 1) Introduction 2) client : React 환경 세팅 - CRA, Router설정 3) server : Nodejs 환경 세팅 - 컨트롤러, Router 설정 4) server: Apollo server 세..
2021.03.10 -
[파이썬 머신러닝] 4. Evaluation
데이터 가공/변환 -> 모델 학습-> 예측 -> 평가 1) Accuracy - 전체 예측 데이터 건수 대비 예측 결과가 동일한 데이터 건수 - 그러나 단순 Accuracy로 판단하는 것은, 데이터의 분포에 따라 왜곡이 커질 수 있다. 예컨데 여자는 무조건 살고, 남자는 무조건 죽는 엔진으로 학습해도, 80퍼센트에 가까운 정확도가 나온다 데이터가 이미 편중되어있기 때문이다 (예시 코드에서는 이전 타이타닉 예시에서 만든 total_function함수를 사용했다. 따라서 accuracy는 imbalanced한 데이터에 대한 evaluation지표로는 부적절하다. 예컨데 전체 데이터중 0이 90개 1이 10개라고 하더라도, 무조건 0으로 예측한다면 정확도가 90이 되는것이다. 비슷한 예로 True or Fals..
2021.03.09 -
[파이썬 머신러닝] 사이킷런을 이용해 타이타닉 생존자 예측하기
1. 필요한 라이브러리 및 데이터 import 타이타닉 데이터를 구성하는 column들과 확인하였다 또한 info메소드를 통해 각 컬럼의 정보를 확인하였다. 전체 row는 891개다. 2. Null값 처리 이 시점에서 주목할 부분은 Null값이다. 사이킷런 알고리즘은 Null을 허용하지 않는다. info의 결과를 보면 Age, Cabin, Embarked가 null을 가지고 있다 fillna 메소드를 통해 처리하였다. 3. 이상한 분포에 대한 문자열 처리 판다스의 object타입은 string으로 봐도 무방하다. 따라서 object로 표현된 Sex, Cabin, Embarked는 처리가 필요할 수도 있다. 처리를 위해 먼저 분포를 살펴본다 sex와 Embarked는 상식적인 분포를 가지고 있으나, Cab..
2021.03.08 -
[파이썬 머신러닝] 3. 싸이킷런(3) - 데이터 전처리
1. Label Encoding: 카테고리 피처를 코드형 숫자로 변환(ex) 메로나1: 1, 스크류바: 2...) 사이킷런의 LabelEncoder를 이용 단, 단순한 코드일 뿐이지만 어쨋든 숫자임으로 크고작음을 인식할 우려가 있다. 이러한 이유로 회귀같은 알고리즘에선 사용되지 않는다 2. One-Hot Encoding: 크기에 따른 가중치 설정을 방지하기 위해, 배열을 만들고 해당 컬럼만 1로 표시하는 방법 이 경우에는 일단 label encoder를 통해 숫자로 데이터를 바꾼 후, 인코딩을 한번 더 진행한다 판다스에 굉장히 편한 api가 있었다.... 굳이 인코더를 두개나 쓸 필요가 없다 - 서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작업 Standardization: 기존value에서 평균..
2021.03.08 -
[정리] graphQL code generator
graphql-code-generator.com/ GraphQL Code Generator | GraphQL Code Generator And more! You can generate your resolvers' signatures, dump schemas, model types, query builders, React Hooks, Angular Services, and much more! graphql-code-generator.com Typescript와 graphQL을 함께 이용하면, type이라는 용어탓에 헷갈리는 경우가 생긴다. 리졸버, MongoDB 모델, graphQL의 타입정의들이 자주 중복되기 때문이다. 이러한 문제때문에 graphQL을 빌드한 산출물에 대한 모든 type이 적절하게 ge..
2021.03.08