我 ()/我们 (wǒ men) : 나 / 우리

你 (nǐ)/你们 (nǐ men) : 너 / 너희들

他 ()/他们 (tā men) : 그 / 그들

她 ()/她们 (tā men) : 그녀 / 그녀들

这 (zhè) : 이, 이것

那 () : 저, 저것, 그, 그것


사람명사 + 们 (men) : ~들 (사람(대)명사 복수형)

都 (dōu) + 동사 : 모두, 다 (+ ~하다)

都是 (dōu shì) : 모두 ~로 인해(이유)

都是你 (dōu shì nǐ) : 너 때문이야.

都是我的不是 (dōu shì wǒ de bú shì) : 모두 내 잘못이야.

都是······的 (dōu shì …… de) : 어떠한 나쁜 결과는 어떤 일을 함으로써 발생했다. 

都是我的错 (dōu shì wǒ de cuò) : 다 내 잘못이야.

주어 + 也 () + 동사 : ~도, 또한

명사1 + 的 (de) + 명사2 : ~의 (소유 표현)

명사1 + 和 () + 명사2 : ~와, 그리고


평서문 + 吗(ma) : ~? (의문조사)

你有猫?(nǐ yǒu māo ma ; 의문문) = 你有没有猫?(nǐ yǒu méi yǒu māo ; 정반 의문문)

你爱她吗?(nǐ ài tā ma) = 你爱不爱她?(nǐ ài ài )


() : 아니다.

(méi) : 않다. 없다. (존재, 소유의 부정)

没您不成啊! (méi nín bù chéng a) : 당신이 없으면 성공할 수 없어!  = 네가 없으면 안 돼!


是 (shì)/不是 (bù shì) : 이다. / 아니다.

爱 (ài)/不爱 (ài) : 사랑한다. / 사랑하지 않는다.

有 (yǒu)/有 (méi yǒu) : 있다. / 없다.

喜欢 (xǐ huān) : 좋아하다

吃 (chī) : 먹다

喝 () : 마시다


爸爸 (bàba) : 아빠

妈妈 (māmā) : 엄마

儿子 (érzi) : 아들

女儿 (nǚ'ér) : 딸


哥哥 (gēge) : 형, 오빠

姐姐 (jiějie) : 언니, 누나

弟弟 (dìdi) : 남동생

妹妹 (mèimei) : 여동생


人 (rén) : 사람, ~인

中国 (zhōng guó) : 중국

美国 (měi guó) : 미국

韩国 (hán guó) : 한국


狗 (gǒu) : 개

猫 (māo) : 고양이

牛 (niú) : 소

羊 (yáng) : 양

鱼 () : 물고기

鸡 () : 닭

鸟 (niǎo) :새


肉 (ròu) : 고기

蔬菜 (shū cài) : 채소

面包 (miàn bāo) : 빵


茶 (chá) : 차

咖啡 (kā fēi) : 커피 

酒 (jiǔ) : 술

果汁 (guǒ zhī) : 과즙, 주스

可乐 (kě lè) : 콜라

可口可乐 (kě kǒu kě lè) : 코카콜라

百事可乐 (bǎi shì kě lè) : 펩시콜라


.

Posted by Azel.Kim :

맥OS 환경에서 RStudio에 관련된 문제 중 하나는 '한글 인코딩'입니다.

개발자가 아니라서 자세한 이유는 잘 모르지만, 


아무튼 R공부를 하는 중에 readLines()함수를 이용해 txt 파일을 불러올 때

한글이 제대로 불러와지지 않는 문제가 발생합니다.



> txt <- readLines("test.txt")

Warning message:

In readLines("test.txt") : incomplete final line found on 'test.txt'

> head(txt)

[1] "\"\xba\xb8\xb0\xed \xbdʹ\xd9"                                           

[2] "\xc0̷\xb8\xb0\xd4 \xb8\xbb\xc7ϴϱ\xee \xb4\xf5 \xba\xb8\xb0\xed \xbdʹ\xd9"

[3] "\xb3\xca\xc8\xf1 \xbb\xe7\xc1\xf8\xc0\xbb \xba\xb8\xb0\xed \xc0־"      

[4] "\xba\xb8\xb0\xed \xbdʹ\xd9"                                             

[5] "\xb3ʹ\xab \xbe\u07fc\xd3\xc7\xd1 \xbdð\xa3"                             

[6] "\xb3\xaa\xb4\xc2 \xbf츮\xb0\xa1 \xb9Ӵ\xd9" 



검색을 통해 알아낸 방법들로

파일을 불러올 때 옵션으로 인코딩을 지정한다던가,

txt 파일을 새로 만들면서 'UTF-8' 혹은 'euc-kr'으로 저장하는 방법을 사용해보기도 했지만

저는 제대로 해결되지 않았어요.


아무튼 어떻게 해결 했냐면, 일단 RStudio 자체의 인코딩 인식과 방법에 관련된 문제이지 싶어서

RStudio에서 txt 파일을 생성해 저장함으로써 간단하게 해결했습니다.


자세한 원리는 모르겠지만...

RStudio 환경에서 생성하면 사용가능한 인코딩으로 저장되지 않을까? 하는 생각으로 시도했는데 먹혀들었네요ㅎㅎ

환경설정에서 확인해 봤을 땐 system default가 UTF-8이던데

어째서 txt 파일을 UTF-8 인코딩으로 저장했을 때도 같은 문제가 발생했는지는 모르겠지만요...





Posted by Azel.Kim :

머신러닝?

2017. 8. 3. 17:08 from 통계/데이터 마이닝

머신러닝?

: 주어진 입력 데이터를 컴퓨터 프로그램이 학습하여 예측을 수행하고 스스로의 예측 성능을 향상시키는 과정과 이를 위한 알고리즘을 연구하고 구축하는 기술

cf. 데이터마이닝

: 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 의미 있는 규칙이나 패턴을 발견하고 이를 지식화하는 과정


머신러닝 카테고리

1) 지도학습 Supervised Learning

