하미's 블로그
잡학다식의 지식공방
300x250

전체 글 468

TF-IDF(Term Frequency - Inverse Document Frequency) - (2)

이번 시간에는 TF-IDF를 이용하여 청와대 청원 데이터를 벡터화 시켜 보도록 하겠습니다. 실습 순서는 다음과 같습니다. train 데이터를 이용해 TF-IDF 학습(fit) 학습(fit) 된 TF-IDF를 이용해 train 데이터 변환(transform) train 데이터로 학습(fit) 된 TF-IDF를 이용해 test 데이터 변환(transform) 그럼 바로 실습을 진행해보도록 하겠습니다 #라이브러리 로딩 from sklearn.feature_extraction.text import TfidVectorizer #TF-IDF으로 train 데이터를 피처 벡터화 변환 수행 vect = TfidfVectorizer() vect = TfidfVectorizer() vext.fit(train['data']..

IT/Dacon 2021.11.19

TF-IDF(Term Frequency - Inverse Document Frequency) - (1)

이번시간에는 BOW의 TF-IDF(Term Frequency - Inverse Document Frequency)에 대해 알아 보겠습니다. 이전에 설명한 카운트 기반 벡터화는 숫자가 높을수록 중요한 단어로 인식합니다. 하지만, 단순히 단어의 빈도만 고려한다면 모든 문서에서 자주 쓰일 수 밖에 없는 단어들이 중요하다고 인식 될 수 있습니다. 이런 문제를 보완하기 위해 TF-IDF 벡터화를 사용합니다. TF-IDF는 개별 문서에서 자주 등장하는 단어에는 높은 가중치를, 모든 문서에서 자주 등장하는 단어에 대해서는 패널티를 주는 방식으로 값을 부여합니다. 예를 들어 총 5개의 문서가 있다고 가정하면, 딥러닝이라는 단어는 5개 문서에서 모두 등장하고, 머신러닝이라는 단어는 1번 문서에서만 빈번히 등장한다고 했을..

IT/Dacon 2021.11.18

테이블 결합(JOIN)

테이블 결합(JOIN) 관계는 1:1, 1:N, N:N 세가지 형태로, 테이블 간의 연결이 가능하다는 것을 의미합니다. 테이블 결합(JOIN)은 두 테이블 관계를 활용하여 테이블을 결합하는 명령어입니다. 테이블 결합을 통해 여러 테이블을 활용하여 분석이 가능합니다. ERM은 개체 관계 모델링이며, 관계형 데ㅣ터 베이스에 텡블을 모델링할 때 사용됩니다. 개체: 하나 이상의 속성으로 구성된 객체 관계: 속서들 간의 관계 ERD은 개체 간의 관계를 도표로 표현할 때 사용됩니다. INNER JOIN: 두 테이블의 공통 값이 매칭되는 데이터 결합 LEFT JOIN: 두 테이블의 공통 값이 매칭되는 데이터만 결합 + 왼쪽 테이블의 매칭되지 않는 데이터는 NULL RIGHT JOIN: 두 테이블의 공통 값이 매칭되는..

IT/[SQL] Basic 2021.11.18

데이터 조회(SELECT)

데이터 조회(SELECT) 데이터 조회는 데이터 조작어(DML)이며, 가장 많이 사용됩니다. 데이터 조회는 여러 절들과 함께 사용되어 분석에 필요한 데이터를 조회합니다. 실습 코드 USE PRACTICE; /***************FROM***************/ /* Customer 테이블 모든 열 조회 */ SELECT * FROM CUSTOMER; /***************WHERE***************/ /* 성별이 남성 조건으로 필터링 */ SELECT * FROM CUSTOMER WHERE GENDER = 'MAN'; /***************GROUP BY***************/ /* 지역별로 회원수 집계 */ SELECT ADDR ,COUNT(MEM_NO) AS 회..

IT/[SQL] Basic 2021.11.17

CountVectorizer - (2)

이번 시간에는 CountVectorizer를 이용하여 청와대 청원 데이터를 벡터화 시켜 보도록 하겠습니다. 실습 순서는 다음과 같습니다. train 데이터를 이용해 CountVectorizer 학습(fit) 학습(fit) 된 CountVectorizer를 이용해 train 데이터 변환(transform) train 데이터로 학습(fit) 된 CountVectorizer를 이용해 test 데이터 변환(transform) 그럼 바로 실습을 진행해보도록 하겠습니다 from sklearn.featrue_extraction.text import CounterVectorizer #Count Vectorization으로 train 데이터를 피처 벡터화 변환 수행 vect = CounterVector() vect.fi..

