전체 글
-
[python] [pandas] encoding='cp949'로 저장하는데 에러 발생 문제Data miner/Development log 2020. 10. 15. 17:02
한국어가 포함된 dataframe을 cp949로 인코딩하는 과정에서 '\u119e' 때문에 저장에 실패할 경우, UnicodeEncodeError: 'cp949' codec can't encode character '\u119e' in position 189: illegal multibyte sequence dataframe 전체에서(하단의 코드에서는 raw_data) 존재하는 '\u119e'의 값을 지운다(''로 교체) raw_data = raw_data.replace(to_replace ="\u119e", value ="") raw_data.to_csv("test.csv", encoding="cp949")
-
[python] [pandas] index 활용하기Data miner/Development log 2020. 10. 15. 16:42
- Dataframe의 index는 데이터의 로우와 칼럼에 대한 이름 등을 저장하는 객체이다. 보통 특별히 index값을 정하지 않으면, 0부터의 순차적인 정수값을 가진다. 정수값뿐만이 아니라, 문자열의 값도 가질 수 있다. dataframe.index # Index([0,1,2, ... , '날짜', '2020-10-15') Index 가장 일반적인 index 객체, 파이썬의 numpy 배열 형식 MultiIndex 단일 축에 여러 단계의 색인을 표현하는 계층적 색인 객체. 튜플의 배열과 유사 DatetimeIndex 나노초 타임스태프를 저장 PeriodIndex 기간 데이터에 대한 Index - 한번 설정한 색인은 변경할 수 없다. dataframe.index[0] = 'new index value'..
-
[Cloud computing] 1. 클라우드 컴퓨팅이란? 개념과 기본 모델 구성Data miner/Cloud computing (IBM C:LOUDERs) 2020. 10. 10. 13:33
Cloud computing이란? NIST는 다음과 같이 클라우드 컴퓨팅을 정의한다. 소비자들은 클라우드 컴퓨팅을 통해 편리하게 IT 리소스(네트워크, 서버, 스토리지, 어플리케이션, 서비스)를 주문형으로 사용할 수 있으며, 사용한 만큼만 비용을 지불할 수 있다. 특히, Cloud는 하늘 위에 둥둥 떠다니는 구름과 같이 이미지처럼 접근 하기 쉬운 인터넷 자체를 뜻하거나, 인터넷을 통해 접근할 수 있는 서버를 뜻한다. Computing은 인터넷 기반의 컴퓨팅 자원을 의미하며, 두 단어의 합성어인 Cloud Computing은 인터넷을 통해서 스토리지 데이터와 같은 컴퓨팅 자원을 이용할 수 있다는 뜻을 내포하고 있다. 클라우드 컴퓨팅은 다음과 같은 다섯가지의 특징을 지니고 있다. 주문형 셀프 서비스(On-d..
-
[논문리뷰] Identifying entity properties from text with zero-shot learning, 2) properties, a predicate pathData miner/Knowledge Graph 2020. 10. 1. 14:59
본 논문을 요약하면서, Property를 '관계성'(e.g. music.artist.track_contributions)으로 언급한 바 있다. 이해를 돕기 위해, ()에 이것의 예시를 같이 소개하겠다. 논문에서는 Property의 특성을 지식그래프의 구성물이라고 할 수 있는 Triplet(S주어, P서술어, O목적어)를 활용해서 정의한다. 특히, 주어-목적어 관계로 직접 연결되지 않은 경우에도, 목적어가 다른 문장에서 주어가 되어 표현되는 관계까지도 포괄한다는 특징을 가진다(아래 그림 참조). Triplet의 단위에서 어떤 목적어는 다른 문장에서 주어일 수 있으며, 이런 식으로 사슬로 연결되어 주어와 사슬의 마지막 끝에 있는 목적어는 여러개의 서술어로 구성될 수 있다. 아래 그림에서 r1, r2에 해당하..
-
[논문리뷰] Cold-start aware user and product attention for sentiment classificationData miner/Information Retrieval 2020. 9. 23. 23:57
리뷰한 논문 - Amplayo, R. K., Kim, J., Sung, S., & Hwang, S. W. (2018). Cold-start aware user and product attention for sentiment classification. arXiv preprint arXiv:1806.05507. 감성분석(Sentiment Anlaysis)은 사용자가 특정 컨텐츠/제품에 대해 리뷰를 남기면, 이에 대해서 긍정/부정으로 분류하는 분석이다. 최근에는 감성분석과 관련한 연구가 개인화에 초점화를 맞추고 있으며, 이는 구체적으로 특정 유저에게 유저의 취향에 맞는 제품을 추천하기 위해서다. 유저와 제품의 주변 정보(유저/제품과 유사한 다른 유저/제품 정보)를 활용해야 하는 이유는 크게 두 가지가 있다...
-
[베이지안 통계] 5-1. 마르코프 연쇄 몬테카를로(MCMC)Data miner/Bayesian Statistic 2020. 9. 17. 22:31
파라미터 θ의 값이 하나가 아니라면? 파라미터 θ의 값에 대한 사전 확신을 사후 확신과 동일하게 켤레분포로 표현할 수 없을 경우에는? 이런 경우, 마르코프 연쇄 몬테칼를로 알고리즘(MCMC, Markov Chain Monte Carl Algorithm)으로 문제를 접근한다. 이 알고리즘은 크게 두 가지 가정에 기반한다. 1) 사전 분포를 구할 수 있다. 파라미터 값θ에 대한 p(θ)을 컴퓨터 계산으로 구할 수 있다. 2) 가능도 함수값 p(D|θ)도 구할 수 있다고 본다. 다만, 추정해야 하는 파라미터가 많아질 경우 베이즈 규칙의 분모 부분, 증거(evidence)-p(D)-를 구하기가 어렵다. 이에, 사전분포와 가능도함수의 곱을 통해 얻어진 값이 베이즈 규칙의 사후 분포와 비례한다는 점을 이용하여, 정..
-
[python] [pandas] 컬럼의 값들을 조건에 따라 다른 값으로 변경하기Data miner/Development log 2020. 9. 4. 23:58
실무에서 설문지 데이터를 받아서 문항의 응답값(1,2,3)을 일정한 백분율 값(0.5,0.7) 혹은 응답값에 대응하는 답변값으로 변경하는 코드가 필요했다. 이는 컬럼의 값들을 각각 대응대는 값으로 딕셔너리로 자료를 저장한 다음, 데이터에 replace 함수를 사용하여 변경해주면 되었다. key('변경 전 값') : value('변경 후 값')으로 딕셔너리 형태로 저장 change_value_dict = {1.0: 0.95, 2.0: 0.85, 3.0:0.75, 4.0:0.65, 5.0:0.55, 6.0:0.45, 7.0:0.35, 8:0.25, 9:0.15, 10: 0.05} df = df.replace({'변경하고자 하는 컬럼명': change_value_dict}) df = pd.DataFrame({..