본문 바로가기

반응형

AI Theory/key concept of AI

(53)
[파이썬으로 캐글뽀개기] 캐글에서 사용되는 머신러닝 알고리즘 지도학습과 비지도 학습 지도학습(Supervised learning) train data에 target, label(레이블)이라는 정답이 포함됨 분류(Classification) 지도 학습에 속하는 기계 학습 모델: 선형 회귀(Linear Regression) 로지스틱 회귀 SVM(Support Vector Machine) 의사결정나무 랜덤 포레스트 k-NN(k-Nearest Neighbor) 신경망(Neural Network) 비지도학습 훈련 데이터에 target이나 label 정보 없음 따라서 훈련 데이터에 아무런 가이드라인이 없으므로 머신러닝 모델이 스스로 학습해야함 군집화: 전체 데이터를 몇개의 작은 군집으로 나누는 것 k-평균 계층 군집 분석(Hierarchical cluster Analysis..
[파이썬으로 캐글뽀개기] pandas와 데이터 전처리 Pandas 라이브러리 파이썬 데이터 처리에서 제일 많이 이용 데이터 전처리 DataFrame In [2]: import pandas as pd In [3]: lemonade = pd.read_csv('Lemonade2016.csv') lemonade.info() RangeIndex: 32 entries, 0 to 31 Data columns (total 7 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Date 31 non-null object 1 Location 32 non-null object 2 Lemon 32 non-null int64 3 Orange 32 non-null int64 4 Temperature 3..
[파이썬 캐글뽀개기] Numpy Numpy 고성능 수치 계산을 위해 제작된 파이썬 라이브러리 머신러닝, 딥러닝 알고리즘의 다차원 배열 계산에 효과적 대량 데이터 이용시 빠른 계산 가능 ★중요★ ndarray In [1]: import numpy as np In [2]: temp = np.array([1,2,3]) print(type(temp)) In [3]: data1 = [1,2,3] data1 Out[3]: [1, 2, 3] In [4]: data2 = [1,1,2,2,3,4] data2 Out[4]: [1, 1, 2, 2, 3, 4] In [6]: #shpae로 배열 크기 확인 my_array1 = np.array(data1) print(my_array1) print(my_array1.shape) [1 2 3] (3,) In [7..
[파이썬으로 캐글뽀개기] 튜플과 딕셔너리, 집합(set) 튜플(tuple) 한번 선언시 값을 변경할 수 없음 1개의 요소를 갖는 튜플은 끝에 , 붙여야 함 객체 선언시 괄호 생략 가능 tuple = (0) >>type: int tuple = (0,) >>type: tuple tuple = 0,1,2 print: (0,1,2) type: tuple 딕셔너리(dictionary) key:value형태 딕셔너리 내 key값만 모아서 dict_keys 객체 반환, a.keys() 딕셔너리 내 value만 추출, a.values() key:value를 투플로 만들어서 반환, a.items() dict_items([(key, value), (key,value)...]) key값에 대응하는 value 반환, a.get("key이름") 존재하지 않는 key이름 입력시 non..
[파이썬으로 캐글뽀개기] 데이터분석에 유용한 리스트 관련 메소드 리스트에 여러개의 요소 한번에 추가하기, extend() a = [1,2,3] a.extend([4,5,6]) a >> [1,2,3,4,5,6] 리스트 원하는 위치에 요소 삽입하기, insert() a = [1,2,3] a.insert(1,100) a >> [1,100,2,3] 슬라이싱을 이용해 리스트 중간에 요소 삽입하기 [시작:끝]이 동일하면 삽입 [시작:끝]이 다르면 해당 구간 잘라내고 덮어쓰기 a = [0,1,2,3] a[2:2] = [100,200] a >> [0,1,100,200,2,3] b = [0,1,2,3] b[1:2] = [100,200,300,400] b >>[0,100,200,300,400,2,3] c=[0,1,2,3] c[1:5] = [100] c >>[0,100] 리스트 요소 제..
웹 크롤링이란? 목차 목차 웹 크롤링 웹 크롤러를 이용해 웹 사이트에서 원하는 정보만 수집하는 것 단시간에 많은 정보 수집 가능, 단순 반복 작업 자동화 웹 스크래핑 크롤링이 웹 사이트에서 데이터 전체를 가져오는 반면, 스크래핑은 원하는 정보만을 일부 추출한다는 의미가 강하다 실제로 크롤링 한다는 게 웹 스크래핑을 의미하는 경우가 많음 웹 크롤링 과정 1. 정보 원하는 웹 사이트에 접속해 웹 페이지 확인 2. F12를 눌러 내가 원하는 정보의 위치 확인, 분석 3. 파이썬으로 접속한 웹 페이지의 HTML 코드 불러옴 4. 불러온 데이터에서 원하는 정보만 가공해 추출 5. 추출한 정보를 CSV, 데이터베이스 등 다양한 형태로 저장 주요 용어 리소스: 사용자가 요청하는 이미지, 데이터 등 클라이언트: 리소스, 서비스 요청 ..
예측 정확도와 하이퍼파라미터 목차 예측정확도 모든 예측 중 정확하게 예측한 비율 #진양성(True positive, TP): 실제도 예측도 1 #위음성(False Negative, FN): 실제 1 예측 0 #위양성(False Positive, FP): 실제 0 예측 1 #진음성(True Negative, TN): 실제 0 예측 0 #정확도: (TP+TN)/(TP+TN+FP+FN) from sklearn.matrics import accuracy_score accuracy_score(y_valid, np.round(y_pred)) 하이퍼파라미터 모델링시 사용자가 직접 세팅해주는 값 하이퍼파라미터 기본값 의미 learning_rate 0.1 학습 속도 max_bin 255 분기 한개에 들어가는 데이터 최댓값 작으면 잘게 나누어 학습 ..
과적합과 과소적합 목차 머신러닝은 목적 변수의 예측을 위해 여러 설명 변수를 이용해 모델을 만들고 테스트 데이터에 적용하는 일련의 과정을 거침. 그러나 테스트 데이터에는 목적 변수가 없음. 따라서 예측의 정확도를 파악 불가 학습 데이터는 학습에 사용된 것이므로 또한 예측의 정확도를 측정하는데 사용하는 것이 부적절 과적합(overfitting) 학습 데이터를 너무 과하게 학습하여 학습 데이터에만 지나치게 적절한 모델 이미 알고 있는 데이터에만 최적화되어 있을 뿐 미지의 데이터에 대한 정확도는 떨어짐 과소적합(underfitting) 학습이 불충분하게 진행 데이터에 맞는 학습이 충분하지 않아 정확도가 낮음 과적합을 피하기 위해서는 학습 데이터의 일부늘 검증 데이터로 분리하여 이를 이용해 모델을 검증 검증 데이터의 작성법 홀드..

반응형