개발/머신러닝 29

파이썬 머신러닝 - epochs history 로 차트 만들어 확인

만들어진 모델을 fit을 통해 학습한 결과를 변수에 저장하고 .history 를 통해 출력되는 loss, metrics 값을 알 수 있습니다. 이걸 차트로 표현합니다. # 학습한 모델을 변수에 저장 hist = model.fit(X_train,y_train,batch_size = 10 , epochs= 20) # 출력하면 loss,metrics 등의 딕셔너리로 출력 hist.history # 차트로 표시하기 import matplotlib.pyplot as plt plt.plot(hist.history['loss']) plt.xlabel('# epochs') plt.ylabel('# loss') plt.show

개발/머신러닝 2022.12.28

파이썬 머신러닝 - 텐서플로우를 이용한 regression 문제 모델링

지난번에는 아웃레이어의 엑티베이션 함수에 시그모이드를 이용하였습니다. 이번에는 텐서플로우를 이용한 ANN 의 마지막 아웃레이어를 리니어로 모델링하여 리그레션 문제를 모델링해보겠습니다. 1. 데이터 파일을 가져옵니다. import pandas as pd df = pd.read_csv('Car_Purchasing_Data.csv', encoding='ISO-8859-1') 2. 데이터를 분석하여 X,y축을 설정합니다. # 데이터의 NaN확인 df.isna().sum() # 데이터의 컬럼 확인 df.columns # X축 설정 X = df.loc[:,'Gender':'Net Worth'] # y축 설정 y = df['Car Purchase Amount'] 3. 설정한 데이터를 보고 문자열이 있으면 인코딩을 진..

개발/머신러닝 2022.12.28

파이썬 머신러닝 - 텐서플로우를 이용한 그리드서치

이번에는 텐서플로우를 이용한 그리드 서치를 해보겠습니다. 데이터는 그 전 포스트의 자료를 그대로 사용하겠습니다. 이번에는 입력을 받으면 자동으로 모델링을 해주기 위해서 함수를 만들겠습니다. 먼저 다음을 임포트해주세요. from keras.wrappers.scikit_learn import KerasClassifier from sklearn.model_selection import GridSearchCV from keras.models import Sequential from keras.layers import Dense 1. build_model 함수 def build_model(optimizer) : # 모델링 model = Sequential() # 데이터의 컬럼 수가 11개 이기때문에 첫 시작을 1..

개발/머신러닝 2022.12.27

파이썬 머신러닝 - 텐서플로우를 이용한 ANN , Dummy variable trap,batch_size , epochs

먼저 텐서플로우는 파이썬에서 딥러닝과 머신러닝을 위한 라이브러리 입니다. 우리는 이 텐서플로우로 ANN을 만들어보도록 하겠습니다. 먼저 기존의 머신러닝과는 다르게 ANN은 딥러닝 으로 구글의 코랩 이라는 서버를 빌려 작동을 시키겠습니다. ( 이유는 코랩이 보다 사양이 높기 때문입니다. 머신러닝과는 다르게 여러번의 수행이 필요합니다. ) https://colab.research.google.com/?hl=ko Google Colaboratory colab.research.google.com 구글 코랩에서 파이썬 파일을 실행하여 작동하도록 하겠습니다. 1. 먼저 데이터를 가져오도록합니다. - 다만 이때 데이터파일을 코랩 서버 경로에 옮겨야하기때문에 구글드라이브를 이용하여 파일을 업로드합니다. - 업로드된 파..

개발/머신러닝 2022.12.27

파이썬 머신러닝 - Neural Networks

그동안 배운 머신러닝들을 이용하다보면 실제 상황에서는 적용하기가 힘들고 머신러닝의 정확도가 떨어져 사용하기 어려움에 있었습니다. 이러한 문제를 해결하고자 많은 사람들이 연구한 결과물 중에서 사람의 뉴런을 참고하여 만든 방식인 뉴럴 네트워크에 대해 알아봅시다. 뉴럴네트워크 , 번역하자면 신경망 구조 입니다. 위 사진에서 input 은 데이터를 의미합니다. 여러분들이 머신러닝을 진행할때 X 값을 정하고 train 과 test로 나눈 데이터들을 저 input에 넣어 진행하도록 합니다. hidden 부분은 계층(layer)가 모여있는 구간입니다. 여기서 layer란? 오른쪽 사진 어떠한 입력치와 가중치를 통해 구한 합을 액티베이션 함수를 통해 나타낸 ANN(Article Neural Networks)들의 모임 ..

