1. 기술 65

Elastic Search - 외부 호스팅 개방

외부에서 엘라스틱서치 클러스터에 접속하기 위해서는 config/elasticsearch.yml 파일에서 network.host: “_stie_” (혹은 internet-ip) 를 입력해줘야 한다. 그런데, 이렇게 수정하고 실행하면 부트스트랩 에러가 발생한다. 이 부분을 해결하려면 /etc/security/limits.conf 파일과 /etc/sysctl.conf 파일 수정 통해 리소스 제한을 영구적으로 풀어줘야한다. 수정 내용은 아래 이미지 참고) 수정했다면, 리눅스 시스템을 다시 올린다. $sudo shutdown -r 추가로, config 파일에 discovery.seed_hosts로 호스트 설정도 해줘야 한다. 이렇게 외부 호스트를 열고 실행시, 내부에서는 이제 localhost로는 접속이 안되고,..

이진 분류를 위한 머신러닝 예측 성능 비교 - 로지스틱 회귀, 랜덤포레스트, 부스팅, 신경망

딥러닝 신경망 모형이 언제나 이길까? 본 분석은 머신러닝 모델의 예측 성능을 비교함으로써 딥러닝(다층 신경망)이 언제나 만능일 수 없음을 검증하고자 한다. 물론 신경망의 경우 Hyper-parameter 튜닝 및 딥러닝에 최적화된 Feature Engineering을 통해 미세한 성능 개선이 가능하지만, 단순 이진 분류의 경우에 딥러닝보다 빠른 속도와 우수한 성능을 보여주는 가벼운 머신러닝 모델을 쉽게 찾을 수 있음을 보여주기 위함이다. 그럼, 자연스럽게 가설을 하나 설정해두고 분석을 진행하도록 하겠다. 1. 가설 설정 및 데이터 분포 확인 귀무가설 : 동일한 데이터로 동일한 정규화 과정을 거쳤을 때 머신러닝 모델 중 신경망 알고리즘의 성능이 가장 우수하다. 연구가설 : 동일한 데이터로 동일한 정규화 과..

pythonanywhere - 장고 서버 구축

웹으로 모델을 서빙해야 하는 상황이 자주 생긴다. pythonanywhere로 간단한 개인 서버를 띄워보고 싶다면, 딱 3가지만 생각하면 된다. 로컬에서 개발하고 Github에 원격으로 올리고 외부 호스팅 업체를 사용한다. 1. 로컬 개발하고 머신러닝 모델 배포나 일반 웹서비스를 위해 html 페이지를 로컬 서버에 띄워봤을 수 있다. 주소창에 localhost : ~ / ~ 3000 이런 식으로 나타나는데 이것이 로컬 서버다. 외부에서는 접속할 수 없다. 2. Github에 원격으로 올리고 내 컴퓨터에서 작성한 코드를 clone, post 와 같은 명령어로 github에서 가져오기도 하고 repositories로 올릴 수도 있다. 다른 사람들과 코드를 공유하고, 내 코드가 변경을 하다가 이전 버전으로 돌..

맥 homebrew - 깃 설치 및 깃허브 연동

먼저 homebrew를 설치할 것이다. homebrew는 맥에서 git과 같은 다양한 툴을 편하게 설치하게 해준다. git 사이트에서도 이렇게 homebrew 사용을 권장한다. Install Homebrew 아래의 코드를 복사해서 터미널에 붙여넣는다. 정상적으로 설치가 되면 이렇게 password를 입력하라고 하는데 그냥 enter쳐주면 다음 연결시에도 password 확인 없이 진행하게 된다. homebrew를 설치했다면, cask도 간단히 설치해준다. cask는 애플의 사파리, 구글 크롬같은 도구들의 설치를 도와주는 유용한 패키지다. 드디어 git을 설치한다. % brew install git 을 해주면 터미널이 열심히 돌아간다. 깃 설치가 완료되었다면 %git config --global user...

Python Django - blog, admin

