반응형

전체 글 139

NSMC 영화리뷰 데이터 감성분석(Sentiment Analysis) - Word2Vec + LSTM

데이터 EDA 데이터 셋에는 id, document, label이렇게 세개의 칼럼이 있다. 학습에 필요한 부분은 document(리뷰텍스트)와 label(부정:0, 긍정:1) 이 두 칼럼데이터 이다. # 네이버 영화리뷰 데이터 불러오기 train = pd.read_table(r"data\nsmc\ratings_train.txt") test = pd.read_table(r"data\nsmc\ratings_test.txt") train.head() 학습데이터 150000, 테스트데이터 50000개로 총 200000개의 영화리뷰가 있다. 라벨은 50:50으로 균형 # 데이터 개수 print(train.shape) # (150000, 3) print(test.shape) # (50000, 3) # 라벨의 비율 ..

[TIL_5 IT잡학사전] 에피소드 11~15

오늘 TIL 3줄 요약 용어는 사람마다 조금씩 다르게 사용할 수 있다. 중요한 것은 라이브러리와 프레임워크의 개념을 이해하는 것. 지혜롭게 코드공부하자! 너무 미련하게 하지 말고 플래시는 오픈소스가 아니다. 그래서 스티브잡스가 이걸 사용하지 않기로 결정한것. TIL (Today I Learned) 날짜 2023.01.17 오늘 읽은 범위 에피소드 11 - 라이브러리와 프레임워크, 비슷한 거 아냐? 에피소드 12 - 제이쿼리는 반드시 배워야 하는 기술일까? 에피소드 13 - 그놈의 API, 대체 뭐길래? 에피소드 14 - 도메인은 왜 돈을 주고 사야할까? 에피소드 15 - 플래시의 서비스 종료와 스티브잡스 책에서 기억하고 싶은 내용을 써보세요. 라이브러리와 프레임워크를 구분하는 차이점은 제어권이 누구에게 ..

TIL/TIL - 노개북 2023.01.17

[TIL_3 IT잡학사전] 에피소드 6~10

오늘 TIL 3줄 요약 코드는 잘못이 없다 코드를 쓴 내가 잘못일뿐..! 짜증내지 말고 다시 한번 찬찬히 들여다보자 인터프리터와 컴파일러는 둘다 코드를 컴퓨터가 알아들을 수 있게 변환해주지만 방법은 다름. 파이썬은 인터프리터 C는 컴파일러 자바는 인터프리터와 컴파일러 같이 있음. 코틀린은 자바와 완벽호환됨 TIL (Today I Learned) 날짜 2023.01.15 오늘 읽은 범위 에피소드 06 ~ 10. 책에서 기억하고 싶은 내용을 써보세요. 오류메세지를 찬찬히 읽자. 오류메세지를 읽는것부터가 시작이다. 오류를 무작정 고치기만 하지말고 원인을 찾자. 코드는 잘못이 없다 코드를 쓴 내가 잘못일뿐..! 짜증내지 말고 다시한번 찬찬히 들여다보자 인터프리터언어와 컴파일언어는 다르다! 인터프리터는 동시통역,..

TIL/TIL - 노개북 2023.01.17

[TIL_2 IT잡학사전] 에피소드 1~5

오늘 TIL 3줄 요약 천재개발자가 아니라 보통의 실력을 가진 개발자가 세상을 주로 만든다. 머신러닝, 딥러닝을 하려면 수학은 해야한다. 새 프로그래밍 언어를 배우면 금방 실력이는다. TIL (Today I Learned) 날짜 2023.01.14 오늘 읽은 범위 에피소드 1~5 책에서 기억하고 싶은 내용을 써보세요. 코딩은 재능이 아닌 끈기의 영역이다. 끝까지 포기하지 말자. 자바스크립트는 잘 다룰 수 있어야 한다. 서버쪽의 코드 백엔드 영역까지도 개발할 수 있다. 새로운 프로그래밍 언어를 공부하면 그 언어에 담긴 철학, 코드구조, 개념, 패턴등을 배울 수 있고 그 내용이 코딩실력 자체를 향상시키는데 도움이 된다. 그러니 새로운 프로그래밍언어를 배우는 것에 주저하지 말자! C언어는 자원을 효율적으로 쓰..

TIL/TIL - 노개북 2023.01.17