IT/Dacon 2021.11.16

CountVectorizer - (1)

이번시간에는 BOW의 카운트 기반 벡터화(CountVectorizer)에 대해 알아 보겠습니다. 카운트 기반 벡터화 Bag of Words를 설명하면서 텍스트 데이터를 숫자형 데이터로 변환하는 방법에 대해 알아보았습니다. 그와 마찬가지로, 단어에 값을 부여할 때 각 문장에서 해당 단어가 나타나는 횟수 즉, Count를 부여하는 경우를 카운트 벡터화라고 합니다. 카운트 벡터화에서는 값이 높을수록 중요한 단어로 인식됩니다. 카운트 기박 벡터화 실습 카운트 기반 벡터화는 사이킷런의 CountVectorizer 클래스를 활용하여 적용할 수 있습니다. 아래 코드 CountVectorzier를 활용하여 한 문장을 BOW로 만드는 코드입니다. from sklearn.feature_extraction.text impo..

IT/Dacon 2021.11.15

Bag of Words

오늘은 Bag of Words의 개념에 대해 알아보겠습니다. 머신러닝 모델은 텍스트로 된 변수를 바로 사용할 수 없습니다. 텍스트를 특정 의미가 있는 숫자형 값인 벡터 값으로 변환해야 되는데 이를 피처 벡터화라고 합니다. 텍스트 데이터를 벡터화하는 방법은 여러가지가 있지만, 그중 단순한 방법인 Bag of Words에 대해 알아 보겠습니다. Bag of Words(BOW) ? ? Bag of Words란 단어들의 문맥이나 순서를 무시하고, 단어들에 대한 빈도 값을 부여해 변수를 만드는 방법입니다. BOW 를 이용하여 텍스트 데이터를 숫자형 값으로 변환해 보겠습니다. 문장1: 나는 축구하는 것을 좋아합니다. 문장2: 나는 주말에 친구들을 만나 함께 축구하는 것을 좋아합니다. 그리고 나는 친구들을 만나 축구..

IT/Dacon 2021.11.12

구글 Chrome 유용한 단축키(업무 효율 극대화)

이것만 알아도 업무 효율성 증가 Ctrl+N 새 창을 열기 Ctrl+T 새 탭을 열기 Ctrl+Shift+N 시크릿 모드에서 새 창을 열기 Shift 키를 누른 상태에서 링크를 클릭합니다. 새 창에서 링크를 엽니다. Ctrl+Shift+T 마지막으로 닫았던 탭을 다시 엽니다. Chrome은 최근에 닫았던 탭을 10개까지 기억합니다. Esc 키를 누른 상태에서 탭을 드래그합니다. 탭을 원래 위치로 되돌립니다. Ctrl+1 ~ Ctrl+8 탭 표시줄에 있는 특정 위치 번호의 탭으로 전환합니다. Ctrl+9 마지막 탭으로 전환합니다. Ctrl+Tab 다음 탭으로 전환합니다. Ctrl+Shift+Tab 이전 탭으로 전환합니다. Alt+F4 현재 창을 닫습니다. Ctrl+W 현재 탭 또는 팝업을 닫습니다. Ctr..

형태소 분석기 - (3)

이번 시간과 다음 시간에는 형태소 분석기를 이용해 청와대 청원 데이터의 형태소를 분석하고 데이터의 형태소 중 조사를 제거하는 실습을 진행 해보도록 하겠습니다.데이터에서 조사를 제거하는 이유는 조사는 큰 의미를 가지고 있지 않기 때문에 오히려 분석에 방해가 될 수 있습니다.실습 순서는 다음과 같습니다.텍스트 데이터의 형태소 별로 분리형태소가 조사인 글자를 제외 하여 새로운 텍스트 생성기존의 텍스트 데이터를 새로운 텍스트로 변경# 조사를 제거하기 위함 함수 정의 def func(text): #형태소 분석 okt_pos = okt.pos(str(text),norm=True,stem=True) #조사를 제거한 새로운 문자열 정의 new_word='' for word, pos ..

형태소 분석기 - (2) 종류 및 실습

