데이터분석 203

자코비안 메트릭스

미분을 하는데 네가지 경우가 있다. 1. 스칼라함수를 스칼라변수로 미분하는경우2. 스칼라함수를 벡터변수로 미분하는경우3. 벡터함수를 스칼라변수로 미분하는경우 4. 벡터함수를 벡터변수로 미분하는경우행이 함수, 열이 변수를 나타낸다. 즉 1행 1열은 1번째함수를 1번째 변수로 편미분한값2행 1열은 2번째함수를 1번째 변수로 편미분한값,1행 2열은 1번쨰 함수를 2번째 변수로 편미분한 값을 뜻한다.  * 출처 강의 : 패스트캠퍼스 - 수학적으로 접근하는 딥러닝논문 : https://arxiv.org/pdf/1802.01528.pdf

퍼셉트론 구현

1. 외출여부 판단 퍼셉트론 함수# 1. 신호의 총합과 외출 여부를 반환하는 Perceptron 함수를 완성하세요.def Perceptron(x_1,x_2,w_1,w_2): # bias는 외출을 좋아하는 정도로 -1로 설정되어 있습니다. bias = -1 # 입력 받은 값과 편향(bias)값을 이용하여 신호의 총합을 구하세요. output = w_1*x_1+w_2*x_2+bias # 지시한 Activation 함수를 참고하여 외출 여부(0 or 1)를 설정하세요. # 외출 안한다 : 0 / 외출 한다 : 1 if output>0: y = 1 else: y=0 return output, y # 값을..

차원축소후 k-means 클러스터링

1. 차원축소하기(pca) : 여러가지 att가 존재할 때 내가 원하는만큼 차원을 축소 # [차원축소하기 PCA] import sklearn.decomposition import matplotlib.pyplot as plt import numpy as np def main(): X, attributes = input_data() pca_array = normalize(X) pca, pca_array = run_PCA(X, 2) visualize_2d_wine(pca_array) def input_data(): f = open("data/attributes.txt", 'r') attributes = [] while True: line = f.readline().strip("\n") if not line: ..

추론및 가설검정

1. 이항분포 # [이항분포] import numpy as np import matplotlib.pyplot as plt import scipy as sp from scipy import stats # 이항분포 생성 n, p = 10, 0.3 stat_bin = sp.stats.binom(n, p) # 그리기 fig, ax = plt.subplots() #확률밀도함수 x_axis = np.arange(n + 1) plt.bar(x_axis, stat_bin.pmf(x_axis)) plt.show() fig.savefig("pmf_plot.png") #확률질량함수 x_axis = np.arange(n + 1) plt.bar(x_axis, stat_bin.cdf(x_axis)) plt.show() fig.s..

데이터 시각화 (그래프 그리기)#pandas#numpy

# [도수분포표] import pandas as pd import numpy as np # drink 데이터 drink = pd.read_csv("drink.csv") # 전체 참석 횟수를 확인하는 도수분포표 drink_tab = pd.crosstab(index = drink["Attend"], columns = "count") print("전체 참석 횟수를 확인하는 도수분포표") print(drink_tab) #누가 몇 번 참석했는지 알 수 있는 도수분포표 drink_who = pd.crosstab(index = drink["Attend"], columns = drink["Name"]) print("누가 몇 번 참석했는지 알 수 있는 도수분포표") print(drink_who) # [원형 그래프] im..

자료의 형태

1. 수치형 자료 : 실수로 측정이 가능한 자료형 (키, 몸무게, 시험점수, 나이) (1) 연속형 자료 : 원주율, 시간, 키, 몸무게 등.. (2) 이산형 자료 : 시험점수, 나이, 동영상 조횟수 등.. 2. 범주형 자료 (1) 명목형 척도(nominal) : 구분할 수 있는 척도 (ex 혈액형, 성별) (2) 서열 척도 (ordinal) : 순서 관계를 밝혀주는 척도 (등수, 직위, 학력) (3) 등간 척도 (interval) : 덧셈 뺄셈이 가능한 척도, 배는 불가능 (섭씨 화씨온도, 시간) (4) 비율척도 (ratio): 비율로도 계산이 가능한 척도 (절대온도, 성적, 키, 무게, 인구수, 길이 수량 등등)

나이브베이즈 분류 #나이브 베이즈#확률통계

1. 나이브 베이즈 확률 def main(): sensitivity = float(input()) prior_prob = float(input()) false_alarm = float(input()) print("%.2lf%%" % (100 * mammogram_test(sensitivity, prior_prob, false_alarm))) def mammogram_test(sensitivity, prior_prob, false_alarm): p_a1_b1 = sensitivity # p(A = 1 | B = 1) p_b1 = prior_prob # p(B = 1) p_b0 = 1-prior_prob # p(B = 0) p_a1_b0 = false_alarm # p(A = 1|B = 0) p_a1 = p..

회귀분석 #사이킷런#넘파이#numpy#scikit-learn

1. 점찍기 x,y점들을 matplot라이브러리를 이용하여 점찍기 # [점그리기] import matplotlib.pyplot as plt import numpy as np # 1. x,y값 X = [8.70153760, 3.90825773, 1.89362433, 3.28730045, 7.39333004, 2.98984649, 2.25757240, 9.84450732, 9.94589513, 5.48321616] Y = [5.64413093, 3.75876583, 3.87233310, 4.40990425, 6.43845020, 4.02827829, 2.26105955, 7.15768995, 6.29097441, 5.19692852] plt.scatter(X, Y) # (x, y) 점그리기 plt.show(..

[RNN] LSTM으로 감성분석

1. tensorflow kerasimport tensorflow as tffrom tensorflow.keras import layersfrom tensorflow.keras.datasets import imdbfrom tensorflow.keras.preprocessing import sequence 2. 최대 단어 개수와 길이# 최대 단어의 개수max_features = 10000 # 최대 단어 길이 (한번의 인풋당 들어갈 단어의 수)maxlen = 200 # num_word : 빈도가 높은 상위 max_features개 단어만 사용함.# skip_top : 빈도가 높은 상위 단어 0개 제외(input_train, y_train), (input_test, y_test) = imdb.load_da..