목록AI/Machine Learning (16)
개발학습일지
![](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() 를 사용하여 해..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c1pv6b/btsGANGIXb1/ef9bUrzsjYMy43R1snzym0/img.png)
데이터셋으로 X, y 의 값은 이미 주어져있다 b0, b1 의 값을 찾아 가는 과정을 학습이라고 부른다 학습이란??? 바로 error(오차)를 줄여 나가는 것이다 모든 관측점(Observation) 에서의 y값의 error(오차)가 존재하고, 이 오차들의 총 합을 줄여 나가면 된다. 이제 하나의 예시 데이터로 Simple Linear Regression 을 해보자 기본 임폴트 # Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd 기본 데이터 - 경력과 연봉의 관계 분석을 통해, 누군가 입사했을 때, 그사람의 경력에 맞는 연봉을 제시해 줄 수 있도록 합니다. df = pd.read_csv..
원본 데이터 X, y로 분리 -> X, y의 문자열 데이터 레이블, 원핫 인코딩으로 변경한 상태이다 y # array([0, 1, 0, 0, 1, 1, 0, 1]) X >>> array([[1.0e+00, 0.0e+00, 0.0e+00, 4.4e+01, 7.2e+04], [0.0e+00, 0.0e+00, 1.0e+00, 2.7e+01, 4.8e+04], [0.0e+00, 1.0e+00, 0.0e+00, 3.0e+01, 5.4e+04], [0.0e+00, 0.0e+00, 1.0e+00, 3.8e+01, 6.1e+04], [1.0e+00, 0.0e+00, 0.0e+00, 3.5e+01, 5.8e+04], [1.0e+00, 0.0e+00, 0.0e+00, 4.8e+01, 7.9e+04], [0.0e+00, 1..
데이터를 확인하여, 숫자가 아닌 데이터 중에서 카테고리로 판단되는 데이터는 숫자로 바꿔줄 수 있다. 문자열 컬럼의 유니크 갯수를 확인한다 문자열의 갯수가 2개 이면 , 0과 1로만 바꿔도 되니까, 이때는 '레이블 인코딩'만 사용하면 된다 하지만, 문자열의 갯수가 3개 이상이면, '원 핫 인코딩'을 사용하여, 0과 1로 표현가능하도록 변경한다 * 컴퓨터에서는 0과 1이 가장 이상적인 숫자이다 기초데이터 : 원본 데이터를 X , y 값으로 분리한 상태 X >>> CountryAge Salary 0France44.072000.0 1Spain27.048000.0 2Germany30.054000.0 3Spain38.061000.0 5France35.058000.0 7France48.079000.0 8Germany..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cm0zja/btsGx3JnQAo/7abzDemKidIelEgeV96XB1/img.png)
필요한 라이브러리 임폴트! # Data Preprocessing Template # Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd 머신러닝을 하기위해 필요한 데이터를 불러와야 한다 - pd.read_csv(' ') df = pd.read_csv('../data/Data.csv') df 문자열로 되어 있는 컬럼 데이터 확인하기 df['Country'].nunique() # 3 sorted(df['Country'].unique()) # 알파벳 순으로 정렬하기 위한 sorted() # ['France', 'Germany', 'Spain'] df['Purchased'].nunique() #..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/di5Hkb/btsGzbT6B59/M1xCuNqqaKsTwktFKYvAO1/img.png)
머신 러닝으로 할 수 있는 것 - 편지봉투에 손으로 쓴 우편번호 숫자 자동 판별 - 의료 영상 이미지에 기반한, 종양 판단 - 의심되는 신용카드 거래 감지 - 블로그 글의 주제 분류 - 고객들을 취향이 비슷한 그룹으로 묶기 문제와 데이터 이해하기 - 가지고 이는 데이터가 내가 원하는 문제의 답을 가지고 있는가? - 내 문제를 가장 잘 해결할 수 있는 머신러닝 방법은 무엇인가 - 문제를 풀기에 충분한 데이터를 모았는가? - 머신러닝의 성과를 어떻게 측정할 것인가 내 문제를 가장 잘 해결할 수 있는 머신러닝 방법은 무엇인가_에 대한 부분은 항상 밑에 표를 머리 속으로 생각해야한다 Supervised Learning - 레이블을 가지고 학습시키는 방법인 지도 학습 -------------------------..