이번 시간에는 형태소 분석기의 다양한 종류를 알아보고, 실제로 텍스트를 분석하여 각각 어떤 방식으로 형태소를 분리하는지 비교해보겠습니다.형태소 분석기를 여러 개 사용하는 이유는 텍스트의 특성에 따라 성능이 뛰어난 분석기가 다르기 때문입니다. 따라서 실습을 통해 각 도구의 특성을 파악하고, 자신의 데이터에 맞는 도구를 선택하는 것이 중요합니다.이번 실습에서 사용할 분석기는 다음 세 가지입니다:OktKomoranKkma실습 순서라이브러리 설치형태소 분석기 정의텍스트 정의 및 분석 수행1. 라이브러리 설치 및 불러오기세 분석기는 모두 konlpy 라이브러리를 통해 사용할 수 있습니다.from konlpy.tag import Kkma, Komoran, Okt# 형태소 분석기 객체 정의otk = Okt()kkm ..

형태소 분석기 - (1)

형태소 분석기란?자연어 처리의 첫걸음, 형태소 분석여러분, 이런 문장을 본 적 있으신가요?“아버지가방에들어가신다.”이 문장을 읽으면 잠깐 멈칫하게 됩니다.‘아버지가 방에 들어가신다’일까요? 아니면 ‘아버지 가방에 들어가신다’일까요?바로 이런 언어적 혼동을 해결하기 위해 필요한 것이 형태소 분석입니다.형태소 분석이란?형태소 분석은 한 문장에서 어근, 접두사·접미사, 조사, 품사 등 다양한 언어 구성 요소를 잘게 나누고 그 속성을 분석하는 작업입니다. 다시 말해, 언어의 뼈대와 살을 구분하는 과정이라 할 수 있죠.왜 이런 분석이 필요할까요?그 이유는 바로 언어의 모호성 때문입니다.앞서 예시처럼 문장의 의미가 상황에 따라 달라질 수 있기 때문인데요, 이런 애매함을 줄이려면 정확한 문장 구조 파악이 필수입니다...

경기대학교 미래잡끼 장학금 자격증 리스트 (최신 2021.11.02일자)

https://job.kyonggi.ac.kr/ko/community/notice 공지사항 - 경기대학교 인재개발처 job.kyonggi.ac.kr 공지사항에 미래잡끼 관련된 글에 장학금 자격증 리스트가 최신화 됩니다. - 최신 2021.11.02일자 https://job.kyonggi.ac.kr/ko/community/notice/view/14794?p=1 [인재개발처] 미래잡끼 장학금 신규 추가 자격증 심의결과 안내 안녕하세요 인재개발처입니다. 지난 9.29일 인재개발처 홈페이지 공지를 통해( (https://job.kyonggi.ac.kr/ko/community/notice/view/14588?p=1) 10.1일부터 10.8일까지 2021학년도 2학기 미래잡끼 장학금 및 KGU+ 포 job.kyon..

취업 및 알바 사이트

잡플래닛 https://www.jobplanet.co.kr/contents NO.1 기업 정보 플랫폼 기업 전문 뉴스 컴퍼니타임스, 기업리뷰, 면접후기, 연봉, 채용, 기업 정보를 한 번에! www.jobplanet.co.kr 잡코리아 https://www.jobkorea.co.kr/ 잡코리아 - 대한민국 대표 취업플랫폼 대한민국 대표 취업플랫폼 잡코리아에서 실시간 채용정보, 맞춤채용추천, 연봉, 기업정보, 합자소 등 취업에 필요한 사이트 정보를 확인하세요. www.jobkorea.co.kr 사람인 https://www.saramin.co.kr/zf_user/ 사람인 - 내일이 더 즐거운 취업플랫폼 내일이 더 즐거운 사람인 | AI채용추천, 기업정보, 연봉정보, 면접후기 등 취업에 꼭 필요한 서비스를 만..

경기대학교 사이트 모음(빠르게 접속가능, 필요한 사이트만 모아놓음) 최신 2025년

경기대학교 홈페이지http://www.kyonggi.ac.kr/KyonggiUp.kgu 경기대학교 KYONGGI UP! www.kyonggi.ac.kr경기대 사이버강의실 lmshttps://lms.kyonggi.ac.kr/ 경기대학교 학습관리시스템KYONGGI University, Center for Teaching and Learninglms.kyonggi.ac.kr경기대 쿠티스https://kutis.kyonggi.ac.kr/webkutis/view/indexWeb.jsp KUTIS 경기대학교 종합정보시스템 kutis.kyonggi.ac.kr경기대 barun(바른)https://barun.kyonggi.ac.kr/ 경기대학교 학생역량통합관리시스템 (BARUN) barun.kyonggi.ac.kr경기대..

특정 텍스트 제거 - (5)

