IT&컴퓨터공학/데이터분석개론
-
[데이터분석실전]NumPyIT&컴퓨터공학/데이터분석개론 2021. 2. 16. 16:44
NumPy Overview¶ In [3]: import numpy as np # numpy 를 import 하고, np 라는 이름으로 사용하자 ndarray : N 개의 dimensions array 라고생각하자. 들어가있는 데이터타입은 모두 동일해야한다.¶ In [6]: original_data = np.random.randn(2,3) # 2 by 3 형태의 매트릭스를 만드는데, 이때 standard normal distriution N(0,1) 사이의 값을 선택한다. In [7]: print(original_data) [[-1.04237377 0.48626224 0.61142801] [-0.24311897 0.87454671 -0.5134187 ]] ndarray 에서 할 수 있는 수학적인 계산¶ I..
-
[데이터분석실전] 라이브러리IT&컴퓨터공학/데이터분석개론 2021. 2. 16. 15:28
Scikit-learn python을 대표하는 머신러닝 라이브러리이다. '사이킷런'이라고 부르기도 한다. scikit-learn은 오픈 소스로 공개되어 있으며, 개인, 비즈니스 관계없이 누구나 무료로 사용가능하다. scikit-learn은 현재도 활용하여 개발이 이루어지고 있으며, 인터넷 상에서 정보를 찾기에도 싶다. 많은 머신러닝 알고리즘이 구현되어 있는데, 어떤 알고리즘도 같은 방식으로 이용이 가능하다. 또, 샘플 데이터 셋(토이 데이터 셋)이 부속되어 있으므로, 설치하여 바로 기계 학습을 시험해볼 수 있다. 그러므로 초심자가 기계학습을 배우기 시작할 때 적합한 라이브러리라고 말한다. NumPy numpy는 Numerical Python의 약자이다. 파이썬의 고성능 과학 계산용 패키지로 Matrix와..
-
[데이터분석개론]Cluster AnalysisIT&컴퓨터공학/데이터분석개론 2021. 2. 16. 14:39
Classification VS Clustering Classification : 과거에 이 데이터가 어떤 클래스에 소속되어있었다 ! 라는게 존재. 즉 지도학습 Clustering : 이런 정보 자체가 없다. 즉 비지도 학습으로 분류할 y값이 정해져있지 않고 컴퓨터가 알아서 데이터 기준으로 분류한다. 즉 비지도학습 Clustering 미국의 22개의 public utilities 에 대한 데이터 자료다. fuel cost 와 sales 을 y축과 x 축으로 가지는 산점도를 그려보면 이렇게 나타 날 수있는데 우리는 이 산점도를 보고 대략적으로 3 그룹으로 나눌 수있다. 여기서 이렇게 원으로 잘 묶는것, Pacific 같은경우 빨간 원과 노란 원의 경계 즈음에 위치하는데, 이 판단을 정확히 해주는 것이 바로..
-
[데이터분석개론] Collaborative FilteringIT&컴퓨터공학/데이터분석개론 2021. 2. 15. 23:26
Collaborative Filtering 다른 사용자들과의 협업을 통해 구현되는 알고리즘. 즉, 다른 유저의 추천 데이터들을 바탕으로 시스템을 구현한다. 사용자들의 데이터를 바탕으로 추천을 구축하는데, 하위 항목으로 아이템 기반 필터링(Item-based Filtering) 과 유저 기반 필터링(User-based Filtering) 으로 구분된다. (좌)유저 기반 필터링의 경우, 추천을 받을 사용자(A)와 유사한 타 사용자(B)를 추천 리스트를 통해 찾아내고 B가 좋아하는 목록 중 아직 A가 경험한 적 없는 아이템을 추천해준다. 좌측 이미지에 해당한다. (우)아이템 기반 필터링의 경우, 아이템들에 대해서 사용자들의 선호도를 기반으로 유사한 아이템을 찾아 추천하는 기법이다. 우측 이미지처럼 User A..
-
[데이터분석개론] Association Rules & Collaborative FilteringIT&컴퓨터공학/데이터분석개론 2021. 2. 14. 23:07
Association Rules 많은 추천시스템에서 사용하는 Rule이다. 만약 어떤 이가 A라는 상품을 구매하면 후에 B 도 구매한다고 가정하자. 이때 어떤 이가 A라는 상품을 구매하면 을 "선행사건" , B도 구매한다를 "후행결과" 라고 부른다. 예제를 살펴보자 ! 해당 예제는 사람들이 어떤 색의 핸드폰 케이스를 샀는지 나타낸다. 우리는 여기서 다양한 Rules 를 발견할 수 있다. 1. 1,4,8,9 번 사람을 보니 red 를 사면 white 도 사는거 같네 2. 혹은 white 를 사면 red 를 사는거 같네 3. white 를 사면 blue 도 사는거 같네 처럼 언뜻보기에 수 많은 rules 를 찾을 수 있다. 사실 모든 아이템의 조합을 찾아내는게 가장 이상적이지만, 현실적으로 핸드폰 케이스가 ..
-
[데이터분석개론] Naïve Bayes Classifier. 나이브베이즈 분류IT&컴퓨터공학/데이터분석개론 2021. 2. 13. 23:28
Naïve Bayes Classifier 베이즈 정리에 기반한 통계적인 분류 기법이다. K-NN 과 비슷하지만, K-NN 의 경우엔 데이터가 실수의 범위일때만 사용이 가능한것에 비해 ( 유클리드 거리를 쓰니까 ) 나이브베이즈는 카테고리 데이터에 사용할 수 있다. 실수 범위의 데이터인 경우엔 bin 형태로 바꿔서 카테고리형 데이터로 바꿔 사용할 수 있다. 해당 예제는 범행 이력(?) 에 관한 표다. '과거 범행이력을 기반으로 이번에 범행을 저질렀는가 혹은 저지르지않았는가' 를 나타낸다. 맨 위 과거 범행이력은 X=1, X=0 으로 카테고리형 데이터인걸 볼 수 있다. 왼쪽 위 : 과거 범행 이력 있음. 이번에 범행 저지름. 오른쪽 위 : 과거 범행 이력 없음. 이번에 범행 저지름. 왼쪽 아래 : 과거 범행 ..
-
[데이터분석개론] K-Nearest NeighborsIT&컴퓨터공학/데이터분석개론 2021. 2. 13. 21:18
K-Nearest Neighbors ( KNN ) 말 그대로 최근접 이웃을 찾는 알고리즘이다. 지도학습의 한 종류로 거리기반 분류분석 모델이다. model-driven 한 모델이 아닌 data-driven 한 모델이다. 즉 데이터를 가지고 알아서 모델이 만들어지므로 식이 존재하지않는다. K-NN 알고리즘은 유유상종 알고리즘인데, 예를들어 A라는 사람과 가장 가까운 속성을 가진 사람이 영웅이라면, A도 영웅이겠지~ 하고 예측하는 방법이다. 즉 내가 구분하고 있는 데이터와 가장 가까운 곳에 있는 이웃이 누구냐 ? 를 보고 판단하는 방법이다. 그럼 가장 가까운 이웃은 수학적으로 어떻게 구할 수 있을까 ? 바로 Euclidean Distance 를 사용한다. Euclidean Distance 두 점 사이간의 거..
-
[데이터분석개론]Logistic Regression . 로지스틱 회귀분석IT&컴퓨터공학/데이터분석개론 2021. 2. 13. 20:30
Logistic Regression 선형회귀분석과 달리 Y ( target ) 이 숫자가 아니고 카테고리일 때 사용하는 회귀분석. 즉, 특정 숫자를 예측한다기보다 데이터가 어떤 카테고리에 속해있는가 예측하기 위해 사용한다. 앞에선 다중선형회귀분석 식과 비슷하지만 여기서 target 값은 Y 가 아닌 P를 쓰는데, 이는 로지스틱 회귀분석에서는 예측하려는게 클래스이다보니 Y값을 확률로 나타내기 떄문이다. ( 0 ~ 1 사이의 값 ) 예를들어 Y값이 0.5 이하면 클래스 1로 , 0.5 초과면 클래스 2로 분류하는 식이다. 그러나 위의 식에는 문제점이 있는데, p 값이 음의 무한대부터 양의 무한대와 같은 큰 수도 가질 수 있다는 점이다. 그러나 우리는 p 값을 0~1 사이의 값으로만 표현해야한다. 이렇게 p의..