Programming
-
[Python] outlier 찾기, 마할라노비스 거리 계산 (실전)Programming/Python 2022. 12. 28. 13:51
마할라노비스 거리에 대한 설명은 이전 글 참조! import numpy as np from scipy.spatial import distance 넘파이와 마할라노비스 거리 계산을 위한 scipy 모듈을 추가한다 만약 에러가 나온다면 터미널에 pip install scipy로 모듈을 다운받는다. X = np.zeros((len(dy_o),2)) for a in range(0, len(dy_o)): X[a][0] = a X[a][1] = dy_o[a] 마할라노비스 거리 계산하는 함수의 사용을 위해 데이터를 array 형태로 만들어주어야 한다. 나는 x,y를 가지는 2차원 배열 형태로 만들어 주기 위해 위처럼 작성하였다. 이미 가지고 있는 데이터 array인 dy_o갯수만큼의 행을 가진 영행렬로 초기화를 한 ..
-
[Python] Outlier(이상치) 찾기 , 마할라노비스 거리 (이론)Programming/Python 2022. 12. 28. 12:23
이상치에 대해 정리된 문서 이상치 탐색을 위한 통계적 방법과 활용 방안.pdf (hira.or.kr) 내가 사용하는 알고리즘에서 outlier를 계산하는 부분의 문제를 발견하였다. 위의 그림에서 맨 밑의 파란 점(outlier)을 제거하면 주황색 선이 더 효율적인 모양으로 바뀔 것이다. 그래서 나는 처음에 z-score라는 방법으로 outlier를 계산했었다. 위 그림처럼 z-score값을 그래프로 나타낸 후, 내가 지정한 threshold값을 넘는 것을 outlier로 판단하였다. 그런데! 여기서 문제가 발생했다. 아래 그림을 보자. 이러한 케이스에서 가로축 60에 가까운 데이터들이 전부 outlier로 판단되는 상황이 발생하였다. 물론 이 상황은 내가 원하던 게 아니다. 그래프의 경향에서 크게 벗어난..
-
[VS Code + Python + PyQt5] Python 확장의 디버거는 3.7이전의 Python 버전을 더 이상 지원하지 않습니다. (파이썬 버전 변경 후 라이브러리 오류)Programming/PyQt 2022. 12. 14. 17:41
기존에 vs code에서 python 3.6버전으로 pyqt5 작업을 하고 있었다. 근데 어느 순간 갑자기 빌드가 안됨... 3.6 버전은 지원 안해준다고 함 .. 하는 수 없이 3.7버전으로 올려야 하는 상황. 윈도우 기준 F1 키를 눌러서 인터프리터라는 녀석을 변경해준다. 🔽관련내용 [python] Visual Studio code 파이썬 인터프리터 변경 (tistory.com) [python] Visual Studio code 파이썬 인터프리터 변경 요약 1. Ctrl + Shift + P 키 클릭 2. "Select interpreter" 타이핑 후 엔터 3. 인터프리터 리스트 중 사용할 인터프리터를 클릭 상세 파이썬 편집기를 VS code를 사용하고 있습니다. 웹 크롤러를 requests 라이브..
-
[Visual studio & C++] dll이 없어 코드 실행을 진행할 수 없습니다. dll 링킹하는 두 가지 방법 정리Programming/C++ 2022. 12. 8. 15:53
비주얼 스튜디오에서 빌드까지는 잘 되었는데, exe파일을 실행하려고 할 때 dll 에러가 난다면? 링크 에러가 나오게 된다. 🟡방법 1 exe파일이 있는 위치에(폴더에) 없다고 하는 dll파일을 복사해서 넣어준다. 🟡방법 2 (방법 1의 경우 dll파일이 여러개가 되면 폴더가 지저분해짐... dll복사 없이 바로 링크해주는 방법이다) 시작 프로젝트(내가 실행하려는 프로젝트) - 속성 - 디버깅 - 환경 (영어로는 위와 같다) path=(dll폴더가 있는 path);%PATH% 이때까지 방법1로 하고 있었는데 2로하니까 아주 깔끔해짐.. 참고링크 [C++ DLL] Visual Studio C++ 암시적 링크하기 (예제 포함) (tistory.com) [C++ DLL] Visual Studio C++ 암시적..
-
[Excel] 문서작성할 때 팁 정리Programming/Etc. 2022. 12. 7. 14:39
기억할만한 좋은 단축키, 팁 등을 정리해본다. Excel 1️⃣ 서식복사 - 클립보드 복사 밑에 위치. 두번 클릭하면 계속 그 서식을 적용할 수 있다. 엑셀의 서식 복사, 단축키 만들기 : 네이버 블로그 (naver.com) 엑셀의 서식 복사, 단축키 만들기 안녕하세요 오늘은 엑셀의 기본 기능 중, 서식 복사 기능을 알아보겠습니다. 모든 프로그램에서 복사하기 /... blog.naver.com 2️⃣ 같은 셀에서 줄 바꾸기 Alt + Enter 계속 정리 중 ...
-
[C++] 자체제작 알고리즘 문제Programming/C++ 2022. 11. 30. 18:38
지난번 BSpline 관련 작업하면서 발생한 문제가 있는데 특이하여 기록해본다. frame 0 1 2 3 4 5 … new[i].x 0 2.3 2.7 3.5 4.5 5 … new[i].y 0 11 12 16 18 30 … 이런식의 데이터가 존재한다고 해보자. frame 은 int형이고, new는 vector형이다. 내가 하고싶은 것은 new[i].x가 정수인 new[i].y 의 값을 찾는 것이다. 예를 들어, new[1].x = 2.3이고 new[1].y = 11, new[0].x = 0, new[0].y =0 이런 상황에서 frame = 1일 때, new[].y 의 값을 찾는 것이다. 처음에는 이런 방식으로 코드를 짰다. for( i++){ if( frame
-
[C++] 포인터 *, & 헷갈릴 때 마다 보는 글Programming/C++ 2022. 11. 18. 15:57
🔹 기초설명 C언어 포인터 : 네이버 블로그 (naver.com) 빛나는 작업실 : 네이버 블로그 작곡하는 개발자 blog.naver.com 천천히 정독하고 나면 조금 이해됨.. 🔹 구조체의 포인터 [C언어/C++] 구조체 포인터 사용법 & 예제 총정리 (tistory.com) [C언어/C++] 구조체 포인터 사용법 & 예제 총정리 구조체에서 포인터가 사용되는 경우는 아래와 같이 크게 3가지로 구분됩니다. 1. 멤버 변수로 포인터 사용하기 2. 구조체 변수로 포인터 사용하기 3. 구조체 간의 상호 참조 멤버 변수로 포인터 coding-factory.tistory.com
-
(내가 겪어본) 코딩 시 주의할 점 정리 (with C++)Programming/코딩공부 2022. 11. 14. 18:49
1️⃣소수점이 있는 값을 int로 변환할 때 문제가 생기는 경우 (벌써 2case이상 이 문제가 나왔음) 2️⃣&&와 || (and와 or)을 헷갈려서 입력하여 원하는 대로 출력되지 않는 경우 (은근히 이런 실수가 있었음) 3️⃣나누기 연산에서 나누는 값이 0이 되지 않도록 (너무나 당연한 이야기지만 은근 이런 케이스가 있음. 반드시 예외처리 하자) 4️⃣ while() 반복문 사용할 때 조건문을 주의할 것. 조건문이 false일 때, 루프를 빠져 나간다. 만약에 조건문 안에 조건이 2가지 이상이라면 차라리 while(1){ // code if(조건1 || 조건2) break; } 이렇게 무한 루프를 돌리고 조건문을 while내부에서 만들어 break를 타고 빠져나오게 하는게 직관적이다. 계속 추가 예정!!
-
회사 ip LAN 인터넷 안될 때 해결 방법Programming/Etc. 2022. 11. 11. 16:19
잘 되던 회사 LAN이 갑자기 끊김..... 해결 과정 1. 랜선 교체 2. 모뎀 on/off 3. 컴퓨터 재부팅 4. 네트워크 초기화 5. ip교체 4번까지 해도 안되길래 검색해보니 하드웨어 문제라고 초기화하라는 말도 있었다. 개발중인 내용이 많아서 컴 초기화 하기에는 너무 ...ㅡㅡ 근데 ip를 다른 번호로 교체했더니 바로 됨... ip 충돌로 인한 문제였다. (누가 범인일까...) 괜히 pc만 초기화할뻔. ip교체할때는 다른 사람과 겹치지 않도록 ip사용 목록을 참고하도록 하자.
-
(나를 위해 정리하는) 프로그램(Daemon) 배포시 기억할 것 정리Programming/코딩공부 2022. 10. 28. 18:30
프로그램(데몬)을 배포 시에 기억해야 할 사항들을 나 자신을 위해 기록하려고 한다. 가장 중요한 것 : 배포 전에 충분한 테스트하기 ☝원래 되던 것은 그대로 잘 되어야 함. 새롭게 업데이트되는 것도 제대로 적용되는지 확인해야 하지만 업데이트 부분에만 집중하다 보면 원래 되던 것이 안 되는 불상사가 발생할 수 있다. 매번 똑같은 데이터로 확인을 해야 하는데 이 과정을 Unit Test를 만들어서 정리해 놓으면 편하다. 나는 엑셀로 만들어서 정리해놓고 버전 업데이트마다 해당 내용들을 체크한다. ↪확인 항목 예시 1. Function (기본적인 기능) 2. Interface (UI나 API가 잘못-예외적으로-입력된 경우에 프로그램이 죽거나 하지 않도록, 제대로 에러 메세지를 출력해야 함) 3. Algorith..