이번시간에는 이전에 배웠던 특정 텍스트를 제거하는 방법을 이용해 청와대 청원 데이터에서 불필요한 텍스트를 제거해 보겠습니다. 청와대 청원 데이터를 살펴보면 아래 사진 처럼 \\n 와 같은 문자열이 많이 보입니다. 해당 문자열은 줄바꿈을 나타내는 의미이며, 텍스트에서 불필요한 문자열이기 때문에 데이터 분석에 방해가 되지 않게 제거해주도록 하겠습니다. train_data[0] 모든 train데이터에 한번에 replace 함수를 적용하기 위해서는 apply() 함수, lambda() 함수를 함께 사용하면 됩니다. 사용방법은 아래와 같습니다. import pandas as pd train=pd.read_csv('data/train.csv') test=pd.read_csv('data/test.csv') train..

IT/Dacon 2021.11.08

특정 텍스트 제거 - (4)

이전 시간에 이어 특정 텍스트를 제거하는 방법에 대해 알아보겠습니다. 이번 시간에 알아 볼 방법은 'isdecimal()' 메소드를 사용하는 방법입니다. -isdecimal() isdecimal()는 해당 문자열이 0~9까지의 수로 이루어진 것인지 검사합니다. 다시 말해, int로 바로 변환할 수 있는 수 인지를 검사합니다. 따라서 문자열이 0~9까지의 수로 이뤄졌을 경우 True를 변환하고, 그렇지 않으면 False를 반환합니다. 사용방법은 저번 시간에 배운 isalnum()과 동일합니다. # isdecimal 메소드를 이용해 output에 해당하는 값이 출력 되도록 특정 문자열을 제거 해보세요. string = "1-2$3%4 5a" # output : 12345 #isdecimal를 이용해 알파벳값..

IT/Dacon 2021.11.07

특정 텍스트 제거 - (3)

이전 시간에 이어 특정 텍스트를 제거하는 방법에 대해 알아보겠습니다. 이번 시간에 알아 볼 방법은 'isalnum()' 메소드를 사용하는 방법입니다. - isalnum() isalnum() 메소드는 문자열의 문자가 알파벳(A to z) 및 숫자(0~9)인지 확인하는데 사용됩니다. 문자열에 알파벳 혹은 숫자가 포함된 경우 True 값이 반환됩니다. 사용방법은 저번 시간에 배운 isalpha()와 동일합니다. # isalnum 메소드를 이용해 output에 해당하는 값이 출력 되도록 특정 문자열을 제거 해보세요. string="year : 2021, month : 09, day : 24" # output : year2021month09day24 #isalnum를 이용해 알파벳값만 담을 리스트 isalnum_..

IT/Dacon 2021.11.06

특정 텍스트 제거 - (2)

저번 시간에 이어 특정 텍스트를 제거하는 방법에 대해 알아보겠습니다. 이번 시간에 알아 볼 방법은 'isalpha()' 메소드를 사용하는 방법입니다. - isalpha() isalpha() 메소드는 문자열에 알파벳이 포함되어 있는지 여부를 확인할 때 사용됩니다. 문자열에 알파벳만 포함된 경우 True 값이 반환됩니다. # isalpha 메소드를 이용해 해당 하는 출력값이 나오도록 문자열을 변경해 보세요. string = "Hello$@Python3&" #isalpha를 이용해 알파벳값만 담을 리스트 isalpha = [] #isalpha를 이용해 알파벳값인지 판별 for c in string: if c.isalpha(): isaplha_list.append(c) # join() 메소드를 이용해 알파벳값 ..

IT/Dacon 2021.11.05

특정 텍스트 제거 - (1)

이번 시간 부터 텍스트 데이터에서 특정 텍스트를 제거하는 4가지 방법에 대해 알아 보겠습니다. 특정 텍스트를 제거하는 작업은 텍스트 데이터를 다룰 때 꼭 필요한 작업입니다. 예를 들어 ★,<,※ 와 같은 특수 기호나, , & 와 같은 html,xml 태그 등 몇몇 텍스트는 오히려 모델의 성능에 방해가 되는 요소이기 때문에 제거해주는 것이 좋습니다. - replace() 첫 번째로 알아 볼 방법은 replace() 메소드를 사용하는 방법입니다. replace() 메소드는 특정 문자를 새로운 문자로 변경(제거)하는 기능을 가지고 있습니다. 사용방법은 문자열. replace(old,new,[count]) 형식으로 사용할 수 있습니다. - old: 현재 문자열에서 변경하고 싶은 문자 - new: 새로 바꿀 문자..

IT/Dacon 2021.11.04

텍스트 데이터 전처리 개요

