반응형

빅데이터 서비스 교육/머신러닝 12

네이버 영화 리뷰데이터(konlpy활용) 실습

konlpy 설치 Konlpy(코엔엘파이): 한글 형태소 분석기 !pip install konlpy from konlpy.tag import Okt # Open Korean Text: 트위터에서 만든 오픈소스 한국어 처리기 okt = Okt() okt.morphs('한글 형태소 분석기') #morphs : 형태소 분석기 # 의미를 가지는 가장 작은 단위로 쪼갠다 ['한글', '형태소', '분석', '기'] okt.nouns('한글 형태소 분석기') #nouns : 명사 추출 ['한글', '형태소', '분석', '기'] okt.pos('한글 형태소 분석기') #pos : 매핑된 품사 [('한글', 'Noun'), ('형태소', 'Noun'), ('분석', 'Noun'), ('기', 'Noun')] okt...

텍스트 마이닝

ex) 챗봇, 빅스비, 시리 ex11_영화리뷰데이터 다루기(비정형데이터,텍스트마이닝) import numpy as np import pandas as pd import matplotlib.pyplot as plt pd.set_option('display.max_colwidth', None) 1. 문제정의 영화리뷰 데이터셋을 활용해 긍정리뷰와 부정리뷰를 구분하는 감성분석을 해보자. 긍정/부정 리뷰에서 자주 사용되는 단어를 확인해보자. 2. 데이터 수집 from sklearn.datasets import load_files train_data = './data/aclImdb/train/' r_train = load_files(train_data, shuffle=True) #shuffle=True로 섞어서 가..

앙상블 모델

앙상블 모델 앙상블 모델은 여러 모델을 연결하여 쓴다 앙상블 - 보팅(Voting) 하드보팅 소프트 보팅 배깅(Baggin) 결정트리는 하나의 나무 랜덤포레스트모델은 각각 다른 나무들 각 트리는 학습 데이터를 다르게 해서 트리들이 서로 다르게 만든다. 특성을 랜던하게 학습해서 트리들이 서로 다르게 만든다. 보팅과 랜덤포레스트의 다른점 : 랜덤포레스트는 서로다른 결정트리들을 모델로 사용 보팅은 여러 모델을 사용 랜덤으로 뽑은 데이터가 여러개의 모델에 들어가고난 결과를 과반수로 채택한다 보팅, 배깅은 병렬 구조로 각 모델이 옆모델의 결과에 영향을 끼치지 않는다. 부스팅(Boosting) 하나의 샘플 데이터만 사용 각 모델에서 오차가 나오면 그 기억을 다음 모델에 보내 오차를 점점 줄여간다 -> 성능이 높다 ..

Linear Model 실습

보스턴 주택 값 예측 실습 import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_boston # 보스턴 주택값 데이터 boston = load_boston() boston_df = pd.DataFrame(boston.data, columns = boston.feature_names) boston_df.head() CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT 00.0063218.02.310.00.5386.57565.24.09001.0296.015.3396.904.98 10.027310.07.070.00.4696.42178.94.96712..

Linear Model

Linear Model 오차:실제 데이터와 모델이 예측한 값의 차이 H(x) : 예측값 y : 실제값 예측값에서 실제값을 뺀 오차를 제곱 후 더하고 데이터 수로 나눈다 2 -2 가 나왔을때 0이 되지않게 하기위해 제곱하는데 절대값이아니라 제곱하는이유: cost값을 크게 만들어 학습을 빠르게 시키기위해 Linear Model - Regression(Gradient descent algorithm) 경사하강법 Cost값(기울기)이 가장 낮은 지점을 찾는다 Learning rate가 클때는 크게 움직이며 완벽한 지점을 찾지는 못하고 작을때는 좀 더 정확한 지점을 찾지만 학습시간이 오래걸린다 import pandas as pd import numpy as np import matplotlib.pyplot as ..

예제 타이타닉 생존자 예측분석

타이타닉 생존자 예측분석 1. 목표 타이타닉 데이터를 학습해서 생존자/사망자를 예측해보자 머신러닝의 전체 과정을 진행해보자. 2. 데이터 수집 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 시각화 라이브러리 from sklearn.tree import export_graphviz import pandas as pd train = pd.read_csv('./data/titanic/train.csv', index_col = 'PassengerId') test = pd.read_csv('./data/titanic/test.csv', index_col = 'PassengerId') 3. 데..

머신러닝 Decision Tree

import pandas as pd import matplotlib.pyplot as plt from sklearn import metrics from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier 목표 버섯의 특징을 활용해 독/식용 버섯을 분류 Decision tree 시각화 & 과대적합 제어 특성선택(Feature selection) 해보기 data = pd.read_csv('./data/mushroom.csv') data poisonouscap-shapecap-surfacecap-colorbruisesodorgill-attachmentgill-spacinggill-sizegi..

Decision Tree

Decision Tree 타이타닉 데이터에서 생존자에 대한 질문 빨간색 구슬이 없거나 빨간색 구슬만 있을때 -> 불순도가 0 지니 불순도의 최대값은 0.5 같은 비율로 섞여도 엔트로피의 불순도가 더 높다 -> 성능(정확도)은 Entropy가 우세 계산 속도는 -> Gini가 빠르다 데이터의 수가 많을때 -> Gini 데이터 수가 적어서 성능이 중요할때 -> Entropy 질문의 수를 제한하여 과대적합 제어 하이퍼 파라미터를 이용해 질문의 개수 제어 Decision Tree로 중요한 특성을 찾고 앙상블 모델로 넘어가서 모델링 글자형태의 범주형 데이터는 모델에게 학습을 시키기 어렵워 데이터를 전처리해주어야하는데 범주형 데이터중에서 순서가 없는 데이터를 인코딩하는 것을 One-hot Encoding 이라 한다.

머신러닝 데이터 예측 (KNN모델)

보스턴 집값 데이터 예측 from sklearn.datasets import load_boston import pandas as pd import matplotlib.pyplot as plt from sklearn.neighbors import KNeighborsClassifier from sklearn import metrics from sklearn.model_selection import train_test_split 1. 문제정의 보스턴 데이터를 활용하여 집값을 예측해보자 (회귀) 2. 데이터 수집 로드된 보스턴 데이터 활용 3. 데이터 전처리 X_train, X_test, y_train, y_test 만들기 4. EDA 생략 5. 모델링 KNN 회귀모델 (K값은 자유롭게 찾아보자) from sk..

반응형