장고걸스 튜토리얼을 참고했습니다. manage.py 가 있는 파일 경로로 들어가서 아래 명령어를 실행한다. % python manage.py startapp blog - manage.py 파일이 있는 경로에서 blog 파일을 생성한다. 그럼 이렇게 blog라는 이름의 폴더가 생성되고, apps.py 파일, migrations 폴더를 포함해 여러 가지 항목들이 패키지로 설치된 것을 확인할 수 있다. (*참고) 장고 걸스에서 가져온 현재 디렉터리 모습 blog 모델을 생성했다면 이 App이 설치되었다고 알려줘야한다. mysite에서 다시 settings.py를 실행한다. INSTALLED_APPS를 찾아서 'blog'를 추가해준다. 이렇게 'blog' 앱이 설치된 것을 인식시켜줬다면, 다음으로 blog에 대..

맥에 Django 설치

% python -m pip install django -먼저, 장고를 설치한다. % django-admin startproject mysite . -데이터베이스와 서버 세팅을 도와준다. 그럼 장고를 설치한 폴더의 하위에 mysite 폴더가 생성되고, 아래와 같이 settings.py를 확인할 수 있다. 열어서 몇가지 세팅을 해준다. TIME_ZONE은 웹에서 시간대 표시할 때 참고하는 지역이니 Asia/Seoul로 설정해주고, STATIC_ROOT = os.path.join(BASE_DIR, 'static') 를 통해 정적 파일 경로를 설정해준다. ALLOWED_HOSTS는 빈값으로 되어 있다. 아래와 같이 채워준다. 데이터베이스는 sqlite3으로 구동되는 것으로 보인다. 저장 후 terminal로 ..

맥 zsh - conda install 에러, pip install로 대체

이번에 새로 산 맥에 장고를 설치하려다가 conda install 관련 에러가 있어 내용을 기록한다. 우선, 사용자폴더에서 새롭게 sw_python이라는 폴더를 생성하고, 가상환경도 만들어 줬다. 가상환경 이름은 재미없지만 django_venv이다. 가상환경은 잘 생성되었다. conda activate django_venv 명령어로 가상환경을 실행한다. 이어서 conda install 명령어를 통해 django를 설치해줬다. 그리고, 장고를 실행하기 위한 mysite와 하위 파일들을 생성하려고 시도해보았으나 No module named 'django' 메시지가 뜨면서 실행되지 않는다. 이어서 django --version 으로 설치가 되었는지 확인해보니 command not found: django 라고..

맥(Mac) 터미널 경로설정 - 아나콘다(Anaconda), 2020년 5월 10일 기준 updated

오랜만에 맥에 아나콘다를 설치하고 가상 환경을 띄우려는데, 에러가 발생했다. 구글링 해보면 대부분 export PATH="/Users/username/anaconda/bin:$PATH"로 설정하면 된다 는 내용이 많다. 동일하게 시도했을때, 아래와 같이 에러가 발생한다. 초기화도 해보았으나 No action taken. 이라는 모호한 내용이 출력된다. 구글링 해보니 2019년 말 기준 맥 터미널이 zsh환경이 default로 잡히면서 몇 가지 업데이트로 인해 경로를 다르게 설정해주어야 한단다. 우선 경로는 conda.sh 파일이 있는 폴더로 찾아본다. ~~ anaconda3/etc/profile.d 경로 하위에 conda.sh 가 있기 때문에 아래와 같이 export 해준다. 이제 아래와 같이 작성하고,..

JavaScript - '객체 참조', assign()

자바스크립트에서 객체는 복사되지 않고, 참조된다. 이러한 이유에서 예상하지 못했던 값의 변화로 에러를 경험하곤 한다. 사람은 현실에서든, 코드에서든 원본이 변하는 것을 좋아하지 않는다. 원본은 유일해야 하며 필요에 따라 수정할 경우 복사본을 이용하는 것이 좋다. 이런 점에서 객체를 참조하고, 원본을 수정할 수 있는 자바스크립트의 특성은 취약점이다. 자바스크립트는 prototype을 통해 얼마든지 객체 원본을 변형할 수 있다. ES2015부터 이 취약점을 해결하기 위해 assign()이라는 메서드를 제공하고 있다. 특정 객체를 전달할 때 원본을 참조하는 것이 아니라 새로 만들어서(복사) 전달하자는 컨셉이다. 사실 assign() 메서드가 등장하기 전까지는 주로 json을 활용했다. 객체를 json 형태로 ..

1 2 3 4 5 6 7