TensorFlow 모두를 위한 엔드 투 엔드 오픈소스 머신러닝 플랫폼입니다. 도구, 라이브러리, 커뮤니티 리소스로 구성된 TensorFlow의 유연한 환경입니다. www.tensorflow.org 1. 텐서플로우 이름의 뜻 텐서플로우(Tensorflow)에서 텐서(Tensor)는 "다차원 수학 배열(Multidimensional arry of numbers)라고 말한다. 우선 숫자 한 개는 스칼라(scalar)이다. 이 스칼라와 비슷한 성질을 가진 또다른 스칼라들을 같이 묶어 놓은, 1차원 배열을 벡터(vector)라고 하고, 이를 rank1 tensor 라고 한다. 또 이 벡터들을 여러개 묶어 놓은 2차원 배열을 매트릭스(Matrix)라고 하고, 이를 rank2 tensor라고 한다. 여기서 각각의 ..
데이터 사이언스 메뉴얼 검색 결과
Linear Regression(선형 회귀)란? 머신러닝은 지도학습과 비지도학습으로 나눠지고, 지도학습은 분류와 회귀(예측)으로 나눠진다. 우리는 이 글에서 회귀의 대표적인 알고리즘인 Linear Regression을 알아보고자 한다. Q: 당신은 이 그림의 별을 보고 어떤 식으로 나눴으면 좋겠는지 말해보시오. 대부분 별 모양을 중심으로 어떠한 선을 그릴 것이다. 그게 직선일수도 원일수도 곡선일수도 있다. 하지만 여기서 설명할 Linear Regression(선형 회귀)는 말 그대로 '선형'이다. 직선 형태의 함수를 그어 예측하는 것을 말한다. 앞서도 말했듯이 별들 사이로 간단한 직선을 그어 '예측'하는 것이 선형 회귀이다. 이렇게 regression(회귀)의 가장 큰 목적은 실제 데이터를 바탕으로 모델..
Statistical analysis(통계적 분석)은 데이터 셋의 변수가 서로 어떤 연관이 있는지 그리고 다른 변수에 어떻게 영향을 받는지 이해하는 과정이다. 이 과정에서 시각화는 핵심 요소가 될 수 있다. 왜냐하면 시각화를 잘 했다면 한눈에 두 변수에 따른 변화,패턴을 쉽게 찾을 수 있기 때문이다. 이 글에서는 변수간의 상관관계를 찾기 위해 시각화 라이브러리 중 하나인 Seaborn의 relplot(), scatterplot(), lineplot() 3가지 함수를 다룰 것이다. scatterplot()는 산점도를 lineplot()은 선 그래프를 그려준다. relplot()은 쉽게 설명하면 scatterplot(), lineplot()의 상위 개념 즉 두 함수를 모두 포함하고 있다고 생각하면 된다. 일..
heatmap 이란? heatmap은 열을 의미하는 heat와 지도를 뜻하는 map을 합친 단어이다. 데이터들의 배열 을 색상으로 표현해주는 그래프이다. 왜 heatmap을 사용하는가 - heatmap을 사용하면 두 개의 카테고리 값에 대한 값 변화를 한눈에 알기 쉽다. - 대용량 데이터도 heatmap을 이용해 시각화 한다면 이미지 몇장으로 표현이 가능하다. heatmap 만들기 먼저 필요한 모듈과 라이브러리들을 import 해주었다. heatmap을 그리기위해 seaborn에 내장되어 있는 flights 데이터셋을 불러왔다. flights 데이터 셋은 1949~1960년간 월별 승객수를 담고 있다. 현재 데이터가 heatmap을 그리기에는 적합하지 않으므로 다음과 같이 데이터 셋을 바꿔주었다, 빨간색..
전 글에 이어서 진행됩니다. 조건에 맞는 데이터 선택하기(boolean indexing) x % 2 == 0을 사용해 데이터들을 boolean형태로 바꿔준다. even_mask라는 변수에 조건 대입 원래있던 변수인 x에 대괄호를 사용해 x[even_mask]를 사용하면 해당 조건에 True인 값들만 다시 ndarray 형태로 나타내준다. 변수를 생략하고 x[조건]을 사용해도 바로 나타낼 수 있다. 다중조건 사용해서 데이터 선택하기 앞서는 단일조건에 해당한 이야기이다. 다중조건을 사용할 경우가 많은데, numpy에서는 and, or, not같은 논리 연산자 사용이 불가능하다. 그래서 and - & , or - |(엔터키 위에 원화 shift)로 대체하여 사용할 수 있다. 마찬가지로 조건을 가로로 묶고(중요..
전 글에 이어서 진행됩니다. 기본 사칙연산하기(더하기, 빼기, 곱하기, 나누기) 기본적으로 numpy의 연산은 python에서 연산과 비슷한 개념을 갖고 있다. 단 주의해야할 점은 행렬의 갯수가 같아야 한다. m x n 의 데이터 형태면 연산할 데이터의 형태가 모두 같아야 한다. (broadcasting을 활용해 예외도 나올 수 있다. broadcasting은 다음에 알아보도록 하자) - np.add(x, y) -> 더하기 연산 : 이와 같은 내장함수 형태로 계산을 가능하고, x + y와 같이 연산해도 같은 값이 나온다. - np.substract(x, y) = x - y -> 빼기 연산 - np.multiply(x, y) = x * y -> 곱하기 연산 - np.divide(x, y) = x / y -..
전 글에 이어서 진행됩니다. 원하는 데이터 값(들) 가져오기 인덱싱(원하는 요소 추출, 차원축소의 기능) 1차원 데이터에서 값 가져오기 numpy에서 인덱싱은 파이썬 리스트의 인덱싱과 비슷한 원리이다. [ ]를 사용하여 값을 추출해온고, 항상 첫 번째 값은 0부터 시작이다. - 변수명[n] -> n+1번째 값을 가져온다. - 변수명[-1] -> 마지막 값을 가져온다. - 변수명[n] = 값 -> 원하는 위치에 값을 저장하여 데이터를 바꿀 수도 있다. 2차원 데이터에서 값 가져오기 2차원 데이터는 행과 열이 있느 데이터이다. (수학에서 x, y 좌표평면과 비슷한 개념이고 선형대수의 행렬이랑 같은 개념이다) - 변수명[m, n] -> m+1번째 행, n+1번째 열을 가져온다. (마찬가지로 0부터 시작이여서 ..
Numpy모듈에 대해 Numpy란? : “Numerical Python“의 약자로 대규모 다차원 배열과 행렬 연산에 필요한 다양한 함수를 제공한고, 파이썬 기반 데이터 분석 환경에서 행렬 연산을 위한 핵심 라이브러리. (numpy를 np로 보통 축약해서 쓴다. = 사람들간의 약속) Numpy를 사용하는 이유 : 1) 메모리 사이즈 : 메모리 버퍼에 배열 데이터를 저장하고 처리하는 효율적인 인터페이스를 제공한다. 2) 성능 : 파이썬 list 객체를 개선한 NumPy의 ndarray 객체를 통해 더 많은 데이터를 더 빠르게 처리할 수 있다. 3) 빌트인 함수 : 선형대수, 통계관련 여러 함수가 내장되어있다. Numpy를 사용하기 전 배열이란? : NumPy 배열은 과 같이 다차원 배열을 지원하고, 구조는 ..
지난 글에 이어 이번에는 matplotlib에 있는 여러 시각화 모델 중 대표적인 것 몇 개를 간단 하게 알려주려고 한다. 각 모델에 대해 더 자세히 공부해 보고 싶다면 각 모델 시작 마다 웹 사이트 링크가 달려있으니 웹사이트를 참조하면 된다. Bar_chart(막대그래프) - https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.bar.html 막대그래프의 장점은 크고 작음을 한눈에 이해할 수 있다는 것이다. 주로 공시적 자료를 다룰 때 자주 쓰인다. 1)막대그래프 생성하기 - plt.bar(x,y,기타설정들) 똑같이 연도별 messi의 골수를 막대그래프로 나타내 보자 작성 형식은 다음과 같다. 기본적인 형태로 막대그래프를 그려봤다. y축 label들..
Matplotlib에 대하여 Matplotlib란 Matplotlib는 Python에서 데이터들을 시각화해주는 라이브러리이다. matplotlib는 사실 다른 시각화 라이브러리들에 비해 시각적인 부분에서 뛰어나다고는 할 수 없다. 하지만 matplotlib는 적당한 수준의 시각화를 간단하게 할 수 있기 때문에 가장 대중적인 시각화 라이브러리이다. Python에서 사용되기 때문에 그때그때마다 그래프를 수정해줄 수 있다는 장점이 있다. Maplotlib 설치하기 먼저 matplotleb를 설치를 해야한다. matplotlib의 설치 방법은 다음과 같다. Python을 깔고 cmd 창에 아래 코드를 치면 설치가 된다. pip install matplolib 시작하기에 앞서.. matplotlib에는 수많은 종..
최근댓글