본문 바로가기

AI/Python

(23)
주피터 노트북에서 멀티프로세싱 사용 다중분류용 학습 데이터를 수집하는 과정 중 수만개의 json 파일에서 텍스트를 추출하던 중 병렬처리의 필요성을 느껴 검색을 해봄. json 의 구조나, EDA 수행에는 터미널보다 주피터 노트북이 유용함. 기존에 말뭉치 전처리를 위해 터미널에서 병렬처리 라이브러리인 ray 를 활용한 적이 있었으나, 주피터 노트북에서 병렬처리를 해본 적은 없었음. 결론. 주피터 노트북에서 병렬처리을 사용하려면, 메인 함수를 외부파일로 빼고, 해당 함수를 불러와서 수행해야 함. 병렬 처리 전 json 파싱 시간 (json 파일 총 66097개) : 237.5초 병렬 처리 후 json 파싱 시간 (json 파일 총 66097개) : 6.9초 from multiprocessing import Pool from tqdm impor..
파이참에서 터미널을 아나콘다 가상환경으로 설정 파이참에서 터미널을 아나콘다 가상환경으로 설정하는 방법 pycharm 실행 후 File -> Setting -> Tools -> Terminal -> Application Settings -> Shell path 해당 위치에 cmd.exe c:\ProgramData\Anaconda3\Scripts\activate.bat { 실행할가상환경 이름 } 을 입력 후 하단 Apply를 클릭 세팅을 하고 터미널 실행을 하면 아래와 같이 가상환경으로 터미널이 실행된다.
NoneType check 파이썬에서 NoneType 체크 is 연산자 활용 if variable is None: ... if variable is not None: ... 변수 유형 체크 name = None # True --> name = 12 if type(name) != type(None): print(name) else: print("Can't find name")
Anaconda 가상환경 1. Anaconda 설치 2. Anaconda Prompt 실행 3. 가상환경 생성 $ conda create -n 가상환경이름 python=버전 생성된 가상환경은 아나콘다가 설치된 경로 Anaconda3/envs/ 에 들어가면 확인 가능 또는 자신이 만든 가상환경 확인 명령어로 경로 확인 가능 $ conda info --envs 4. 가상환경 활성화 $ conda activate conda_test 5. 가상환경 비활성화 $ conda deactivate 6. 가상환경 라이브러리 확인 - 가상환경 활성화 상태에서 다음 명령어로 확인 $ conda list 7. 가상환경 복제 - 기존 가상환경과 똑같은 환경 생성 $ conda create -n 생성할가상환경이름 --clone 복사할가상환경이름 8. 가..
NLP 학습을 위한 기본 지식 #한국어의 단위 음운 < 음절 < 형태소 < 단어 < 어절 < 문장 음운 - 말의 뜻을 구별해 주는 소리의 자강 작은 단위 - '음소'와 '운소'로 이루어짐 - '음소'는 자음(ㄱ,ㄴ,ㄷ,ㄹ,..)과 모음(ㅏ,ㅑ,ㅓ,ㅕ...)를 말함 - '운소'는 자음, 모음을 제외하고 말의 듯을 달라지게 해주는 요소 - 소리의 길이(장단), 소리의 세기(강세), 높낮이(성조)등 음절 - 한번에 발음할 수 있는 말소리의 가장 작은 단위 - 우리가 한 글자라고 부르는 것과 음절 단위가 같다. - 예로 저녁먹었니? 는 다섯 글자로 이루어져있고, 다섯 개의 음절로 이루어져 있다. 형태소 - 뜻을 가지고 있는 말 중 가장 작은 단위, 더 나눌 수 없는 단위 - '풋사과'를 형태소 단위로 나눈다면 '풋' 과 '사과' 로 나눌 수 있음 - '잘 ..
Python #데이터 전처리 데이터 전처리란(Data preprocessing)? - 무질서하게 수집된 데이터셋을 분석이 가능한 상태로 만드는 행위 - 특정 분석에 적합하게 데이터를 가공하는 행위 - 일상이나 업무상황에서 발생하는 데이터는 분석이나, 머신러닝, 딥러닝 등 AI 학습에 적합하지 않은 경우가 많기 때문에 적합하게 가공하는 행위 1. 문제 정의 데이터 분석 프로세스에서 가장 중요하고 어려운 단계. 데이터 분석을 진행하다가도 문제 자체가 제대로 설정되지 않는다면 처음 단계로 되돌아오는 경우가 자주 발생하고, 의미없는 분석으로 시간과 재화만 낭비하기 쉽다. - 데이터 분석의 대상과 분석의 목적이 명확해야함 - 정의된 문제를 해결하기 위한 구체적인 계획이 수립되야 함 - 문제를 정의할 분야에 대한 전문적 지식이 필요함 - 모든..
Python #정규식 #정규 표현식 정규 표현식(Regular Expressions), 정규식 - 복잡한 문자열을 처리할 때 사용하는 기법 - 파이썬 뿐 아니라 문자열을 처리하는 모든 곳에서 사용 - 정규식을 사용하면 찾거나 바꿔야 할 문자열의 규칙이 복잡하더라도 코드를 간결히 줄일 수 있다. 정규 표현식 기초 정규식에는 다음의 문자가 특별한 용도로 사용된다. *메타문자 라고도 부름 . ^ $ * + ? { } [ ] \ | ( ) 문자 클래스 [ ] - [ ] 사이 문자들과 매치 - [123] 이라면, 1, 2, 3 중 하나의 문자와 매치를 의미. - 하이픈 "-" 을 사용 [1-3] 으로 동일하게 표현 가능 예) 정규식 [19] 표현 으로 정규식 sub 매서드를 사용, data 문자열에서 1과 9가 있다면 "교"로 교체 #문자 클래스 ..
Python #파이썬의 대모험 02 용사 '파이썬'의 시스템 도우미 설계 당신은 이세계로 소환된 용사 '파이썬'의 시스템 도우미이다. 당신의 도움이 없다면 험난한 이세계에서 '파이썬'은 성장도 하지 못하고, 길을 잃고 쓰러지게 될 것이다. 문제 1 파이썬의 대모험 1에서 파이썬은 몬스터와 마주치기만 했다. 파이썬은 몬스터와 친구가 아니니 전투를 시켜보자. 파이썬은 dmg 와 health를 가진다. 몬스터는 dmg와 health를 가진다. 파이썬의 dmg는 100, health는 1000이다. 몬스터의 dmg와 health는 각 몬스터별로 고블린(50,100), 트롤(80,200), 늑대(40, 80)이다. 파이썬이 몬스터와 만나 전투를 하게 되면 서로 동시에 공격한다. 파이썬과 몬스터는 각각 데미지로 각각의 체력을 깎는다. 1라운드 전투 ..

반응형