언어/Python (37) 썸네일형 리스트형 Pytorch 설치 전 - 왜 CUDA를 설치하는가? CUDA를 설치하지 않아도 Pytorch의 설치는 가능하다.하지만, 이 경우 딥러닝 연산에 CPU만 사용하기 때문에 병렬적인 연산이 많이 필요한 작업에서 어려움이 있다. 그럼 병렬 연산은 왜 중요한가? 병렬 연산컴퓨터에서 필수적인 부품이자 컴퓨터의 뇌라고 하는 CPU에는 코어라는 것이 한 개 이상 존재한다. (보통 4~16개 사이) 코어는 간단히 말하면 뇌에서 여러 가지 일을 동시에 처리하기 위한 기관이다.8개 코어가 있다면 동시에 8개의 일을 처리할 수 있는 것이다.여러 코어가 동시에 작업하는 것을 병렬적으로 처리한다고 한다. 사람이 하는 일로 직관적인 예를 들어보자면,코어가 2개인 CPU로 일을 한다는 것은 양뇌가 발달한 한 사람이 양 손을 써서 한 손으로는 편지를 쓰고 한 손으로는 논문을 쓴다고 생.. Class 공부 (클래스 기본개념) Class란?객체 지향 프로그래밍(Object-Oriented Programming: OOP)의 핵심요소클래스는 데이터와 함수를 하나의 재사용 가능한 블록으로 묶는 방법을 제공함이를 통해 데이터 구조를 모델링하고 복잡한 기능의 개발이 가능 Class의 기본 개념클래스: Object의 프로토타입. class라는 키워드를 사용해 정의함class 클래스명:class MyClass: 인스턴스: 클래스에 의해 생성된 객체클래스는 실체가 없이 정의된 것이지만, 인스턴스는 실체가 만들어진 것클래스가 설계도라면 인스턴스는 이 설계도에 따라 만들어진 실제 '건물'# 클래스로 인스턴스를 생성함MyInstance = MyClass() 속성(Attributes): 클래스 내부에 정의된 변수클래스의 상태를 저장함class .. pandas warning 해결 (Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0)) 어느날, 판다스를 불러왔는데 DeprecationWarning: Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0), (to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries) but was not found to be installed on your system. If this would cause problems for youBUILD: 요런 에러같은 메시지가 떴다. 데이터프레임은 잘 불러왔는데 이게 떠서 무슨일인가 싶어서.. 02/03 배운 것: isin, str.contains로 쉽게 필터링할 수 있다 11/27 배운점 공모전 내용을 언급하면 혹시나 누가 보고 문제 삼을까봐 대회 끝날 때까지 내용은 둘러서 남겨야겟다. 1. 변수 하나의 의미를 잘못 알고 있었는데, 문제가 없어서 그냥 신경 안 쓰고 있다가 의미를 알게 되고 전체적인 변수 수정이 필요하다는 걸 깨달았다. 영향이 클지는 모르겠는데 전처리 과정이 훨씬 더 복잡해졌다. 시행착오가 더 늘어나는 것 같은데 배우는 과정으로 생각하게 되었다. 특히 eda를 항상 제대로 하고 시작해야겟다는 것을 느꼈다. (그러니까 서둘러서 했어야지) 2. 어제 내가 낸 피처 아이디어 적용한 모델은 오버피팅이 너무너무 심해서 교란변수인 것으로 생각됨. 훈련데이터에만 잘 맞는 피처라니 좀 슬픔.. 3. 드랍아웃이 높다고 오버피팅이 무조건 방지되는 건 아니다. 4. 1번 문제를 해결했다고 생.. 11/26 공모전 준비하며 배운점 + 느낀점 (잊지말자 reset_index) 1. pickle을 써서 저장하고 load하기 2. 데이터프레임 itertuples()로 for문 돌리기 가능 근데 이렇게 하다보면 에러는 아닌데 크래쉬 문제가 난다고 해놓고, 문제없이 돌아간다. 문제가 있는데 모르고 지나가는 건가? -> 검색해보니 출력데이터 초과시 생기는 문제라고 함. 즉 print()문 안 쓰면 안 생길 문제였음 만약에 바로 출력 내용 보고싶으면 cmd 창에서 jupyter notebook --NotebookApp.iopub_data_rate_limit=1.0e10 이거로 리밋 해제하면 됨 3. 사용자별, 아이템별 계산 한 내용을 딕셔너리로 저장하려고 itertuples()로 데이터프레임을 반복문 돌린 다음에, 튜플로 (사용자인덱스, 아이템 인덱스)를 묶어서 딕셔너리꼴로 저장했다. .. 11/23 배운점 파이썬을 오랜만에 해서 다시 감 잡는중 1. reset_index()로 한 셀에 있는 행을 여러 행으로 나눌 수 있다. drop 옵션 설정하면 인덱스로 세팅한 열을 삭제함. 2. groupby('칼럼').apply(함수): 칼럼별로 그룹지은 다음 함수 그 데이터에 계산 해줌 groupby 함수를 사용한 경우 object가 dataframe이 아님 3. drop_duplicates('칼럼'): 칼럼의 행을 확인해서 중복되는 모든 행을 drop 4. 피처 임베딩 이해중 11/15 배운점 (얕은 복사와 깊은 복사, 오버리프 그림 불러오기 문제) 1. copy함수 여태까지 copy() 함수를 쓰면 독립적으로 복사가 된다고 알고 썼다. 그런데 오늘 문제를 풀다가 copy를 평소처럼 써서 리스트를 새로 만들었는데 자꾸 복사해온 리스트 원소가 바뀌었다. 알아보니 그동안 잘못된 사용을 하고 있던 것이고 문제가 없다고 착각을 했던 것 같다. copy함수는 얕은 복사로 객체 전체를 복사한 것이 아니라 메모리주소만 복사한 것이라서 copy한 변수를 바꾸면 원 변수에도 영향을 미친다고 한다. 이것은 immutable한 객체에는 영향이 없는데 mutable한 객체에 영향을 미칠 수 있다. 그래서 리스트를 사용할 때 문제가 될 수 있었고, 세트, 딕셔너리 모두 마찬가지로 문제가 발생할 수 있다.얕은 복사의 방법은 내가 사용한 .copy()함수부터, = 을 사용하여.. 11/14 배운점 1. 난 그동안 파이썬 경로 막 써와서 몰랐는데 ./ 이 경로는 현재 경로를 의미하고 ../ 이게 현재 경로에서 한단계 이전 경로로 돌아가는 것.. 이걸 모르고 살았으니,, 난 멍청이가 맞다. 2. cuda 메모리가 꽉차는 거로 나왓다. (CUDA out of memory) 그런데 아래에 보면 memory usage가 N/A로 나왔다. 이 문제가 아마도 cuda 11.7을 쓰는데, 가상환경에는 cuda에 맞지 않는 torch, torchvision, torchaudio 버전을 설치해서 발생한 오류인 것으로 보인다고 했다. 그래서 pytorch 들어가서 확인해보았다. run this command를 복붙해서 실행하여 새로운 pytorch 버전을 받았다. (근데 이미 설치된 pytorch 어떻게 안하고 해도.. 11/14 문제는 문제고 실행은 실행이다 일단 어제 발생한 가상환경 경로 문제는 이전에 내가 아나콘다 프롬프트 실행 시 경로를 D드라이브로 바꿔놓은 것 같고, 그걸 다시 되돌리고 싶은데, 구글에서 검색해보면 나오는 일반적 방법인 아나콘다 프롬프트 속성에서 %HOMEPATH% 이걸 D드라이브로 바꿔놓은 게 아니라서 되돌리는 법을 못 찾겠다. 그래서 그냥 이대로 D드라이브에 가상환경을 생성하기로 했다. 굳이 되돌려 놓는다해도 어차피 C드라이브 용량 부족해서 문제될 것이 많기 때문이다. 그럼 이제 문제는.. 다른 C드라이브에 있는 가상환경은 requirements.txt 파일만 제자리에 있으면 pip install -r requirements.txt를 실행했을 때 실행이 자동적으로 진행이 되는데,, D드라이브에 새로 생성한 녀석은 저 텍스트 파일을 .. 11/13 배운점보다 의문점 (가상환경 경로 문제 어떡하지..) 1. requirements.txt라는 파이썬 라이브러리와 버전이 적혀있는 텍스트 파일을 준다면, 이것을 한번에 받는 법. -> pip install -r requirements.txt 여기서 중요한 점은 아나콘다 프롬프트에 내가 생성한 가상환경의 경로에 해당 텍스트 파일을 갖다놔야 설치가 진행된다. 2. 가상환경에 설치되어 있는 라이브러리 확인 방법 : pip freeze 하 근데 옛날에 가상환경 만드는 경로 바꿔놨던게 잘못됐는지 오류가 난다... requirements.txt 인스톨 다 하고 주피터노트북에서 커널 바꿔서 라이브러리 임포트 하려니까 바로 막히는데.. 일단 오늘은 여기까지만 하고 다른 일을 해야할 것 같다... [kaggle] Credit Card Fraud Detection 코드 보고 연습 (2) ww.kaggle.com/janiobachmann/credit-fraud-dealing-with-imbalanced-datasets Credit Fraud || Dealing with Imbalanced Datasets Explore and run machine learning code with Kaggle Notebooks | Using data from Credit Card Fraud Detection www.kaggle.com I. 데이터 살펴보기 1) 데이터에 대한 이해 II. 전처리 1) 스케일링 2) 데이터 나누기 III. 랜덤 언더샘플링과 오버샘플링 1) 상관관계 2) 이상치 확인 및 제거 3) 차원축소와 군집화 (t-SNE) 4) 분류기 5) 로지스틱 회귀 깊이 알아보기 6) SMOTE를 .. [kaggle] Credit Card Fraud Detection 코드 보고 연습 (1) www.kaggle.com/janiobachmann/credit-fraud-dealing-with-imbalanced-datasets Credit Fraud || Dealing with Imbalanced Datasets Explore and run machine learning code with Kaggle Notebooks | Using data from Credit Card Fraud Detection www.kaggle.com 위 캐글러의 코드를 사용해 신용카드 부정사용 여부를 탐지하는 알고리즘을 공부해보려 한다. 일반적으로 신용카드사에서는 FDS(Fraud Detection System)라고 불리는 이상거래 탐지 시스템을 두고 있다고 한다. 카드 사용을 실시간으로 검토해 평상시 고객의 거래/사용.. [Python] 파이썬에 tensorflow 설치하기 (매우 간단) activate 가상환경 pip install --upgrade pip conda install tensorflow 1. 관리자 권한으로 아나콘다프롬프트 실행 2. activate 가상환경 2. pip install --upgrade pip 입력해서 pip 업그레이드 3. conda install tensorflow 끝! 옛날에 이 간단한 설치가 안돼서 수업시간에 텐서플로 설치를 못하고 조교님이랑 같이 쩔쩔맨 적이 있다. 자꾸 오류가 나서 결국 전부 모조리 삭제하고 재설치해서 어찌어찌 해결했는데.. 아직도 그 오류의 원인이 궁금하다. [Python] imblearn 패키지 설치 (매우 간단) 불균형 데이터를 다루기 위한 패키지 imblearn 패키지는 imbalanced-learn으로 설치하면 된다. pip install -U imbalanced-learn 끝! [개념] Python Numpy에 대해 이해해보자 3 (array 데이터자료형, 자료형 지정, 형식 변환, 기본 자료형과 Numpy 자료형의 차이) rfriend.tistory.com/285?category=675917 [Python NumPy] ndarray 데이터 형태 지정 및 변경 (Data Types for ndarrays) 이번 포스팅에서는 Python의 NumPy 모듈을 사용해서 - 데이터 형태 지정 (assign data type) : - 데이터 형태 확인 (check data type) - 데이터 형태 변경 (convert data type) 하는 방법을 소개하겠습니다.. rfriend.tistory.com (오늘의 공부내용은 위 블로그의 내용을 그대로 참고했습니다.) Numpy 패키지는 수치해석을 위한 라이브러리인만큼 숫자형 자료형을 더욱 자세히 나누어 놓은 자료형이 존재한다. 같은 int형이지만 뒤에 bit 단위가 붙게 되는데 예를.. 이전 1 2 3 다음