목록AI (45)
개발학습일지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZSDCf/btsGB3bs2Hg/HafvOGTPK2JoO7mt0dpPx0/img.png)
supercised (정답을 알려주면서 학습하는 것 )의 classidication 분류 알고리즘 4가지 - LogisticRegression from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= 0.25, random_state= 1) from sklearn.linear_model import LogisticRegression classifier = LogisticRegression(random_state=N) classifier.fit(X_train, y_train) y_pred = classifier.predict(X_test) - K-..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjG9ZT/btsGCxb1AIT/QxSUBiPm8KqnnB2kP2jFpK/img.png)
SMOTE를 활용한 오버샘플링 시점 : 피처스케일링을 하기 전, X와 y 를 나누고 난 직후에 하는 것이 가장 바람직하다 샘플링에는 - 언더 샘플링 - 오버샘플링 : 적은 데이터 세트를 증식하여 학습을 위한 충분한 데이터를 확보하는 방법 이 있다. 일반적으로 언더샘플링보다 오버샘플링이 예측 성능상 더 유리한 경우가 많아 주로 사용된다. 1. y의 데이터의 불균형 정도를 확인한다 y.value_counts() >>> class 0 262 1 130 Name: count, dtype: int64 import seaborn as sb sb.countplot(data=df, x='class') plt.show() 2. 1 인 데이터가 적으므로, up sampling 기법으로 데이터를 늘려준다 - imblearn..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/by4Uco/btsGFz7jQs0/Qic4jyXFxeC05XloWqB2q1/img.png)
시작하기 전 임폴트 라이브러리! # Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd import seaborn as sb 이번 포스팅에서 사용 할 데이터 df df = pd.read_csv('Social_Network_Ads.csv') df.head() 전 포스팅 내용 ============================= 1. 데이터에 NaN이 있는지 확인해야한다 2. X와 y 값 분리해주기 3. 로지스틱 리그레션은 피처 스케일링을 해주어야 한다 4. 인공지능에 넣어 줄 train과 test를 만들어주자 5. 모델링을 선택하여 인공지능 만들어서 값 예측하기 ===============..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpmUbD/btsGB415RjD/X2zhIn75ep6uRk1DktuVF1/img.png)
시작하기 전 임폴트! # Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd import seaborn as sb 이번 포스팅에서 사용 할 데이터 df df = pd.read_csv('Social_Network_Ads.csv') df.head() 나이와 연봉으로 분석해서, 물건을 구매할지 안할지를 분류해보자 1. 데이터에 NaN이 있는지 확인해야한다 df.isna().sum() >>> User ID 0 Gender 0 Age 0 EstimatedSalary 0 Purchased 0 dtype: int64 2. X와 y 값 분리해주기 - 내가 구하고 싶은 곳은 'Purchased' 이고 예..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cZnfaT/btsGCZTd06E/HE2rQbCgjHn4Pc0CAyWF91/img.png)
에측 서비스를 만들 때 선택에 문제를 예측 해야 하는 경우, 기존의 직선의 방정식 함수는 오차가 많아서, 시그노이드함수를 적용하여 정리하기로 했다 이것을 '로지스틱 리그레이션(Logistic Regression)' 이라고 한다 확률값은, 위에서의 시그모이드 함수를 적용한 식을 통해 나온 값이다 예측 값을 0과 1로 나눌수 있는데, 0과 1 사이에 기준이 되는 수인 기준점을 'treshold' 라고 한다
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/81fJS/btsGARvA3Be/sqRv1wkJWbpqn9h72JPuN1/img.png)
신규 데이터가 왔을 때 처리 하는 방법 - 학습된 인공지능을 저장했을 때와 같은 라이브러리를 임폴트해서 학습된 인공지능을 가져온다 - 임폴트 joblib import joblib regressor = joblib.load('regressor.pkl') ct = joblib.load('ct.pkl') regressor ct 학습(fit) 시킨 인공지능 regressor 학습(fit) 시킨 ct 새로 들어온 데이터 - 임폴트 pandas import pandas as pd - 'State'는 캘리포니아, 연구비 18만, 운영비 20만, 마케팅비 15만 일때 이회사의 수익은 얼마일까요? - 새로운 데이터를 2차원 데이터로 만들어준다 new_data = pd.DataFrame({'R&D Spend':[18000..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c49z12/btsGB4nb3Tg/9HiCgRfSVeXXPpKphpi2yK/img.png)
Linear Regression 을 하고 나면, 컴퓨터를 끄고 켰을 때나 다른 서버에서 사용 해야하는 메모리가 있다 다른 서버에서도 내가 만든 Regression이 동작할 수 있도록 해야 한다 메모리에 있는 인공지능을 파일로 저장하여 사용하면 된다 서비스 배포하기 위한 파일 저장 방법 - 임폴트 joblib import joblib - 실서버에 인공지능을 활용하려면 2개의 파일이 필요하다 - 데이터를 이용해 내가 학습시킨 인공지능인 regressor - 문자열로 작성되어 있던 컬럼을 숫자로 바꿔주는 ct _기초 데이터로 교육 시켜져 있다 - joblib를 이용하여 피클 파일로 저장한다 joblib.dump( regressor, 'regressor.pkl') joblib.dump( ct, 'ct.pkl')..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbpLqR/btsGBgIo8af/otFwLBaFFJ2OcfaN5RO7jk/img.png)
여러개의 변수가 있을때의 leaner regression - 2차원에서는 선 이지만, 3차원에서는 평면이 된다. - 구해야 할 b 가 많다 이제 하나의 예시 데이터로 Multiple Linear Regression 을 해보자 기본 임폴트 # Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd 기본 데이터 - Profit 수익을 예측하려 한다. df = pd.read_csv('50_Startups.csv') df.head() 1. nan 처리 - isna().sum() 을 통해 각 컬럼 마다 nan의 갯수를 확인한다 - nan 이 있으면 dorpna() 또는 fillna() 를 사용하여 해..