목록2023/01/02 (15)
도찐개찐
sklearn 파이썬 기반 쉽고 효율적인 머신러닝 라이브러리 제공 머신러닝을 위한 다양한 알고리즘 제공 데이터셋, 데이터전처리, 지도/비지도학습, 모델 선택/평가 등을 위한 모듈 제공 scikit-learn.org # !pip install scikit-learn import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn sklearn.__version__ '1.1.3' scikit-learn에서 제공하는 데이터셋 확인 load : 내장된 데이터셋 불러옴 fetch : 인터넷을 통해 내려받는 대량 데이터 make : 확률분포에 근거해서 생성하는 가상 데이터 from sklearn.datasets import l..
인공지능의 정의 인간의 지능을 기계로 구현하는 모든 형태 인공지능의 범위 인공지능 > 머신러닝 > 딥러닝 인공지능 구현방식 초기에는 지식전달방식으로 구현 개발자가 기계에게 일반적인 규칙을 알려줌 심한 변환의 양상에는 잘 대처하지 못함 기호주의(rule-based) 후기에는 데이터중심으로 구현 데이터를 중심으로 기계가 학습(규칙/패턴인식)한 뒤 새로운 데이터를 통해 예측/분류함 훈련을 위한 많은 양질의 데이터가 필요 연결주의(신경망이용) 머신러닝 컴퓨터가 경험을 통해 학습할수 있도록 프로그래밍하되 세세하게 프로그래밍 해야하는 번거로움에서 벗어나게 하는 것 머신러닝 알고리즘 지도학습 : 데이터와 레이블(정답)을 통해 훈련 수행 분류 : 범주형데이터, 이진분류, 다항분류 ex) 개,고양이 사진 분류, 스팸분류..
import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib as mpl import seaborn as sns from sklearn.datasets import load_boston from sklearn.datasets import fetch_california_housing from statsmodels.formula.api import ols fontpath = '/home/bigdata/py39/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf/NanumGothic.ttf' fname = mpl.font_manager.FontProperties..
회귀분석 상관분석은 변수들이 얼마나 밀접한 관계를 가지고 있는지 분석하는 통계적 기법 한편, 회귀분석은 (상관분석 + 예측)하는 통계적 기법 수량형 값을 예측하는데 주로 사용되는 통계적 모형 즉, 두 변수간의 선형(직선)관계를 식으로 표현하고 독립변수 $x$가 주어지면 종속변수$y$의 값이 얼마인지 추정 독립변수와 종속변수 사이의 관계를 선형방정식으로 나타낸 것을 회귀방정식이라 함 $ \hat y = ax + b + \epsilon $ $a$ : 기울기 $b$ : 절편 $\epsilon$ : 오차, 잡음(noise) 회귀직선을 그릴때는 최소제곱법 이라는 수학적 기법을 이용하는데, 이는 두 변수의 선형관계를 계량화 한 것임 $$ a = \frac{\sum(x_i - \bar x)(y_i - \bar y)}..
상관분석 두 변수 x, y가 있을때 두 변수가 서로 어떤 관계에 있는지 분석하는 과정 보통 2개의 등간/비율 척도 변수를 분석할때 우선적으로 산점도를 그려 변수간의 관계를 시각화 한 후 상관계수를 계산 변수들 관계 예 키x가 클수록 몸무게y도 증가하는가? 교육을 많이 받으면 수입도 증가하는가? 광고를 많이 하면 판매량이 증가하는가? 운동을 많이 하면 몸무게는 감소하는가? 담배를 줄이면 심혈관 질병 발생비율은 낮아지는가? 두 변수 정의 : 독립변수, 종속변수 독립변수 : 종속변수를 추정하거나 예측하는데 토대를 제공 (원인/설명 변수) 종속변수 : 예측되거나 추정되는 변수, 독립변수의 특정값에 대한 결과를 의미 (결과/반응 변수) 독립변수와 종속변수는 인과관계를 가질 가능성이 높음 (원인-결과 관계) 즉, ..
다중 그래프 그리기 subplot(행, 열, 번호) import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns x = [1,2,3,4] y = [2,3,5,10] 수평 다중 그래프 plt.subplot(1, 2, 1) # 1행 2열 영역중 1행 1열 영역 plt.plot(x, y, 'r') plt.subplot(1, 2, 2) # 1행 2열 영역중 1행 2열 영역 plt.plot(x, y, 'b--') plt.tight_layout() 수직 다중 그래프 plt.subplot(2, 1, 1) # 2행 1열 영역중 1행 1열 영역 plt.plot(x, y, 'r--') plt.subplot(2, 1, ..
교차표 범주형 데이터 분석시 사용하는 분석도구 crosstab(인덱스, 컬럼, 행이름, 컬럼이름, 총합여부, 정규화여부) import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns data = pd.DataFrame({'id': ['id1', 'id1', 'id1', 'id2', 'id2', 'id3'], 'col1': ['a', 'a', 'a', 'b', 'b', 'b'], 'col2': ['d', 'd', 'd', 'c', 'c', 'd']}) print(data.id) 0 id1 1 id1 2 id1 3 id2 4 id2 5 id3 Name: id, dtype: object # 교차표 생성 1..
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns 박스플롯 box-and-whisker plot (상자수염 그래프) 데이터의 대략적인 분포와 개별적인 이상치들을 동시에 보여줄 수 있으며 서로 다른 데이터 뭉치를 쉽게 비교할 수 있도록 도와주는 시각화 기법 통계학자 존 튜키(John Tukey)가 1977년 저서 "탐색적 데이터 분석(Exploratory Data Analysis)"에서 처음 제시 범위 막대에서는 수염의 양 끝이 최대값과 최소값을 나타내고, 상자는 사분위수범위를 나타내며, 상자 안에 중앙값을 표현하는 방식으로 "5가지 요약 수치" 를 표현 boxplot(값, 옵션) kings..