프로그래밍/파이썬(Python) 29

마르코프 체인을 활용한 문장 생성 - KPOP 버전

지난번(링크)에 마르코프 체인을 활용한 문장 자동 생성을 해 봤었다. 그때는 예전 일제시대 시인들의 시를 통해 모델을 훈련시켜서 결과로 나오는 문장을 봤었는데, 이번에는 KPOP 가사를 통해서 다시 한 번 해봤다. 근데 중간 중간 영어가 너무 많은거 아닌가 생각이 든다. 그렇게 많은 가사를 가지고 훈련을 시키지는 않았기 때문에 딱 보면 어느 아이돌 그룹의 노래로 훈련시켰는지 바로 알 수 있는 수준이다. 재미로 보는 거니까, 바로 결과를 보자.환호소리 같은 너의 맘 길들일래Lion heart 난 빠져버렸죠 I call it chocolate love summer 바쁘게 뛰어 봐도 손바닥 안인걸 You know what time Go on 넌 길들여져 버렸니? 괜찮니?그냥 볼 수가 없어 계속 Party ti..

마르코프 체인을 활용한 문장 생성

러시아의 수학자 안드레이 마르코프의 이름을 딴 마르코프 체인(Markov Chain)이라는 바로 이전 상태에서만 영향을 받는 확률 과정이 있는데요. 각 시행의 결과가 바로 앞의 시행 결과에만 영향을 받는 일련의 확률적 시행을 의미합니다. 쓰고 있는 저도 사실 무슨 얘기인지 잘 모릅니다. 머, 그냥 일종의 상태 예측을 위한 방법론 중의 하나라고 생각하면 될 것 같습니다. 응용 분야로는 마르코프 성질에 기반하여 이미 관측된 자료를 조건부 확률에 적용하여, 자료가 관측되지 않는 시점(미래의)의 값을 시뮬레이션 하는데 사용된다고 합니다. 이러한 마르코프 체인을 자동 문장 생성에 적용하게 되면 주어진 전체 텍스트를 검사하여 각 단어의 다음에 나타나는 단어의 확률을 구하는 것이 가능해집니다. 1. 참조 소스 파일-..

코드카데미 파이썬 분산 - The Variance(Exam Statics)

코드카데미 파이썬(Codecademy Python) 강좌 중에 9번째 시험 통계(Exam Statics) 챕터 중 7번 분산(The Variance)에 대해서 한 번 보죠. 해당 부분은 특이하게 영문 버전과 한글 버전이 살짝 다릅니다. 한글 버전이 오류가 있는 관계로 영문 버전 기준으로 분산을 계산하도록 하겠습니다.(한글 버전은 영문버전과 함수의 구현방식이 약간 다르고 설명대로 구현해도 계속 답이 틀리다고 나옵니다ㅠ.) 함수는 성적의 합계(grades_sum), 평균(grades_average), 분산(grades_variance) 이렇게 총 3개로 구현합니다.123456789101112131415161718192021grades = [100, 100, 90, 40, 80, 100, 85, 70, 90,..

코드카데미 파이썬(Codecademy Python) 강좌 - 중앙값(median)

오늘은 코드카데미 파이썬(Codecademy Python) 강좌 해설 14번째 시간입니다. 이번 문제는 반복문 챕터의 [연습이 최고를 만든다]에 14번째 문제 [ 중앙값(median) ] 입니다. [연습이 최고를 만듭니다.] 챕터의 마지막 문제입니다. 함수 median를 작성하고, 리스트를 입력값으로 받아 해당 리스트의 중간값을 반환하도록 구현하면 됩니다. 만약 요소의 갯수가 짝수라면 리스트 중간의 두 요소의 평균값을 중간값으로 반환해야 합니다. 완성된 코드를 보시면 아래와 같습니다.12345678910111213141516def median(x): # 함수 median을 선언합니다. y = sorted(x) # 입력 리스트 x를 정렬해서 리스트 y에 할당 len_temp = len(x) # 리스트 x의..