입력(input)에 대한 결과(output)를 알고 있는 데이터를 분석하여 함수화하거나 분류하여

새로운 데이터(목표변수, 종속변수)를 예측하는 방법

ex) 텍스트 인식, 사진 인식, 신용평가, 의사결정나무, 판별분석, 회귀분석 등


2) 비지도학습 Unsupervised Learning

입력(input)에 대한 결과(output)가 없는 데이터들을 분석하여 연관짓는다.

ex) 군집분석, 연관성분석, 연관성규칙발견 등


3) 강화학습 Reinforcement Learning

게임을 진행하면서 승리, 패배시 보상과 패널티를 주면서 학습시킨다.

ex) 알파고

Posted by Azel.Kim :

참고: 추천시스템(PR시리즈) http://bahnsville.tistory.com/895


1. 추천시스템의 기본원리는 "과거는 곧 미래다."
추천을 위해 필요한 데이터는 유저들의 행위 behavior 기록이다.
ex> 제품이나 컨텐츠에 대한 사용자의 선호/관심의 지표(상품 구매 이력, 이벤트 참석 이력, 평점 등의 유저 레이팅)


2. 추천시스템에서 사용되는 데이터는?

1) 명시적 레이팅(explicit rating)암묵적 점수(implicit feedback) in 유저 레이팅

- 명시적 레이팅은 평범/별점 등 구체적인 스케일로 점수를 매긴 것
- 암묵적 점수는 조회여부(0/1), 구매여부(0/1) 처럼 명시적으로 점수화하지 못하는 것
- 명시적 레이팅은 점수의 편향이 있거나, 존재하지 않는 경우가 암묵적 점수보다 더 많은 편
- 그래서 암묵적 점수를 더 많이 사용하는 추세

2) 추천시스템에서 해결해야할 가장 큰 문제는 데이터의 크기(data dimensionality) 문제


3. 추천 대상에 따른 추천시스템 분류

- 전체 추천: 불특정 다수에게 추천하는 형태 (ex: 검색엔진 사이트의 메인화면에서 보여지는 다수의 글/이미지/상품들, 추천 검색어, 실시간 검색어 등)

- 그룹 추천: 사용자들을 특정 세그먼트(그룹)으로 나누어서 각 그룹에 특화된 컨텐츠 추천하는 형태 (ex:성/연령별 선호 상품, 기사, 키워드)

- 개인추천(개인화): 개인의 과거 이력을 바탕으로 개인의 관심사를 특정하고 그에 맞는 아이템 추천하는 형태. "사용자를 어떻게 모델링(프로파일링) 할 것인가?"가 핵심

- 연관 아이템 추천: 맞춤추천이 아니라 개별 아이템별로 관련 아이템을 보여주는 형태 (ex: 최근 본 상품 탭, 유튜브 연관 동영상 등)


4. 추천 알고리즘에 따른 추천시스템 분류
- 협업 필터링(Collaborative Filtering)