파이썬 에러 : SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape 종종 파일을 불러오려고 할때 위와 같은 에러를 만나게 된다. 이번에는 판다스로 로컬에 있는 csv파일을 불러오려다 또 만나게 되었는데 간단한 해결법을 알게 되어 공유한다. 1. 파일 경로에 있는 \ 를 \\ (두개)로 바꿔준다. \(역슬래시) 가 하나만 있다면 파이썬이 "이 역 슬래시가 경로가 아니라 어떤 다른 기능이 있는거 아니야?" 하면서 내가 찾고싶은 파일 경로를 못찾는데 이떄 역슬래시 2개를 같이 쓰면 "이건 아무 의미 없는거야 그냥 문자 그대로 받아들이렴..!"이라는 의미여서 경로를 제대로 찾..

파이썬 python 2022.11.10

(파이썬 python) 백준 11051번 : 이항 계수 2

이항계수를 구하는 구하는 알고리즘을 짜면 되는 문제이다. 1. 이항계수의 정의를 이용하여 그대로 구현! 이항계수를 구하는 공식은 고등학교때 당연히 배웠지만 까먹었다 해도 문제는 없다. 우리에겐 구글이 있기 때문에...!! 구글에 이항계수만 검색해도 친절하게 설명해주는 블로그와 사이트들이 많이 있다. 자신이 보기 편한 것을 보고 이해하고 그 공식을 구현하면 쉽게 풀리는 문제이다. 사실 이미 알고있는 공식을 구현하기만 되는 것이라 따로 머리를 크게 쓰고 아이디어를 짜낼 필요도 없다. 아래의 첫번째 코드가 이항계수의 공식을 가장 충실히 따라 알고리즘을 구현한 코드이다. python에는 math라이브러리에 펙토리얼을 구할 수 있는 기능들이 있지만 연습도 할 겸, 코드량도 많지 않으니 팩토리얼 함수를 구현하여 이..

(파이썬 python) 백준 11055번 : 가장 긴 증가 부분 수열

n = int(input()) li = list(map(int,input().split())) #증가하는 수열 - LIS dp = li[:] for i in range(n): for j in range(i): if li[i] > li[j]: dp[i] = max(dp[i],dp[j]+li[i]) print(max(dp)) 11054번에서 만든 증가하는 부분수열 구하는 알고리즘에서 부분수열의 개수를 구하는 것이 아니라 부분수열의 합을 구해서 dp리스트에 업데이트를 해주면 된다. 아래 코드는 증가하는 부분수열의 개수를 구하는 알고리즘이다. 비교를 해보면 위의 dp[j]+li[i]는 부분수열의 합을 구하기 위한 계산이고 dp[j]+1은 부분수열의 개수를 구하기 위한 계산이다. n = int(input()) l..

(파이썬 python) 백준 11054번 : 가장 긴 바이토닉 부분 수열

# 11054번 : 가장 긴 바이토닉 부분 n = int(input()) li = list(map(int,input().split())) #증가하는 수열 - LIS dp_inc = [1 for i in range(n)] for i in range(n): for j in range(i): if li[i] > li[j]: dp_inc[i] = max(dp_inc[i],dp_inc[j]+1) li.reverse() #감소하는 수열 - DIS dp_desc = [1 for i in range(n)] for i in range(n): for j in range(i): if li[i] > li[j]: dp_desc[i] = max(dp_desc[i],dp_desc[j]+1) dp_desc.reverse() ans ..

(파이썬 python) 백준 11057번 : 오르막 수

# 11507 번 : 오르막 수 n = int(input()) dp = [[0]*10 for i in range(n+1)] dp[1] = [1] * 10 for i in range(2,n+1): for j in range(0,10): for k in range(j,10): dp[i][j] += dp[i-1][k] print(sum(dp[n])%10007) dp문제는 점화식을 구하는 것이 가장 중요하다. 그리고 점화식을 구하려면 손으로 써가면서 규칙을 찾는 방법이 제일 좋은 것 같다 n = 1일때 0,1,2,3,4,5,6,7,8,9 로 총 10개의 오르막 수 가 있다. n = 2일때 00~09 :10개 11~19 : 9개 22~29 : 8개 ... 99 : 1개 로 10+9+8+7+6+5+4+3+2+1 =..