본문 바로가기

분류 전체보기

(116)
Python - SVM(서포트 벡터 머신) SVM (서포트 벡터 머신) - 패턴인식, 자료 분석 등을 위한 지도학습 모델 - 비확룰적 이진 선형 분류 모델을 생성한다. - SVM의 분류 모델은 데이터들의 경계로 표현되며, 공간상 존재하는 여러 경계 중 가장 큰 폭을 가진 경계를 찾는다. - 위 그림에서 x와 o의 분류할 때 데이터들 간의 벡터 거리를 측정했을 때, 그 거리가 최대가 되는 분류자를 찾아나간다. - 각 그룹을 구분하는 분류자를 결정 초평면(Desicion Hyperline), 초평면에 가장 근접한 최전방 데이터들을 서포트벡터라고하며, 서포트 벡터와 초평면 사이의 수직 거리를 마진(Margin)이라고 한다. - SVM 모형은 선형 분류 뿐만 아니라 비선형 분류에도 사용되는데, 커널 트릭을 사용한다. - SVM 장점 1. 분류와 예측에 ..
Python - KNN(K-Nearest-Neighbors) K-Nearest Neighbor Classification(K-최근접 이웃 알고리즘) - 지도학습 (Supervised Learning) - K-NN 알고리즘의 원리 : 새로운 데이터의 클래스를 해당 데이터와 가장 가까운 k개 데이터들의 클래스로 결정한다. - K-NN 알고리즘의 최근접 이웃 간의 거리를 계산할 때 유클리디안 거리, 맨하탄 거리, 민코우스키 거리 등을 사용한다. 대표적으로 유클리디안 거리를 사용한다. *유클리디안 거리 : 두 점 P와 Q가 각각 P=(p1,p2,p3,...,pn) Q=(q1,q2,q3,...,qn)의 좌표를 가질 때 아래 공식으로 표현된다. - k의 선택은 학습의 난이도와 데이터의 개수에 따라 결정될 수 있으며, 일반적으로 훈련 데이터 개수의 제곱근으로 설정한다. - k..
Python - 회귀분석(Regression) ''' 머신러닝 : 기계학습 각각의 변수들의 관계를 찾는 과정. 예측 단계. 예측 : 회귀분석 분류 : KNN 군집 : K-means ... 지도학습 : 회귀분석, 분류 => 정답을 알고 학습 비지도학습 : 군집 => 정답이 없는 상태에서 서로 비슷한 데이터끼리 그룹화 강화학습 머신러닝 프로세스 데이터 정리 -> 데이터 분리(훈련데이터/검증데이터) -> 알고리즘 준비 -> 모형학습(훈련데이터) -> 예측(검증데이터) - > 모형평가 -> 모형활용 ''' ''' 회귀분석(regression) : 가격, 매출, 주가 등등의 연속성이 있는 데이터의 예측에 사용되는 알고리즘 설명(독립)변수 : 예측에 사용되는 변수 -> 학습 (머신러닝 알고리즘 : 회귀 분석) -> 예측(종속)변수 ''' # 단순 회귀 분석 :..
Python - 서울시 CCTV수를 파악해서 시각화하기 (산점도, 회귀선) ''' 서울시 각 구별 CCTV 수를 파악하고, 인구대비 CCTV 비율을 파악해서 순위 비교 서울시 각 구별 CCTV 수 : 01. CCTV_in_Seoul.csv 서울시 인구 현황 : 01. population_in_Seoul.xls ''' import pandas as pd CCTV_Seoul = pd.read_csv("01. CCTV_in_Seoul.csv", encoding='utf-8') CCTV_Seoul.head() CCTV_Seoul.info() # 기관명 컬럼의 이름을 '구별' 컬럼으로 변경하기 CCTV_Seoul.rename(columns={'기관명':'구별'},inplace=True) CCTV_Seoul.head() # 첫번째 컬럼의 이름을 '구별'로 컬럼명을 변경하기 CCTV_Seo..
Python - 웹크롤링 후 텍스트 마이닝 (seleium) ''' ##### 크롤링으로 데이터 가져오기 ##### wordcloud 그래프로 시각화하기 pip install pytagcloud pygame simplejson ㄴ 아래 세가지를 합쳐서 입력 1. pip install pytagcloud => wordcloud 그래프 2. pip install pygame 3. pip install simplejson ##### 형태소 분석 : konlpy 모듈 필요 ** 윈도우 사용시 셋팅 필수 ! pip install konlpy https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype 파이썬의 버전 확인 anaconda prompt > python --version 입력 > 3.8.8 jpype 사이트에서 JPype1-1.1.2..
t-test # drinks 데이터셋의 기본 정보 조회하기 import pandas as pd drinks = pd.read_csv("drinks.csv") drinks.info() drinks.head() # scipy 모듈 설치 # scipy : 통계 관련 기능 제공 pip install scipy from scipy import stats # 아프리카와 유럽간의 맥주 소비량 차이를 검증 # t_test : 두 집단간의 평균의 차이 # 유럽과 아프리카 지역의 통계 검정 # africa : 아프리카의 대륙의 국가 정보만 저장 # europe : 유럽 대륙의 국가 정보만 저장 africa = drinks.loc[drinks['continent']=='AF'] europe = drinks.loc[drinks['cont..
Python - 웹크롤링 (BeautifulSoup/ Selenium) html = ''' 포털 목록 naver" target="_blank" rel="noopener">http://www.naver.com'>naver daum" target="_blank" rel="noopener">http://www.daum.net'>daum ''' from bs4 import BeautifulSoup soup = BeautifulSoup(html, "html.parser") links = soup.find_all("a") for a in links : # attrs : 속성값 # 이름이 href인 속성의 값을 리턴 href = a.attrs["href"] #http://www.naver.com text = a.string #a 태그의 내용 #daum print(text,">",href..
Python - 변수저장, 데이터프레임 필터(조회기능), 데이터프레임 병합 import seaborn as sns # titanic 데이터를 가져와서 titanic 변수에 저장하기 titanic = sns.load_dataset('titanic') titanic # titanic 데이터셋에서 age, fare 2개 열을 선택하여 데이터프레임 df 만들기 import pandas as pd df = titanic.loc[:,['age','fare']] df # df 데이터셋에 ten 컬럼에 10을 넣어서 추가하기 df['ten'] = 10 print(df.head()) # 10을 더하여 저장 함수 add_10를 생성하기 def add_10(x): return x + 10 # 두개의 변수 더하여 저장하는 add_two_obj 함수 def add_two_obj(a,b): return..