본문 바로가기

python 및 머신러닝/집단지성 프로그래밍11

[Programming Collective Intelligence] - 집단지성 프로그래밍 12장 알고리즘 요약 구분 특징 장점 단점 나이브 베이지안 분류기 속성 간에 통계적 독립임을 가정하였다 큰 데이터 세트를 학습하고, 질의할때 속도에서 빠르다. 증분학습에서, 이전 학습 데이터를 사용하지 않고도 확률을 갱신할 수 있다. 학습모델 해석이 쉽다. 특성의 조합에 기반을 두어 변화하는 출력을 다룰 수 없다. "독립"임을 가정하므로, 속성간의 "조합"을 배울 수 없다. 의사결정트리 분류기 트리 학습모델 해석이 쉽다. 분류와 숫자 데이터를 혼합하는 능력!! (not 회귀와 같은 통계기법들) 속성간의 조합(상호작용)을 쉽게 다룰 수 있다. (not 나이브 베이지안) 적은 데이터에서도 흥미로운 결과 도출 증분학습시 전체 데이터 세트 필요 숫자 결과를 예측하는데에는 그리 좋지 못함 데이터가 복잡할시, 트리가 거대해짐 신경망 복.. 2016. 12. 9.
[Programming Collective Intelligence] - 집단지성 프로그래밍 4장 정리 5.최적화 5-1. 단체 여행 5-2. 해답 표현하기 여러 다양한 최적화 기법을 적용 가능하도록 자료구조를 표현하는 것은 어찌보면 가장 중요하다. 우선 랜덤으로 표현이 가능해야 한다. 즉, 숫자로 표현이 되어야 한다. 그리고 랜덤으로 생성할 숫자의 범위도 집합으로 존재해야 한다. [1,4,3,2,7,3,6,3,2,4,5,3] 0에서 9까지의 숫자 집합. 12개이다. 12는 6명*2개(출국행,귀국행)을 의미하고 0에서 9는 출국행의 가능성이 10개임을 의미한다. domain = [(0, 9)] * (len(people) * 2) # [(0, 9), (0, 9), (0, 9), (0, 9), (0, 9), (0, 9), (0, 9), (0, 9), (0, 9), (0, 9), (0, 9), (0, 9)] 도.. 2015. 9. 4.
[Programming Collective Intelligence] - 집단지성 프로그래밍 5장 최적화 # -*- coding: utf-8 -*- from myutil import consolePrintWithLineNumber as c from myutil import filePrint ''' Created on 2015. 9. 3. @author: Administrator ''' ''' 5장 최적화 ''' ''' 122p 5-1절 단체여행 - 부제:서울에서 만나요!!! 한국식으로 명칭을 변경한다. LGA : 서울 BOS : 대전 DAL : 부산 CAK : 군산 ORD : 강릉 OMA : 세종 MIA : 대구 CAK : 전주 도시 구간별로 각 10개의 시간표가 있다. ''' import time import random import math people = [('아빠', '대전'), ('엄마', '부산'.. 2015. 9. 3.
[Programming Collective Intelligence] - 집단지성 프로그래밍 4장 7절 클릭 학습 # -*- coding: utf-8 -*- ''' Created on 2015. 9. 2. @author: Administrator ''' ''' 4-07절 클릭 학습 > 인공 신경망 이용(ANN) 이전 실습과 차이점 : 현재 작업을 하기 위해 우선되어야 하는 작업을 명시하였다.. practice0().... 인공신경망 - MLP(다중층 인식망)네트워크 > 이해가 안된다-_-;; 전방전파 입력층(단어층) -> 은닉층 -> 출력층 의 순으로 가중치가 전파된다.(강도strength를 이용해서) 역전파 반대로... 질문 2개 이상의 trainquery을 1회 이상 실행했을 때, wordhidden 테이블에 의도치 않은 데이터가 생긴다. getallhiddenids함수의 hiddenurl 테이블에서 특정 url.. 2015. 9. 2.
[Programming Collective Intelligence] - 집단지성 프로그래밍 2,3,4장 정리 새로운 것을 배울때마다 끊임없이 이전에 배운 것을 곱씹자.. 안그럼 잊어버린다... 새로운 것을 배우는 것이 중요한 것이 아니다. 배운 것을 잊어버리지 않는 것이 중요하다. 간단요약 2. 추천시스템 만들기 2-1. 협업 필터링 많은 사람들(큰 무리)의 생각들을 기준으로, 특정 사람의 생각을 추천해 나가는 과정 2-2. 선호 정보 수집 데이터를 딕셔너리로 보관 2-3. 유사 사용자 찾기(사람에게 사람을 추천) 유사도를 측정하기 - 유클리디안 거리점수, 피어슨 상관계수 이용 나와 비슷한 생각을 가진 사람 찾기 2-4. 항목 추천(사람에게 물건을 추천) 나에게 없는 항목을 추천하기 > 나와 비슷한(유사도) 생각을 가진 사람의 항목에 더 가중치를 두어서 판단 2-5. 제품 매칭 사람과 물건을 바꿈(대칭행렬) 물.. 2015. 9. 1.
[Programming Collective Intelligence] - 집단지성 프로그래밍 4장 검색과 랭킹 # -*- coding: utf-8 -*- from myutil import consolePrintWithLineNumber as c ''' Created on 2015. 8. 31. @author: Administrator ''' ''' 4장 검색과 랭킹 ''' # 86p 02절 단순 크롤러 ''' 파이썬3.4에서는 urllib2가 설치가 안된다. > pip install urllib3 참고 : https://urllib3.readthedocs.org/en/latest/ 파이썬3.4에서는 BeautifulSoup가 설치가 안된다.?? > pip install BeautifulSoup4 참고 :http://www.crummy.com/software/BeautifulSoup/ sqlite3는 파이썬3에서 .. 2015. 8. 31.
[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.