기본 콘텐츠로 건너뛰기

6월, 2020의 게시물 표시

통계관련 함수와 메서드 사전

A B C d E F G H I K L M N O P Q R S T U V W Z A statsmodels.ap.stats.anova_lm(x) statsmodels.formula.api.ols 에 의해 생성되는 모형 즉, 클래스 인스턴스(x)를 인수로 받아 anova를 실행합니다. np.argsort(x, axis=-1, kind=None) 객체 x를 정렬할 경우 각 값에 대응하는 인덱스를 반환합니다. Axis는 기준 축을 지정하기 위한 매개변수로서 정렬의 방향을 조정할 수 있음(-1은 기본값으로 마지막 축) pandas.Series.autocorr(lag=1) lag에 전달한 지연수에 따른 값들 사이의 자기상관을 계산 B scipy.stats.bernoulli(x, p) 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 p: 단일 시행에서의 확률 scipy.stats.binom(x, n, p) 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 n: 총 시행횟수 p: 단일 시행에서의 확률 C scipy.stats.chi2.pdf(x, df, loc=0, scale=1) 카이제곱분포의 확률밀도함수를 계산 $$f(x, k) =\frac{1}{2^{\frac{k}{2}−1}Γ(\frac{k}{2})}x^{k−1}\exp\left(−\frac{x^2}{2}\right)$$ x: 확률변수 df: 자유도 pd.concat(objs, axis=0, join=’outer’, …) 두 개이상의 객체를 결합한 새로운 객체를 반환. objs: Series, DataFrame 객체. Axis=0은 행단위 즉, 열 방향으로 결합, Axis=1은 열단위 즉, 행 방향으

one-hot 인코딩 : tensorflow

one-Hot encoding 인코딩(Encoding) 카테고리 값이나 텍스트 정보를 저리가 쉬운 정수로 변환하는 과정 one-hot 인코딩은 one-of-k라고도 하며 0~k-1의 값을 가지는 정수 스칼라 값을 0 또는 1을 가지는 k차원(클래스수 =k)의 벡터로 변환합니다. 예로서 자료의 목록이 0~2의 범위를 가지는 경우에서 값들이 0, 1, 2라면 다음과 같이 변환됩니다. 0: 1,0,0 1: 0,1,0 2: 0,0,1 import numpy as np x=[0, 1, 2] x_oh=np.zeros((3,3));x_oh array([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]) for i, j in zip([0,1,2], x): x_oh[i, j]=1 x_oh array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]) tensorflow.one_hot() tf.one_hot(indices, depth, on_value=None, off_value=None, axis=None, dtype=None, name=None) depth의 지정한 위치(indices)에 지정한 값(on_value), 나머지 위치에 off_value값을 입력합니다. on_value와 off_value의 기본값은 1과 0입니다. depth는 axis의 값에 따라 유동적입니다. indice가 feature 즉, 1차원으로 구성된 경우 axis=-1 → feature × depth axis=0 → depth × feature indice가 2차원 즉, [batch, feature]일 경우 axis=-1 → batch × feature × depth axis=1 → batch × depth × feature axis=0 → depth × batch ×

[python]kopsi, krw, aud, chf 비교

kopsi, krw, aud, chf 비교 다음 코드는 colab notebook을 사용하였습니다. 웹을 통해 금융데이터를 호출하기 위해서는 FinaceDataReader 모듈을 장착해야 합니다. colab에 이 모듈을 인스톨 하기 위해 다음 코드를 사용합니다. !pip -q install finance-datareader kopi 데이터를 호출합니다. import numpy as np import pandas as pd import FinanceDataReader as fdr %matplotlib inline import matplotlib.pyplot as plt #KS11 kospi=fdr.DataReader('KS11', '2020') kospi Date Close Open High Low Volume Change 2020-01-02 2175.17 2201.21 2202.32 2171.84 4.946800e+08 -0.0102 ... ... ... ... ... ... ... 2020-06-10 2189.28 2187.91 2191.87 2178.12 1.591500e+05 0.0002 각 환률 데이터를 호출합니다. won=fdr.DataReader('USD/KRW', '2020') aus=fdr.DataReader('USD/AUD', '2020') chf=fdr.DataReader('USD/CHF', '2020') 각 데이터의 종가를 비교하기 위해 다음과 같이 합병합니다. data=pd.concat([kospi['Close'],won['Close'], aus['Close'], chf['Close']]

