달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'분류 전체보기'에 해당되는 글 138

  1. 2008.01.16 리눅스 폰트설정
  2. 2008.01.14 파일에서 읽어오기
  3. 2008.01.13 파이어 폭스 단축키
  4. 2008.01.12 day7, 8
  5. 2008.01.10 netflix에서 제공된 파일설명
  6. 2008.01.10 제안서 작성요령
  7. 2008.01.09 day 5 & 6
  8. 2008.01.09 mysql admin 비번바꾸기
  9. 2008.01.09 vector, list, hash_map 사용하기
  10. 2008.01.09 synergy
2008. 1. 16. 15:49

리눅스 폰트설정 삽질예방/Linux2008. 1. 16. 15:49

아래의 파일을 건드리고 난 후
sudo vim /usr/share/language-selector/fontconfig/ko_KR

다음명령을 실행시킨다.
sudo fc-cache
:
Posted by Kwang-sung Jun
2008. 1. 14. 21:28

파일에서 읽어오기 삽질예방/mysql2008. 1. 14. 21:28

comma separate value 파일에서 읽어오기

load data local infile './netflix_csv_data/mapping.csv' into
table <table_name>
fields terminated by ','
lines terminated by '\n'
(<col_1>, <col_2>);


:
Posted by Kwang-sung Jun
2008. 1. 13. 11:18

파이어 폭스 단축키 삽질예방/Firefox2008. 1. 13. 11:18