1) 모델 기반 CF : 머신러닝 활용

2) 메모리 기반 CF : 유저-아이템 레이팅을 모두 메모리에 올려두고 유저-유저/아이템-아이템 관계(유사도)를 계산하기 때문에 메모리 기반이라고 불림

1> 제품-제품 협업 필터링: 사용가자 구매한 것과 가장 유사한 다른 제품 추천

2> 사용자-사용자 협업 필터링: 유사 사용자가 구매한 것과 가장 유사한 제품을 추천

*유사도(관계) 측정: 동시발생, 쟈카드 인덱스, 유클리디안 거리 등...

3) MF(Matrix Facrtorization) 방식 : 유저-아이템 레이팅을 메트릭스에서 고유벡터(eigen vector)를 구해 행렬을 분해하는 SVD(Singular value decomposition) 이용 -> 데이터의 크기(data dimensionality) 문제를 해결하기 위한 방법....이라는데 matrix 연산을 위한 메모리 감당이 어려움


- 컨텐츠 기반 필터링(Content-based Filtering)
: 유저 프로파일 혹은 제품(컨텐츠) 프로파일 정보를 활용하여 추천

장점: 알고리즘이 매우 직관적이고 쉬움

단점: 추천되는 아이템이 너무 뻔함



Posted by Azel.Kim :

출처 : http://blog.naver.com/ilustion/220257419444


## 주성분분석

# princomp(x, cor=T) 함수를 사용

# x는 n X p 다변량 자료행렬이고, cor=T이면 상관행렬분해를, cor=F이면 공분산행렬분해를 지시

# 주성분 점수는 scores에, 주성분 부하는 loadings에 남는다

protein=read.table("J:/R을 활용한 탐색적 자료분석/protein.txt", header=TRUE)

str(protein)

'data.frame':   25 obs. of  10 variables:

 $ Country: Factor w/ 25 levels "Albania","Austria",..: 1 2 3 4 5 6 7 8 9 10 ...

 $ Beef   : num  10.1 8.9 13.5 7.8 9.7 10.6 8.4 9.5 18 10.2 ...

 $ Chicken: num  1.4 14 9.3 6 11.4 10.8 11.6 4.9 9.9 3 ...

 $ Egg    : num  0.5 4.3 4.1 1.6 2.8 3.7 3.7 2.7 3.3 2.8 ...

 $ Milk   : num  8.9 19.9 17.5 8.3 12.5 25 11.1 33.7 19.5 17.6 ...

 $ Fish   : num  0.2 2.1 4.5 1.2 2 9.9 5.4 5.8 5.7 5.9 ...

 $ Cereal : num  42.3 28 26.6 56.7 34.3 21.9 24.6 26.3 28.1 41.7 ...

 $ Potato : num  0.6 3.6 5.7 1.1 5 4.8 6.5 5.1 4.8 2.2 ...

 $ Bean   : num  5.5 1.3 2.1 3.7 1.1 0.7 0.8 1 2.4 7.8 ...

 $ Fruit  : num  1.7 4.3 4 4.2 4 2.4 3.6 1.4 6.5 6.5 ...


pca=princomp(protein[,2:10], cor=T)

names(pca)

pca$loadings[,1:2]

pca$scores[,1:2]

attach(pca)

plot(scores[,2]~scores[,1], main="Principal Component Space",

     xlim=c(-5,5), ylim=c(-5,5))

text(y=scores[,2], x=scores[,1], label=protein$Country, cex=0.8)



plot(loadings[,2]~loadings[,1], main="Principal Component Loadings",

     xlim=c(-1,1), ylim=c(-1,1))

text(y=loadings[,2], x=loadings[,1], label=colnames(protein[,2:10]),cex=0.8)

for(i in 1:9){

  arrows(0, 0, 0.8*loadings[i,1], 0.8*loadings[i,2], length=0.1)

}

대다수의 나라들이 왼쪽에 군집을 이루가 있으나 오른쪽위에 알바니아, 불가리아, 루마니아, 유고슬라비아등 4개국이 진을 치고 있다. 관측개체 플롯내 위치와 변수 플롯의 곡류 위치가 대응하므로 이들 나라들은 곡류 섭취로 특성화된다. 아래 오른쪽에 스페인과 포르투갈이 있는데 이들은 생선, 콩, 과일 섭취로 특성화된다

그리스와 이탈리아는 콩 섭취와 관련이 깊다고 할 수 있다. 


Posted by Azel.Kim :