본문 바로가기

python 및 머신러닝35

[Programming Collective Intelligence] - 집단지성 프로그래밍 3장 06 K평균 군집화 # -*- coding: utf-8 -*- from myutil import consolePrintWithLineNumber as c ''' Created on 2015. 8. 25. @author: Administrator ''' # 이전 절 사전 작업... from ch03_2 import pearson, readfile, hcluster, drawdendrogram blognames, words, data = readfile('blogdata.txt') # 3-6 K평균 군집화 # kNN(k Nearest Neighbors) - 머신러닝 인 액션 import random def kcluster(rows, distance=pearson, k=4): # 각 단어가 출현한 최소,최대값을 구한다. rang.. 2015. 8. 27.
[Programming Collective Intelligence] - 집단지성 프로그래밍 3장 03 계층적 군집화 # -*- coding: utf-8 -*- from myutil import consolePrintWithLineNumber as c ''' Created on 2015. 8. 24. @author: Administrator ''' # 3-3 계층적 군집화 # 60p # 3-2의 결과값 로드하기(blogdata1.txt) ''' file 구조가 다음과 같다면 -------------- □■■■■■■■■■■■■■■ □■■■■■■■■■■■■■■ □■■■■■■■■■■■■■■ □■■■■■■■■■■■■■■ □■■■■■■■■■■■■■■ □■■■■■■■■■■■■■■ 에서 rownames : -------------- colnames : □□□□□□□□□□□□□ data : ■■■■■■■■■■■■■■ ■■■■■■■■■.. 2015. 8. 24.
[Programming Collective Intelligence] - 집단지성 프로그래밍 3장 군집발견 # -*- coding: utf-8 -*- from myutil import consolePrintWithLineNumber as c ''' Created on 2015. 8. 24. @author: Administrator ''' # 3장 군집발견 # 56p # 3-2 단어 벡터 (자료수집) ''' http://kiwitobes.com/clusters/blogdata.txt 링크는 깨졌다-_-; http://kiwitobes.com/clusters/feedlist.txt 링크도 깨졌다. > 저자의 원본소스파일 안에서 찾을 수 있음 ''' import feedparser import re # rss url을 분석해서 단어별 출현횟수를 딕셔너리로 출력한다. def getwordcounts(url): d =.. 2015. 8. 24.
[Programming Collective Intelligence] - 집단지성 프로그래밍 2장 추천시스템 만들기 # -*- coding: utf-8 -*- from myutil import consolePrintWithLineNumber as c ''' Created on 2015. 5. 7. revised on 2015. 8. 18. @author: Administrator 2장 추천시스템 만들기 2.유사 사용자 찾기 - 유사도 측정 > 나와 다른 사람간의 공통된 항목에 대한 점수를 비교하여 유사도를 측정한다. >> 유클리디안 거리점수 : 절대적인 값의 비교 >> 피어슨 상관점수 : 얼마나 직선으로 잘 표현되나? 3.평론가 순위 - 나와 가장 비슷한 사람 찾기 4.항목추천 > 나에게 없는 항목을 추천 받기 >> 나와 유사한 사람에게 가중치(유사도)를 곱해서 그 사람의 의견에 더 많은 영향을 받도록 5.제품 매칭 .. 2015. 8. 22.
[Programming Collective Intelligence] - 집단지성 프로그래밍 준비 준비 본 서적은 파이썬 2.x 버전으로 작성되었다.(원서 Aug 23, 2007)관련 라이브러리도 2.x 버전용을 사용하고 있다. 그러나한글을 쉽게 처리하기 위해서그리고 어차피 최신 소스들의 영향에 미리 대비하기 위해파이썬 3.4버전으로 테스트를 하려고 한다. 2.x에서 정상으로 동작하는 여러 라이브러리들을3.4에서 돌리기 위해 여러 이름이 조금씩 다른 라이브러리들을 찾아서 설치하곤 하였다.(2015.8.18) 예제소스 : http://www.hanbit.co.kr/book/look.html?isbn=978-89-7914-562-5#binfo5 2장 추천시스템 만들기 -----------------------------------------------------------------------------.. 2015. 8. 18.
[Coding The Matrix] 코딩 더 매트릭스 - Chapter 3 벡터 # -*- coding: utf-8 -*- ''' Created on 2015. 8. 17. @author: Administrator ''' ''' chapter 3 vector ''' from myutil import consolePrintWithLineNumber as c from plotting import plot # 73p L = [[2, 2], [3, 2], [1.75, 1], [2, 1], [2.25, 1], [2.5, 1], [2.5, 1], [2.75, 1], [3, 1], [3.25, 1]] # plot(L, 4) # 74p def add2(v, w): return [v[0] + w[0], v[1] + w[1]] c(add2([4, 4], [1, 2])) c(add2([-4, -4], .. 2015. 8. 18.
파이썬을 사용하면서 발생한 이슈 1. list 라는 단어는 파이썬에서 list(...) 로 사용되는 기본 함수명이다. 보통 자바같으면 변수로 사용할 수 없는 키워드이다. 그런데 파이썬에서는 변수로 사용가능하다.-_- 그래서 간혹 같은 구간에서 list = [] 로 사용하다가 list(...)로 사용하려면 에러가 난다. 함수가 변수로 오버라이딩 되버린듯 하다. 당연하다. 파이썬에서 사용되는 키워드는 되도록 사용하지 않아야 실수를 줄인다. 2.컬렉션 초기화 s = {} if(len(s) == 0): // else: // l = [] d = {} if word in d: // else: // * 집합과 딕셔너리 초기화가 같다... 이렇게 쓰는게 맞나? s = set() s.add(1) d = dict() d['a'] = 1 l = list(.. 2015. 8. 17.
[Coding The Matrix] 코딩 더 매트릭스 - Chapter 2 필드 # -*- coding: utf-8 -*- from myutil import consolePrintWithLineNumber as c ''' Created on 2015. 8. 12. @author: Administrator ''' ''' ch02 필드 ''' # 46p from math import e from math import pi from GF2 import one from image import color2gray from image import file2image from plotting import plot c(1 + 3j) c(1j) c((1 + 3j) + (2 + 2j)) x = 1 + 3j c(x ** 2) c(x.real) c(x.imag) c(type(1 + 2j)) # class.. 2015. 8. 13.