etc/memo 11

Inference(추론)과 Prediction(예측)

저번 학기에 대학교에서 머신러닝과 계량경제학 강의를 들었다. 머신러닝도 경제학과에서 열린 수업이다 보니 둘은 비슷하지만 또 매우 다르다는 느낌을 받았다. 개강 후 한 달 정도 지나니 두 수업 모두 통계적 지식이 부족해서 이해가 안 되는 부분은 차치하더라도 inference(추론)와 prediction(예측)에 대해 정확한 개념이 부족해서 수업이 더 어렵게 느껴지지 않나 하는 생각이 들었다. 그전까지는 그냥 추론은 data generating process, 즉 이 데이터가 어떤 분포를 가지고 있는지 알아내는 데에 관심 있고, 예측은 unseen data를 말 그대로 예측하는 것에 관심이 있다는 정도로만 알고 있었다. 하지만 이쯤에서 추론을 통해 data generating process를 정확히 알 수 ..

etc/memo 2023.01.24

[Python] Anaconda 가상 환경 설정/삭제

아나콘다에는 가상 환경이라는 유용한 기능이 있기 때문에 여러 패키지의 버전을 따로 따로 사용할 수 있다. 이 기능을 알게된지는 좀 됐지만 아직 실제로 버전에 예민한 작업을 한번도 해보지 않아서 크게 유용함을 느끼지 못 했었다. 아직도 딱히 버전 의존도가 높은 프로젝트는 안 해봤지만, 이전보다는 버전 관리의 중요함을 느낀 상태다. 그런 김에 한 학기 동안 사용할 패키지 버전이 벌써 공지된 수업이 있어서 미리 설정하는 겸 가상 환경 세팅법을 다시 익혔다. 1. 가상 환경 만드는 법 conda create -n env_name conda create -n env_name python==version 2. 가상 환경 리스트 확인 conda env list conda info envs 3. 가상 환경 활성화/비활..

etc/memo 2022.09.04

Golang Project Layout Study

최근 우연히 go를 열심히 사용해야 할 일이 생겼다. 기왕 하는 거 무지성으로 하는 게 아니라 완성도 있는 프로젝트를 만들고 싶다는 생각이 들었다. 코드는 클린 코드 책을 보면서 열심히 깔끔한 코드를 작성하려고 노력하는 중이다. 함수 내의 추상화 레벨 맞추는 게 쉽지 않아서 애를 먹고 있다. 그런데 프로젝트 레이아웃을 깔끔하게 잡는 것도 쉽지 않았다. 그냥 비슷한 코드끼리 뭉쳐놓으면 되지 않나 싶은데 직접 해보려고 하면 잘 되지 않아서 아무래도 뭐라도 참고하는 게 좋을 것 같았다. 막상 레퍼런스를 찾으려고 보니까 적당한 프로젝트를 찾는 것도 쉽지 않았다. 이런 걸 찾아본 적이 있어야지. 그래도 두고두고 보면 도움이 될 것 같은 링크를 몇 개 찾았다. 1.표준 Go 프로젝트 레이아웃 문서 GitHub - ..

etc/memo 2022.07.19

[MySQL/C++] Visual Studio 2019 MySQL 연동

얼마 전에 MySQL을 깔고 Visual Studio에 연동하려니 잘 되지 않았다. 몇시간을 끙끙대며 해결했는데 그 방법을 아카이빙 해놔야겠다. 1. 우선 MySQL, ODBC, Connector설치할 때 32-bit 혹은 64-bit으로 다 맞추자. 괜히 다른 블로그 따라한다고 섞어서 다운받았다가 처음부터 다시 설치했다. 보통의 경우엔 그냥 다 맞춰서 다운 받는게 안전한 것 같다. 2. Visual Studio의 프로젝트의 설정을 잘 해야한다. 포함 디렉터리는 MySQL Server 안에 있는 include의 주소, 라이브러리 디렉터리는 lib의 주소로 잘 설정하자. 그리고 난 구성과 플랫폼을 모든 구성, 모든 플랫폼으로 수정했다. 다른 블로그랑 똑같이해도 잘 안되길래 그냥 모든으로 설정했다. 이걸로도..