이번 시간부터는 텍스트 데이터를 전처리하는 과정에 대해 배워보겠습니다. 우선, 텍스트 데이터 전처리에는 정해진 정답은 없으며 데이터와 목적에 따라 달라집니다. 이 과정은 주로 모델의 입력인 단어, 문장, 문서의 vector를 만들기 전에 진행됩니다. 1. 클렌징 텍스트 데이터에서 분석에 오히려 방해가 되는 불필요한 문자나 기호 등을 분석 전에 제거하는 방법입니다. 예를 들어, ★,<,※ 와 같은 특수 기호나, , & 와 같은 html,xml 태그 등을 제거 합니다. 2. 필터링/ STOPWORD 지정 대회의 목적과 분석자의 재량에 따라 불필요한 단어나 분석에 큰 의미가 없는 단어를 STOPWORD(불용어)로 설정 후 데이터에서 제거해주는 과정입니다. 3. 토큰화(Tokenization) 형태소 분석을 통..

IT/Dacon 2021.11.03

unique value 값 개수 출력(value_counts()

데이터 프레임에서 각 column별 고유값의 개수를 구하기 위해서는 value_counts() 함수를 이용하면 됩니다. value_counts()는 어떤 컬럼/Seires의 uniqu 한 value 들을 count 해주는 함수 입니다. value_count() 함수를 이용하면 출력값 으로 인덱스가 unique value로 값은 count가 들어가 있는 Series가 출력 됩니다. 예를 들어 데이터프레임(df) 에서 category 라는 컬럼이 있다면 df['category'].value_counts() 로 category 컬럼의 고유값의 개수를 출력 할 수 있습니다. 보통 value_counts() 함수는 데이터에서 label 값들의 비율을 확인 할 때 많이 사용합니다. import pandas as p..

IT/Dacon 2021.11.01

데이터 결측치 확인하기 - (isnull().sum()) | 파이썬 | 판다스

왜 결측치 탐색이 중요한가?결측치(Null, NaN)는 데이터 분석 과정에서 반드시 확인해야 할 첫 번째 항목이다. 그대로 두면 모델 성능이 떨어지고 통계 분석 결과도 왜곡된다. 다행히 파이썬의 판다스(Pandas)는 결측치를 손쉽게 탐색하고 집계할 수 있는 함수를 제공한다. 그중 가장 직관적인 조합이 바로 아래 한 줄이다.DataFrame.isnull().sum()이 글에서는 이 한 줄이 왜 강력한지, 그리고 실무에서 어떻게 응용할 수 있는지 단계별로 정리한다.1. isnull()로 결측치 위치 확인import pandas as pddata = { 'name': ['Alice', 'Bob', None, 'Dave'], 'age' : [25, None, 32, 29], 'city': ['..

데이터 확인하기 - (head(),tail())

pandas에서 데이터를 확인하는 방법을 여러가지가 있습니다. 그 중 가장 쉽고 단순하게 데이터를 확인할 수 있는 메서드는 head()와 tail() 메서드를 활용하는 방법이다. head(n=5) DataFrame의 처음 n줄의 데이터를 출력 n의 기본값은 5이면 아무 입력이 없을 경우(ex.head()) 5줄을 기본으로 출력합니다. tail(n=5) DataFrame 내의 마지막 n줄의 데이터를 출력 n의 기본값은 head()와 동일하게 5이며, 아무 입력이 없을 경우(ex.tail()) 하위 5줄을 기본으로 출력합니다. #train 데이터의 상위 5개 행 출력 train.head() #train 데이터의 상위 7개 행 출력 train.head(7) #train 데이터의 하위 3개 행 출력 train...

IT/Dacon 2021.10.30

index=False, 데이터를 저장할 때 index 제외하고 저장

파이썬에서 데이터 파일을 내보내기 위해서는 pandas 라이브러리의 to_csv() 함수를 사용하면 손쉽게 데이터를 저장할 수 있습니다.DataFrame.to_csv('경로/파일명.csv')위와 같이 사용하면 지정한 경로에 CSV 파일이 저장됩니다.하지만 to_csv() 메서드를 별도 옵션 없이 사용할 경우, 데이터프레임의 인덱스가 자동으로 포함되어 저장됩니다.예를 들어, 아래와 같이 저장하면df.to_csv('sample.csv')CSV 파일의 첫 번째 열에 인덱스가 추가되어 저장됩니다.이는 대부분의 경우 불필요할 수 있기 때문에, 인덱스를 제외하려면 다음과 같이 index=False 옵션을 명시해주어야 합니다.✅ 인덱스를 포함하지 않고 저장하는 방법import pandas as pdtrain.to_c..

300x250
300x250