인공 신경망 소개 목차 만들기! 생물학적 뉴런에서 착안한 단순한 신경망 모델: 입력이 2개 이상이면 활성화(1), 그렇지 않으면 비활성화(0) 퍼셉트론(perceptron): TLU/LTU(threshold logic unit)이라고도 불리며, 입력의 가중치 합을 계산한 후 계단 함수(heaviside function == step function)을 적용하는 인공 뉴런 $$heaviside\left(z\right)=\begin{cases}0,\ \ \ z 핸즈온 머신러닝 2판 2021.12.23
Kaggle Digit Recognizer 필사 import numpy as np import pandas as pd from keras.models import Sequential from keras import layers from keras.layers import BatchNormalization from keras.layers import Convolution2D, MaxPooling2D from keras.layers.core import Reshape, Dense, Flatten, Dropout from sklearn.model_selection import train_test_split df_train = pd.read_csv('/content/drive/MyDrive/military/mnist/train.csv') target = df.. kaggle 2021.12.22
다중공선성 (multicollinearity) 다중공선성이란 입력 변수들 간의 상관 정도가 높은 상태를 말한다. $$Y=w_0+w_1X_1+w_2X_2+...+w_nX_n$$ 상관 정도가 높은(피어슨 상관계수로 1에 가까운) 변수가 X_1 ≃ X_2라면, 아래와 같이 나타낼 수 있고, Y가 다르게 가정된다. $$Y\ \backsimeq \ w_0+\left(w_1+w_2\right)X_1+w_3X_3+...+w_nX_n$$ 그렇게 되면, 변수의 중요성을 설명할 때 올바른 설명을 하지 못하게 된다. 다중 공선성이 높은 변수를 몇 개 제거 후 분석하면 된다. 출처: https://ai-times.tistory.com/268 통계 2021.12.18
행렬 분해를 이용한 잠재 요인 협업 필터링 실습 행렬 분해를 이용한 잠재 요인 협업 필터링 실습¶ 일반적으로 행렬 분해에는 SVD가 자주 사용되지만, 사용자-아이템 평점 행렬에는 사용자가 평점을 매기지 않은 null 데이터가 많기 때문에 SGD나 ALS 기반의 행렬 분해를 사용합니다. 여기서는 SGD를 이용하겠습니다. 앞의 잠재 요인 협업 필터링 절의 경사 하강법을 이용한 행렬 분해에서 사용한 함수 get_rmse()를 다시 활용하고, 행렬 분해 로직을 matrix_factorization()함수로 정리합니다. 파라미터 R은 사용자-아이템 평점 행렬, K는 잠재 요인의 차원 수, steps는 SGD의 반복 횟수, learning_rate는 학습률, r_lambda는 L2 규제 계수입니다. In [9]: import numpy as np from skl.. 파이썬 머신 러닝 완벽 가이드 2021.12.15
아이템 기반 최근접 이웃 협업 필터링 실습 아이템 기반 최근접 이웃 협업 필터링 실습¶ 최근접 이웃 협업 필터링은 사용자 기반과 아이템 기반으로 분류합니다. 이 중 추천 장확도가 더 뛰어난 아이템 기반의 협업 필터링을 구현해 보겠습니다. 사용자가 영화 평점을 매긴 사용자-영화 평점 행렬 데이터 세트를 다운로드하겠습니다. https://grouplens.org/datasets/movielens/latest/ 에서 내려받을 수 있습니다. 데이터 가공 및 변환¶ In [1]: import numpy as np import pandas as pd movies = pd.read_csv('/content/drive/MyDrive/military/grouplens/movies.csv') ratings = pd.read_csv('/cont.. 파이썬 머신 러닝 완벽 가이드 2021.12.14
콘텐츠 기반 필터링 실습 - TMDB 5000 영화 데이터 세트 콘텐츠 기반 필터링 실습 - TMDB 5000 영화 데이터 세트¶TMDB 5000 영화 데이터 세트는 IMDB 사에서 제공하는 데이터 세트입니다. https://www.kaggle.com/tmdb/tmdb-movie-metadata 에서 내려받을 수 있습니다. 장르 속성을 이용한 영화 콘텐츠 기반 필터링¶콘텐츠 기반 필터링은 사용자가 특정 영화를 감상하고 그 영화를 좋아했다면, 그 영화와 비슷한 특성/속성, 구성요소를 가진 다른 영화를 추천하는 것입니다. 유사성을 판단하는 기준에는 장르, 감독, 배우 등이 있습니다. 콘텐츠 기반 필터링 추천 시스템을 영화 장르 속성을 기반으로 만들어 보겠습니다. 장르 칼럼 값의 유사도를 비교한 뒤 그 중 높은 평점을 가지는 영화를 추천하는 방식입니다. 데이터 로딩 및 가.. 파이썬 머신 러닝 완벽 가이드 2021.12.13
추천 시스템 추천 시스템의 개요와 배경¶추천 시스템의 개요¶추천 엔진에 사용될 수 있는 데이터는 아래와 같습니다. 사용자가 어떤 상품을 구매했는가? 사용자가 평가한 영화 평점은? 제품 평가는? 사용자가 스스로 작성한 자신의 취향은? 사용자가 무엇을 클릭했는가? 추천 시스템의 유형¶추천 시스템은 크게 아래와 같이 나뉩니다. 콘텐츠 기반 필터링(Content based filtering) 방식 협업 필터링(Collaborative filtering) 방식 최근접 이웃(Nearest Neighbor) 잠재 요인(Latent Factor) 추천시스템의 초창기에는 콘텐츠 기반 필터링, 최근접 이웃 협업 필터링 방식이 주로 사용됐지만, 넷플릭스 추천 시스템 경연 대회에서 행렬 분해(Matrix Factorization) 기법을.. 파이썬 머신 러닝 완벽 가이드 2021.12.11
텍스트 분석 실습 - 캐글 Mercari Price Suggestion Challenge 배운 내용¶ zip() & zip(*) Series.nunique() LabelBinarizer scipy.sparse.hstack() del '객체 변수명' gc.collect() Mercari Price Suggestion Challenge¶Mercari사의 제품에 대해 가격을 예측하는 과제입니다. 제공되는 데이터 세트는 제품에 대한 여러 속성 및 제품 설명 등의 텍스트 데이터로 구성됩니다. 이 데이터를 기반으로 예상 가격을 판매자들에게 제공하고자 합니다. 데이터 세트는 https://www.kaggle.com/c/mercari-price-suggestion-challenge/data 에서 내려받으실 수 있습니다. train.tsv.7z/train.tsv를 다운로드 합니다. train_id: 데이터 .. 파이썬 머신 러닝 완벽 가이드 2021.12.10
텍스트 분류 실습 - 20 뉴스그룹 분류 배운 내용 sklearn.datasets.fetch_20newsgroups CountVectorizer TfidfVectorizer Pipeline 본문 사이킷런이 내부에 가지고 있는 예제 데이터인 20 뉴스그룹 데이터 세트를 텍스트 분류에 적용해 보겠습니다. 텍스트 분류는 학습 데이터를 학습해 모델을 생성한 후 이 학습 모델을 이용해 다른 문서의 분류를 예측하는 것입니다. 사이킷런의 fetch_20newsgroups() API를 이용해 뉴스그룹의 분류를 수행해 보겠습니다. 텍스트를 피처 벡터화로 변환하면 일반적으로 희소 행렬 형태가 됩니다. 그리고 이러한 희소 행렬에 분류를 효과적으로 처리할 수 있는 알고리즘은 로지스틱 회귀, 선형 서포트 벡터 머신, 나이브 베이즈 등입니다. 이 중 로지스틱 회귀를 이.. 파이썬 머신 러닝 완벽 가이드 2021.12.05
텍스트 분석 배운 내용 nltk.sent_tokenize() nltk.word_tokenize() nltk.corpus.stopwords.words() nltk.stem.LancasterStemmer nltk.stem.WordNetLemmatizer TF-IDF CountVectorizer TfidfVectorizer scipy.sparse.coo_matrix() scipy.sparse.csr_matrix() re 모듈 wordnet.synsets() Synset.path_similarity() nltk.corpus.sentiwordnet SentiSynset.pos_score() SentiSynset.neg_score() SentiSynset.obj_score() SentimentIntensityAnalyzer S.. 파이썬 머신 러닝 완벽 가이드 2021.12.03