데이터 스케일, 표준화 그리고 정규화

목차 Scaling Data의 표준화(Standardization) Data의 정규화(Normalization) L 1 Normalization L 2 Normalization 데이터 전처리 방법 기계학습은 데이터 의존성이 크므로 기계가 인식할 수 있는 형식으로 전달해야 합니다. 즉, 데이터의 스케일, 형식, 변수의 영향 정도등을 고려해야 합니다. correct scale format meaningful features 데이터의 각 변수간의 척도(scale)의 차이로 왜곡이 발생할 수 있습니다. 이러한 왜곡을 제어하기 위해 스케일링(scaling), 표준화(standardization), 정규화(normalization)를 방법을 적용하여 데이터 분석 전에 조절이 필요합니다. Scaling 데이터의 각 변수의 스케일은 다양할 수 있기 때문에 데이터 셋의 전체 데이터의 스케일을 통일시킬 필요가 있습니다. 이러한 과정을 data scaling 이라고 합니다. 일반적으로 모든 변수를 [0, 1]사이로 리스케일 합니다. 특히 gradient descent와 k_Nearest Neighbors 분석에서는 이 규모의 적정 스케일로의 조정이 필요합니다. 이러한 과정은 sklearn 라이브러리의 MinMaxScaler() 또는 MaxAbsScaler() 클래스를 적용하여 달성할 수 있습니다. 각각의 변환은 다음과 같습니다. $$\begin{align}\tag{1}&\text{MinMaxScaler};\; x_{\text{scaled}}=\frac{x-x_{\text{min}}}{x_{\text{max}}-x_{\text{min}}}\\\\ &\text{MaxAbsScaler};\; x_{\text{scaled}}=\frac{x}{|x_{\text{max}}|}\\\end{align}$$ import numpy as np import pandas as pd

[TF]Sequential 모형 만들기

Sequential 모형 만들기  layer를 조합하여 모형을 만듭니다. 이것은 keras API를 적용하는 것으로 tf.keras.Sequential 모형입니다.  from tensorflow.keras imports layers  #시퀀스 모형의 frame을 작성하고 .add 메소드를 사용하여 층을 첨가합니다.  model = tf.keras.Sequential()  #모형에 64개 유닛의 층을 첨가합니다. 활성함수로 relu를 적용합니다.  model.add(layers.Dense(64, activation="relu")) #동일한 층을 첨가할 수 있습니다.  model.add(layers.Dense(64, activation="relu")) #10개 유닛을 가진 마지막 층을 첨가하며 활성함수로 softmax를 사용합니다.  model.add(layers.Dense(10, activation="softmax")) 위 함수들의 인수들은 다음을 포함합니다. activation 활성함수를 지정합니다. 기본으로 제공되는 함수이름 또는 사용자 정의 함수를 함수나 객체를 지정할 수 있습니다. 기본값은 활성함수를 지정하지 않는 것입니다. kernel_initializer, bias_initializer 가중치(weight), 절편 (bias)의 초기화 방법을 지정 내장함수 또는 호출가능한 객체를 지정 glorot_uniform이 기본값 kernel_regularizer, bias-regularizer L1, L2와 같이 정규화 방법을 지정, 기본값은 지정하지 않는 것입니다. 다음은 다양한 매개변수를 사용하여 층을 만드는 예입니다. #시그모이드 활성화 층 layers.Dense(64, activation="sigmoid") #다음과 같이 작성할 수 있습니다. layers.Dense(64, activation=tf.keras.activations.sigmo

[Probability]순열(permutation)

순열(Permutaion) 경우의 수 주사위 2개를 시행할 경우 발생되는 모든 경우는 다음과 같습니다. event=[] for i in range(1, 7): for j in range(1, 7): event.append((i, j)) print(event, end="") [(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (3, 6), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5), (5, 6), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6)] (1, 1) (1, 2) (1, 3) (1, 4) (1, 5) (1, 6) (2, 1) (2, 2) (2, 3) (2, 4) (2, 5) (2, 6) (3, 1) (3, 2) (3, 3) (3, 4) (3, 5) (3, 6) (4, 1) (4, 2) (4, 3) (4, 4) (4, 5) (4, 6) (5, 1) (5, 2) (5, 3) (5, 4) (5, 5) (5, 6) (6, 1) (6, 2) (6, 3) (6, 4) (6, 5)