본문 바로가기

728x90

기타/python

(20)
파이썬 웹 크롤링 urllib과 BeautifulSoup 예제(1) 파이썬 웹 크롤링은 많이 사용됩니다. 활용되는 라이브러리로는 urllib과 BeautifulSoup가 있습니다. urllib은 url에 있는 웹페이지를 가져오는 기능을 제공하는 패키지입니다. BeautifulSoup은 가져온 데이터를 가공하여 필요한 부분만 가져오는 패키지입니다. 예시를 통해 간단하게 알아보도록 하겠습니다. 가져오고자 하는 데이터는 네이버에서 미국 대선이라는 검색어를 뉴스 카테고리에서 검색했을 때 나오는 a태그들입니다. 아래와 같은 html코드에서 가져옵니다. 우선 필요한 모듈들을 import해줍니다. with 부분의 코드는 url을 열어 html 코드를 response라는 객체에 담아 줍니다. urllib.parse.quote("미국 대선")을 쓴 이유는 url을 입력할 때 한글이 들어..
활성화 함수 relu, Leakyrelu를 사용하는 이유 오늘 공부할 내용은 활성화 함수로 relu를 사용하는 이유이다. 딥러닝 네트워크는 오차 역전파 알고리즘을 통해 가중치를 업데이트한다. 활성화 함수를 미분한 값을 이용해 가중치를 업데이트하기 때문에 활성화 함수를 어떤 것으로 설정하냐에 따라 달라집니다. 과거에 주로 사용했던 활성화 함수는 sigmoid함수입니다. sigmoid함수는 미분하면 y(1-y)입니다. 레이어의 개수가 늘어날 때마다 sigmoid의 함수 곱은 점점 많아진다. 레이어가 1개일 때는 곱셈 연산이 4번 2개일 때는 7번,.. 8번째 레이어에서는 25번의 곱셈 연산이 된다. 만약 2의 25승은 거의 무한대에 가깝고 1/10의 25승은 0에 가깝습니다. 레이어의 숫자가 많은 딥러닝 네트워크에서 sigmoid함수를 활성화 함수로 사용하게 되면..
자주 쓰이는 numpy 함수 정리 numpy, numerical python = numpy는 데이터 분석에 널리 사용되는 패키지입니다. 주로 행과 열로 이루어진 데이터 객체를 조작하고 안정적으로 대용량의 데이터를 처리할 수 있습니다. 파이썬의 고성능 과학 계산용 패키지입니다. 오늘은 numpy의 주요 함수에 대해 알아보도록 하겠습니다. 함수들을 알아봄으로써 어떤 상황에서 numpy배열을 사용해야 하는지 확실히 알아보도록 하죠. import numpy as np np.array([1,2,3,4]) np.array는 numpy array를 생성하는 코드입니다. 대부분의 np 함수들은 numpy array를 대상으로 합니다. numpy array는 행렬이라고 생각하시면 편합니다. 1. array구조 파악하는 함수 array.dtype np a..
비지도학습 k-mean 클러스터링 python예제 비지도 학습이란 라벨이 없는 데이터에서 구조를 찾는 학습방법입니다. 대표적인 방법으로는 클러스터링, transformation , outlaieroutlier detection, density 측정, MDS 등이 있습니다. 클러스터링은 비슷한 성질의 그룹을 찾을 때, 트랜스포메이션은 원데이터에서 정보를 추출할 때, 아웃라이어 디텍션은 특이 성질을 가진 패턴을 찾을 때, density 측정은 데이터의 분포가 어떻게 되어있는지 예측할 때, MDS는 다차원의 데이터를 측도를 유지하면서 2차원으로 축약할 때 사용합니다. 오늘은 가장 대표적인대표적인 클러스터링 방법은 K-mean 클러스터링에 대해 알아보도록 하겠습니다. K-mean 클러스터링은 전체 표본을 k개의 군집으로 나누는 기법으로 각 군집은 하나의 중심을..
KNN 알고리즘 python예제 오늘은 knn(k 최근접 이웃 알고리즘)에 대해 알아보도록 하겠습니다. K-Nearest-neighbor 지도학습의 한 종류입니다. 지도학습은 데이터에 라벨이 있는 머신러닝 학습방법입니다. (라벨이 없는 데이터라면 비지도학습 방법을 사용해야 합니다. knn알고리즘 실행 전 반드시 라벨의 유무를 체크해주세요. 라벨이란 정답이라고 보면됩니다. 예를 들어 과일로 보면 사과라는 라벨과 함께 관련 데이터들이 있어야 합니다. 사과라는 라벨이 없으면 knn알고리즘을 실행할 수 없습니다.) 최근접한 이웃을 찾아 분류하는 작업을 수행합니다. 최접함을 표시하는 기준은 유클리드 거리입니다. 유클리드 거리란 두점사이의 거리를 계산할 때 쓰는 방법입니다. 데이터의 유사도를 판단할 때 자주 사용됩니다. knn에서 n개란 것은? ..
python 머신런닝 라이브러리와 머신러닝의 종류 python 머신런닝 라이브러리 종류scikit-learning, scipy에 대해 간단하게 알아보도록 하겠습니다. scikit-learning 은 머신러닝 라이브러리로 지도학습, 비지도학습모듈/ 데이터 변환 및 데이터 불러오기 위한 모듈/ 계산 성능 향상을 위한 모듈/ 모델 선택 및 평가 모듈을 제공합니다. 간단하게 예시로 살펴보도록 하겠습니다. pip install scikit-learn로 라이브러리를 다운로드 한 후에 실행하시면 됩니다. from sklearn.datasets import load_iris #scikitlearn에서 기본적으로 제공하는 붓꽃 데이터 셋입니다. from sklearn.model_selection import train_test_split #데이터를 train과 test..
딥러닝 최적화하는 4가지 방법 딥러닝에서 학습이 잘되었다는 것의 의미는 테스트 셋에서의 정확도가 높다는 것을 의미한다. 이것을 높이기 위해서 어떤 방법들이 있을까? 1. 많은 양의 데이터를 학습한다. 많은 양의 데이터를 학습하면 딥러닝의 기능은 좋아질 것이다. 딥러닝은 결국 뉴런과 뉴런 사이를 잇는 가중치를 최적화시키는 것인데 학습이 많을수록 그 가중치가 실제값을 구하는데 가까워지기 때문이다. 하지만 데이터에 노이즈가 있다면? 노이즈까지 학습한 모델은 잘못된 값을 리턴할 가능성이 높아진다. 때문에 많은 양의 데이터가 있다고 해서 반드시 테스트셋에서의 정확도가 높아지는 것은 아니다. 뿐만 아니라 많은 양의 좋은 데이터를 확보하는 것에는 한계가 있다. 2. 적당한 노드 수. 정해진 최적화 노드수는 없다. 이는 경험에 의해 스스로 채득하는..
p-value 와 귀무가설,공분산, 상관계수 p-값(p-value)는 관찰된 데이터가 귀무가설과 양립하는 정도를 0에서 1 사이의 수치로 표현한 것이다 p-value가 클수록 귀무가설과 데이터가 양립할 확률이 높아졌다는 것으로 귀무가설을 채택할 확률이 높아진다. P-value가 작을 수록 귀무가설을 기각하고 대립가설을 선택할 확률이 높다. 공분산은 두개의 확률변수의 상관관계를 나타내는 값이다. 공분산은 단위에 따라 값이 달라집니다. 예를 들어 cm일 때와 mm일 때 상관관계가 다르게 나옵니다. 상관계수는 공분산의 이러한 한계를 보완한 변수간 상관관계를 나타내는 값이다.

728x90