개발/머신러닝 2022.12.27

파이썬. 머신러닝 - Hierarchical_clusterning

모든 데이터들의 길이를 구하고 가장 짧은 길이를 가진 데이터끼리를 묶는 과정을 계속 반복하여 한덩어리가 될때 멈추는 기법이다. 처음에는 모든 길이를 다구한다. 가장 짧은 길이의 데이터를 한덩어리로 묶고 다시 과정을 반복한다. 이러한 과정을 거쳐 한덩어리가 되었을 때 멈추고 이 과정을 Dendrogram 으로 나타내어 눈으로 확인하여 군집을 몇개로 나눌지 확인한다. import scipy.cluster.hierarchy as sch # X = 데이터프레임에서 분할에 이용할 데이터 sch.dendrogram(sch.linkage(X,method = 'ward')) plt.title('Dendrogram') plt.xlabel('Customers') plt.ylabel('Euclidean Distances')..

개발/머신러닝 2022.12.05

파이썬. 머신러닝 - K-means, Elbow Method

Kmeans 는 unsupervised learning 이다 지금까지는 문제 - 결과를 통해 학습한 내용으로 결과를 도출해냈다면 이제는 결과가 없는 문제만 가지고 쌩으로 도출해내야한다. 그 방법 중 하나로 kmeans 방식으로 임의의 값을 주어지고 구역을 나눠 그 구역안에 값들의 평균을 구해 값을 재지정하여 데이터의 이동을 파악하는 방식이다. 위 사진처럼 빨간점 , 푸른점 을 임의로 두고 두 값의 기울기가 90도인 선을 그어 구역을 나눈뒤 구역별 데이터의 평균을 구한 뒤 또다시 그 두 값의 기울기로 구역을 나눈다. 이러한 과정을 계속 반복하여 데이터의 이동이 없을 때 구역을 확정 짓고 결과값을 내놓게 된다. # set lib import numpy as np import pandas as pd impor..

개발/머신러닝 2022.12.02

파이썬. 머신러닝 - Decision Tree, Random Forest

Decision Tree 는 선택을 계속하는 기법입니다. 특정 조건이 주어졌을때 yes 또는 no 로 분기점을 내고 이러한과정을 반복합니다. # Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd # data read df = pd.read_csv('../data/Social_Network_Ads.csv') # set x y X = df.iloc[:,[2,3]] y=df['Purchased'] # feature scaling from sklearn.preprocessing import MinMaxScaler scaler_X = MinMaxScaler() X=scaler_X.fit_tran..

개발/머신러닝 2022.12.02

파이썬.머신러닝 - Grid Search

그리드 서치란 ? 인공지능을 학습을 시킬때 어떤 학습법이 더 좋은지 찾아내는 방법이다. param_grid = {'kernel':['linear','rbf','poly'] , 'C' : [0.1,1,10], 'gamma':[0.01,0.1,1] } # kernel은 모델, c 와 gamma 는 조절 수치이다. from sklearn.model_selection import GridSearchCV grid = GridSearchCV(SVC() , param_grid , refit=True, verbose=4) grid.fit(X_train,y_train) #최고의 인공지능 grid.best_estimator_ #최고의 값 grid.best_params_ #학습중최고적중률 grid.best_score_

개발/머신러닝 2022.12.02

파이썬. 머신러닝 - Support Vector Machine

SVM 은 구분하기 어려운 데이터들을 나타낼때 효과적이다. # Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd #read data df= pd.read_csv('../data/Social_Network_Ads.csv') #set X y X = df.iloc[0:,[2,3]] y = df['Purchased'] #feature scaling from sklearn.preprocessing import MinMaxScaler scaler_X = MinMaxScaler() X= scaler_X.fit_transform(X) #train/test from sklearn.model_select..

개발/머신러닝 2022.12.02