etc/memo 2022.05.30

[Linux/Ubuntu] Release file is not valid yet. Updates for this repository will not be applied. 해결

새로 사용할 서버에서 apt-get update를 했더니 이런 에러가 나왔다. 조금 찾아보니 시간이 맞지 않아 발생하는 문제인 것 같았다. 여러 가지 방법 중에 내가 해결한 방법을 적어두려고 한다. sudo apt install ntp sudo service ntp restart 찾아보니 ntp는 네트워크 시간 동기화를 위한 사용하는 녀석인 것 같았다. 덕분에 apt-get update할 때 다시 에러가 뜨지 않았다.

etc/memo 2022.05.22

[Python] Module Downgrade

학과 수업에서 statsmodels를 쓸 일이 있었는데 교수님이 사용하시는 버전보다 내 버전이 높아서 deprecated 된 내용이 있었다. 가끔 이런 경우가 생기는데 pip 사용법이 익숙하지 않아서 매번 찾아보게 되는 것 같다. 까먹기 전에 간단하게 정리해야겠다. 나는 Anaconda prompt를 사용했다. pip install --upgrade [package]==[version] 이렇게 작성하면 원하는 모듈을 다운그레이드 할 수 있다. 나는 statsmodels의 버전을 0.13.2에서 0.11.1로 바꾸고 싶어서 이렇게 작성했다. pip install --upgrade statsmodels==0.11.1

etc/memo 2022.05.20

[파이썬 오류 해결] No JVM shared library file (jvm.dll) found. Try setting up the JAVA_HOME environment variable properly.

자연어 처리 공부를 하려고 KoNLPy를 사용하고 싶었다. 그런데 자꾸 다음과 같은 오류가 날 괴롭혔다. No JVM shared library file (jvm.dll) found. Try setting up the JAVA_HOME environment variable properly. 이 오류가 무엇 인고하니 JAVA_HOME 경로에 jvm.dll 파일이 없어서 생기는 문제였다. 첫 번째 방법 : 나는 해결이 안 됐지만 이 방법으로 해결한 사람들이 많아 보였다. 찾아보니 jvm.dll 파일이 C:\Program Files\Java\jdk-17.0.2\bin\server\ 안에 있길래 JAVA_HOME을 C:\Program Files\Java\jdk-17.0.2으로 추가하고 Path에 % JAVA_H..

etc/memo 2022.03.25

자질구레한 잡기술

(2022-02-19) 1. Visual Studio: 기본 글꼴보다 Consolas가 훨씬 보기 좋음 (도구 -> 옵션 -> 환경 -> 글꼴 및 색) 에서 설정가능 2. Visual Studio: 선택한 영역 한번에 주석 처리 & 제거 (도구 -> 옵션 -> 환경 -> 키보드) 에서 단축키 설정 바꿀 수 있음 Ctrl키 두번씩 누르기 싫어서 주석은 (Ctrl + B), 제거하는건 (Ctrl + G)로 설정 3. VS code, Visual Studio : Ctrl+K 누르고 Ctrl + F 누르면 자동 줄맞춤

etc/memo 2022.02.19

apt vs apt-get

요새 터미널을 진짜 자주 만진다. 그러다보니까 패키지를 설치할 일도 많은데 패키지를 설치하기 위해서 검색을 하다보면 apt를 사용하라는 경우도 있고 apt-get을 사용하라는 경우도 있다. 똑같은 패키지를 apt로도 설치하고 apt-get으로도 설치하길래 도대체 무슨 차이인가 궁금했다. 결론은 둘 다 패키지를 설치하는 명령어임은 똑같다. apt는 apt-get과 apt-cache를 부분적으로 합쳐서 새로 만든 명령어다. apt는 apt-get에 비해 옵션이 조금 부족한 대신 사용자가 보기 편하게 만들었다. apt를 사용하면 진행 상황을 알려주기 위한 표시도 있고 메세지가 조금 더 자세하게 출력된다. 일반 사용자라면 apt를 사용하는게 조금 더 보기 편하지만, 조금 더 디테일한 스크립트 작업이 필요할 때는..

etc/memo 2022.02.13