http://www.tech-faq.com/blog/master-firefox-shortcuts.html
번역본입니다.
직접 해보고 잘 안되는건 과감히 수정하였습니다. (혹시 안되는거 발견하면 코멘트 달아주세요>

URL 선택 = CTRL + L
북마크 생성= CTRL + D
탭 담기 = CTRL + W
주소에 .com 추가 = CTRL + “Enter”
주소에 .net 추가 = SHIFT + “Enter”
주소에 .org 추가 = CTRL + SHIFT +” Enter”
페이지 앞으로 = ALT + -> or just SHIFT + “Spacebar”
페이지 뒤로 = ALT + <- or just "Spacebar"
페이지 내에서 링크찾기 = ' (single quote)
페이지 내에서 찾기 = CTRL + F
페이지 새로고침 = CTRL + R
줌 인= CTRL + "+"
줌 아웃= CTRL + "-"
줌 레벨 초기값 = CTRL + 0
히스토리 = CTRL + H
홈페이지 = Alt + Home key
새 탭 생성 = CTRL + T
탭 선택(1...9)= ALT + [1..9]
새 창 = CTRL + N
새 이름으로 페이지 저장 = CTRL + S
소스 보기 = CTRL + U
웹 검색하기 = CTRL + K

:
Posted by Kwang-sung Jun
2008. 1. 12. 02:12

day7, 8 netflix prize/일지2008. 1. 12. 02:12

netflix prize research day 7 & 8
<한일이라고는....>
삼성 SDS 관련 문서작성하였다.(PPT)
금요일은,... 001에 물난리가 나는 바람에 001을 쓰지 못하였고, 도서관으로 갔으나, 리눅스에서 무선 인터넷 안되는것 삽질하다가 이도저도 못했다.

TODO
 - mssql에 모든 데이터를 쑤셔 넣어 버리자!
  - 통계프로그램을 구했으니 슬슬 자료 분석도 시작해 봐야지
 - 2007년 1등한사람의 PDF를 종종 읽으며 연관기술을 습득하자.
 - STL사용법을 삽질기에 적어놓도록 하자.

  1. 주먹구구식이라도 알고리즘 적용하여 한번 풀어보기
  2. 베이지안 네트워크 적용하여 풀기. (통계프로그램의 분석을 통한 확률을 알고 있어야 한다.)

 - 가장 시급한 것은 알고리즘을 개선하는 것이다. 현재 한시간동안 영화를 대략 500개정도 군집화(그룹화)가능하다.
collaborative filtering에 대한 wikipedia자료 정리하기.

문제해결법에 대한 IDEA

*. user들을 군집화시킨 후 알고리즘을 적용한다.(합리적...)
 
*. 영화제목으로부터 연관관계를 끌어낼 수 있을까(시리즈물, 어두운 분위기, 공포 등)
 - WWE
 - soldier
 - Dark
 - dragon ball
 - national geographic
 - 영화제목에 위의 단어가 들어있다면. 이용자가 시리즈물을 보고 평가한 결고를 반영할 수 있다.
 - (user base + item base)
 - 자주 검색되는 단어를 이용해도 된다.
 
*. 시간적으로 '최근' 취향이 비슷할 수록 가중치가 높아진다.
 - user간에 얼마나 '많은' 영화의 평점이 얼마나 '많이'같은지, 그 각각의 영화가 얼마나 시기적으로 '가까운'지에
대하여 유사도를 계산한다..
:
Posted by Kwang-sung Jun
2008. 1. 10. 13:26

netflix에서 제공된 파일설명 netflix prize2008. 1. 10. 13:26

training data set
 - 기존에 주어지는 각 회원이 매긴 rating값 자료
qualifying test set ( qualifying.txt )
 - 사용자와 영화가 한 페어로 주어지며, rating값은 빈칸으로 있다. 이것이 바로 내가 채워야 할 부분

quiz subset
 - 총 제출된 자료 중에서 랜덤하게 구분된것. 여기서 측정된 RMSE는 공개된다.
test subset
 - 총 제출된 자료 중에서 랜덤하게 구분된것. 여기서 측정된 RMSE는 공개되지 않는다.

movie_titles.txt
 - 영화 ID, 년도, 제목
 - 사실. 제목은 별로 중요하지 않다.

training_set
 - 학습할 자료들. 파일이름은 [영화ID].txt
 - 영화ID:
   고객ID,rating,날짜
   고객ID,rating,날짜
   고객ID,rating,날짜
   ...

qualifying.txt
 - 학습한 자료를 가지고 추측해야할 자료이다.
 - 영화ID:
   고객ID,날짜
   고객ID,날짜
   고객ID,날짜
   ...
 - 영화별 각 고객의 날짜정보를 이용해야 한다.

probe.txt
 - 영화ID:
   고객ID
   고객ID
   고객ID
   ...
 - quiz subset과 같은 형식이지만, 이미 training_set에 들어있는 내용으로 이루어져있다.
 - 따라서, 이 자료를 통해 RMSE를 테스트해볼 수 있다.
 - 고객의 rating date는 알아서 본래 자료로부터 빼와 참고할것.

:
Posted by Kwang-sung Jun
2008. 1. 10. 13:24

제안서 작성요령 삽질예방/제안서 쓰기2008. 1. 10. 13:24

<프로젝트 제목>
<주의 : ppt에 작성할 때, 반드시 첫 페이지는 목차로 시작, 끝맺음은 Q&A로 끝맺어야 한다.>

1. 해결하고자 하는 문제점에 대한 설명

2. 해결책은 어떻게 이 문제에 접근하는가?

3. 일반 유저의 시나리오와 어떻게 이 프로젝트를 사용할 수 있는가?

4. 프로젝트가 IT Festival 의 주제와 어떻게 연관이 되는지를 설명

5. 왜 <특정 기술> 이 프로젝트에 필요한지를 설명

6. 솔루션 컴포넌트의 다이어그램과 어떻게 상호 작용하는지를 보인다.

7. 이 어떻게 조직되었고, 업무는 어떻게 분담되었는지를 설명한다.

8. 프로젝트의 현재 상태에 대한 설명 (아이디어 상태인지, 프로토타입을
 만들었는지. 특정 상황에서 실제 작동하는지)

9. 프로젝트가 향후에 어떤 모습을 보일 것인가?

10. IT Festival에 출전해야만 하는가?

11. 본 프로젝트의 완성이 가져올 파장에 대한 환상을 심어주며 종료.

:
Posted by Kwang-sung Jun
2008. 1. 9. 18:16

day 5 & 6 netflix prize/일지2008. 1. 9. 18:16

netflix prize research day 5 & 6
<5일차의 삽질>
 밤새 돌려놓았던 분류기가 이상하게 0바이트의 파일들을 만들어 내고 있었다.
새로운 그룹을 생성하였지만 사이즈가 그대로 0이 되어버리는 경우는?
 ->> 반지의 제왕! .. 그 누구라도 4점과 5점을 주었다. 따라서 1점 2점 3점의 그룹은 사이즈가 0인채로 기록된것이다.

< 삽질하나더>
hash_map<int, char*> 의 인스턴스가 newHash라고 할때,
newHash[3] = "dkfjld"
라고 쓰는것은 좋다. 그러나 값을 가져오기 위해서 newHash[3]을 사용해서는 안된다. 만약 3이라는 key값에 해당하는 value가 없을 경우에는 결국 키값이 3, 밸류가 0인 자료를 생성해서 대입하게 되기 때문이다.

<클러스터링>
클러스터링이란, 내가 생각해오던 대로 군집화시키는 알고리즘이었다.
wikipedia.org를 참고하여서 클러스터링 알고리즘을 이해하고 알고리즘을 노트에
순서대로 적어놓았다.
한가지 결정할 사항이 있다.
mysql에 모든 자료를 다 집어넣어놓고 작업을 해야 하는가?
아마도 그런 듯 하다. 왜냐하면 지금 파일에는 '영화'기반으로 자료가 들어가 있는데,
'유져'기반의 추천시스템인 collaborative filtering을 구현하기 위해서 나는 자료를 반드시 '유져'기반으로 갖고 있어야 하기 때문이다. 그렇다고 해서 코딩으로 이들을 모두 분류시키기는 또 무리인 것 같고.. 아구마 할일 많구만.


TODO
 - mssql에 모든 데이터를 쑤셔 넣어 버리자!
  - 통계프로그램을 구했으니 슬슬 자료 분석도 시작해 봐야지
 - 2007년 1등한사람의 PDF를 종종 읽으며 연관기술을 습득하자.
 - STL사용법을 삽질기에 적어놓도록 하자.

  1. 주먹구구식이라도 알고리즘 적용하여 한번 풀어보기
  2. 베이지안 네트워크 적용하여 풀기. (통계프로그램의 분석을 통한 확률을 알고 있어야 한다.)

 - 가장 시급한 것은 알고리즘을 개선하는 것이다. 현재 한시간동안 영화를 대략 500개정도 군집화(그룹화)가능하다.
collaborative filtering에 대한 wikipedia자료 정리하기.

문제해결법에 대한 IDEA

*. user들을 군집화시킨 후 알고리즘을 적용한다.(합리적...)
 
*. 영화제목으로부터 연관관계를 끌어낼 수 있을까(시리즈물, 어두운 분위기, 공포 등)
 - WWE
 - soldier
 - Dark
 - dragon ball
 - national geographic
 - 영화제목에 위의 단어가 들어있다면. 이용자가 시리즈물을 보고 평가한 결고를 반영할 수 있다.
 - (user base + item base)
 - 자주 검색되는 단어를 이용해도 된다.
 
*. 시간적으로 '최근' 취향이 비슷할 수록 가중치가 높아진다.
 - user간에 얼마나 '많은' 영화의 평점이 얼마나 '많이'같은지, 그 각각의 영화가 얼마나 시기적으로 '가까운'지에
대하여 유사도를 계산한다..
:
Posted by Kwang-sung Jun
2008. 1. 9. 17:57

mysql admin 비번바꾸기 삽질예방/mysql2008. 1. 9. 17:57

mysqladmin -u root -p password <바꿀암호>

그동안 -p를 안붙이는 바람에 못하고 있었다.
:
Posted by Kwang-sung Jun

필수적인 변수들.

vector<int> newVector;
vector<int>::iterator vectorIt;
list<int> newList;
list<int>::iterator listIt;
hash_map<int, char*> newHash;
hash_map<int, char*> hashIt;


값의 대입

newVector.push_back(3);
newList.push_back(3);
newHash[3] = "fuct you";



이터레이터의 이용

for (vectorIt = newVector.begin(); vectorIt != newVector.end(); vectorIt++)
{
    DoWhatYouWant();
    cout << (*vectorIt) << endl;
}

for (hashIt = newHash.begin(); hashIt!= newHash.end(); hashIt++)
{
    DoWhatYouWant();
    cout << "value: " << hashIt->first << ", key: " << hashIt->second << endl;
}


vectorIt는 이터레이터 이자 , (*vectorIt)라 하면 현재 iterator가 가리키고 있는 원소가 리턴된다.
hashIt또한 이터레이터인데, hashIt->first는 키를 리턴, hashIt->second는 밸류를 리턴한다.

참고로 hashIt는 표준이 아니라고 한다. 그러나 별 문제없이 아직 잘쓰고 있으니 ^^;

원소찾기

newVector.find(3)


리턴값은 newVector::iterator형이다.
만약 찾지 못한다면 newVector.end()와 동등한 값을 리턴한다.

:
Posted by Kwang-sung Jun
2008. 1. 9. 15:19

synergy 삽질예방/Linux2008. 1. 9. 15:19

http://network.hanb.co.kr/view.php?bi_id=1223
 - 시너지에 대한 자세한 내용이 나와있다.

시너지는 온라인으로 데스크탑을 다른 컴퓨터(예를 들면 노트북)으로 확장시킬 수 있는 프로그램이다.

윈도우용 synerge는 서버를 까는것이 좋다. 대부분 노트북키보드와 마우스를 불편하게 여기므로.
검색하면 바로 깔거 나온다.

*데스크탑 서버
 위의 링크를 잘 따라가면 그냥 된다.

*랩탑리눅스
synerge검색해서 패키시 설치하고

/etc/hosts


203.253.21.229 isteam01
203.253.21.168 deltakam-laptop

과 같이 최 상단에 적어놓으면 설정끝.

synergec <타겟ip주소>


명령으로 깔끔하게 정리!

:
Posted by Kwang-sung Jun