728x90
반응형

전체 글 258

1-5 파이썬 2 vs 파이썬 3

지금도 파이썬 2와 파이썬 3 버전이 함께 사용되고 있다. 하지만 파이썬 2는 더 이상 큰 개선은 없으며 파이썬 3에서 변경 사항이 많아 파이썬 2로 작성한 코드는 파이썬 3에서 실행되지 않는 경우가 많다. 처음 파이썬을 사용하는 사람은 파이썬 3로 시작하는 것을 권장한다. 파이썬 2로 작성한 코드는 가능한 빨리 파이썬 3로 업그레이드 하는 것이 좋다. 코드가 파이썬 2와 3에서 모두 실행되기 위해서는 six 패키지를 사용하면 된다. 아래 내용은 파이썬 2와 3에서 주요하게 차이나는 항목이다.print 함수 파이선 2에서는 괄호를 사용하지 않아도 되지만, 파이썬 3에서는 print("hello world")와 같이 괄호를 사용해야 한다.줄바꿈 코드 파이썬 3에서는 print("hello");print("..

1-6 머신러닝 애플리케이션을 만들기 위한 소프트웨어 버전

앞으로 진행될 머신러닝 학습을 하기위해서 실습환경이 강좌에서 사용하는 환경과 유사한지 확인하는 것이 좋다. 모든 라이브러리의 환경이 같을 필요는 없지만 최소한 scikit-learn은 최신 버전인 것이 좋다. In [3]:# S/W 버전 확인하기 import sys print("Python 버전 : {}".format(sys.version)) import pandas as pd print("pandas 버전 : {}".format(pd.__version__)) import matplotlib print("matplotlib 버전: {}".format(matplotlib.__version__)) import numpy as np print("Numpy 버전 : {}".format(np.__version__..

1-2 왜 파이썬인가?

파이썬은 데이터 과학 분야를 위한 표준 프로그래밍 언어가 되어 가고 있다. 파이썬은 범용 프로그래밍 언어의 장점과 매트랩, R과 같은 특정 분야를 위한 스크립팅 언어의 편리함을 함께 갖추었다. 파이썬은 데이터 적재, 시각화, 통계, 자연어 처리, 이미지 처리 등에 필요한 라이브러리들을 가지고 있다. 이와 같은 다양한 도구들이 데이터 분석에 필요한 유용하고 편리한 기능들을 제공한다. 또한 주피터 노트북과 같은 도구로 코딩하고 바로 결과를 확인할 수 있다는 장점도 있다. 범용 프로그래밍 언어로서 파이썬은 복잡한 그래픽 사용자 인터페이스(GUI)나 웹 서비스도 만들 수 있으며 기존 시스템과 통합하기도 좋다. 웹서비스를 만들기 위해서 많이 사용하는 장고(django)와 플라스크(flask)가 있다. 목차로 이동하기

파이썬 라이브러리를 활용한 머신러닝 요약

파이썬의 scikit-learn 라이브러리를 활용한 머신러닝 스터디를 진행면서 아래 순서대로 정리해보려고 한다. 소개왜 머신러닝인가?왜 파이썬인가?scikit-learn필수 라이브러리와 도구들파이썬 2 vs 파이썬3머신러닝 애플리케이션을 만들기 위한 소프트웨어 버전첫 번째 머신러닝 모델 : 붓꽃의 품종 종류요약지도학습분류와 회귀일반화, 과대적합, 과소적합지도 학습 알고리즘분류 예측의 불확실성 추정요약 및 정리비지도 학습과 데이터 전처리비지도 학습의 종류비지도 학습의 도전 과제데이터 전처리와 스케일 조정차원 축소, 특성 추출, 매니폴드 학습군집요약 및 정리데이터 표현과 특성 공학범주형 변수구간 분할, 이산화 그리고 선형 모델, 트리 모델상호작용과 다항식일변량 비선형 변환특성 자동 선택전문가 지식 활용요약 ..

python으로 Association Rule 구현하기 위한 선행 연구 조사

진행하는 프로젝트에 적용하기 위해 Association Rule(이하 AR)을 사용해야 하는 상황이 생겼다. 우선 찾아본 결과 우리가 적용할 수 있는 두 가지 방법이 있다. 1. python을 이용한 AR 구현 아래 5개의 링크가 파이썬을 이용한 AR 구현 관련된 자료이다. 시간이 날 때 하나씩 테스트 해봐야 겠다.https://pypi.python.org/pypi/apyori/1.1.1https://github.com/asaini/Apriorihttp://orange3-associate.readthedocs.io/en/latest/scripting.htmlhttps://pypi.python.org/pypi/Orange3-Associatehttps://github.com/asaini/Apriori 2. ..

중심극한정리

오늘 회의시간에 중심극한정리에 대한 이야기가 나와서 다시 한번 확인해 보았다. 의미는 아래과 같다. 확률론과 통계학에서, 중심극한정리(central limit theorem, CLT)는 동일한 확률분포를 가진 독립 확률 변수 n개의 평균의 분포는 n이 적당하다면 정규분포에 가까워진다는 정의이다.확률과 통계학에서 큰 의미가 있으며 실용적인 면에서도 품질관리, 식스 시그마에서 많이 이용된다. 결론은 표본의 평균도 모집단의 평균과 같다는 것이다. 그런데 우리의 상황은 동일한 확률분포가 아니다. 이 경우에는 어떻게 해야하는지 확인이 필요할 것 같다. Referencehttps://ko.wikipedia.org/wiki/%EC%A4%91%EC%8B%AC%EA%B7%B9%ED%95%9C%EC%A0%95%EB%A6%..

통계(Statistics) 2017.09.08

norm(노름)의 정의

norm에 대한 정의가 쉽게 설명된 것이 없다. 그래서 쉽게 정리를 해보려고 한다. Norm이란 간단하게 벡터/함수/신호의 크기(길이 or 강도)의 척도를 나타내는 수학적인 용어다. 즉, 벡터에서는 벡터의 크기, 길이를 의미한다고 보면된다. 벡터의 크기 = 벡터의 길이 = 벡터의 norm = \(||x|| \) 벡터의 노름에는 여러가지가 있는데 대표적인 두가지는 아래와 같다. 코사인 유사도를 구하기 위해서는 \(l_2 norm\)을 주로 사용한다. \(||x||_1=\sum_{i=1}^{n} |x_i| = l_1 norm \) = 맨하튼 노름 \(||x||_2=\sqrt{\sum_{i=1}^{n} |x_i|^2} = l_2 norm\) = 유클리드 노름 맨하튼 거리와 유클리드 거리를 설명하기 위해 아래 ..

데이터 분석 시 식에 로그를 취하는 이유

데이터 분석에서 log의 중요성에 대해서 이야기 해보겠다. 데이터 분석을 하기 위해 log를 취하는 이유는 한마디로 정규성을 높이고 분석(회귀분석 등)에서 정확한 값을 얻기 위함이다. 데이터 간 편차를 줄여 왜도(skewness)와 첨도(Kurtosis)를 줄일 수 있기 때문에 정규성이 높아진다. 예를 들어, 연령 같은 경우에는 숫자의 범위가 약 0세~120세 이하 이겠지만, 재산 보유액 같은 경우에는 0원에서 몇 조단위까지 올라갈 수 있다. 즉, 데이터 간 단위가 달라지면 결과값이 이상해 질 수 있다. log의 역할은 큰 수를 같은 비율의 작은 수로 바꿔 주는 것이다. log는 큰 수를 작게 만들고 복잡한 계산을 간편하게 하기위해 사용한다. 로그를 취하는 순간 그 수는 지수가 되어버리니, 값이 작아 진..

numpy.linalg.norm

numpy.linalg.norm numpy.linalg.norm(x, ord=None, axis=None, keepdims=False) 이 함수는 8가지 다른 매트릭스 노름 중 1가지를 반환한다. 또는 ord 파라미터의 값에 따라 벡터 노름의 무한 값 중 한가지를 반환한다. 파라미터x : array_like배열을 입력한다. 만약 axis가 none이면 x는 1차원이나 2차원이다.ord : {0이 아닌 정수값, inf, -inf, 'fro','nuc'} optional노름의 순서(아래 note 확인) inf는 numpy의 inf 오브젝트를 의미한다axis : {정수, 정수의 2 튜플, None}, optionalaxis가 정수이면, 벡터 노름을 계산할 x의 축을 지정한다. axis가 2-튜플이면 2차원 매..

728x90
반응형