혼공 머신러닝 +딥러닝 1,2

cse 23·2023년 10월 4일
0

01-1 인공지능과 머신러닝,딥러닝

인공지능; 사람처럼 학습하고 추론할수 있는 지능을 가진 쿰퓨터 시스템을 만드는 기술

인공지능 태동기: 1943 워런 매컬러와 윌터피츠가 뇌의 뉴런 개념을 발표
1950 앨런 튜닝이 인공지능이 사람과 같은 지능을 가졌는지 테스트응 할수 있는 튜링테스트
인공지능 황금기: 대표적, 1957 프랑크 로젠블라트-> 퍼셉트론

인공일반지능,강인공지능: 흔히 영화 속의 인공지능
약인공지능: 현실에서 우리가 마주하고 있는 인공지능-> 특정 분야에서 사람의 일을 도와주는 보조역할만 가능

머신러닝: 규칙을 일일이 프로그래밍하지 않어도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야

사이킷런: 대표적인 머신러닝 라이브러리

딥러닝:머신러닝 알고리즘중에 인공신경망을 기반으로 한 방법들을 통칭하여 부름

2015 구글-> 텐서플로
2018 페이스북 -> 파이토치

01-2 코랩과 주피터 노트북

구글코랩: 웹 브라우저에서 무료로 파이썬 프로그램을 테스트하고 저장할서 있는 서비스
코랩: 웹 브라우저에서 텍스트와 프로그램 코드를 자유롭게 작성할수 있능 온라인 에디터 (구글이 대화식 프로그래밍 환경인 주피터를 커스터 마이징한것)
코랩파일-> 노트죽,코랩 노트북
셀: 코랩에서 실행할서 있는 최소 단위
구글 드라이브: 구글이 지공하는 클라우드 파일 저장 서비스

01-3 마켓과 머신러닝

특성:데이터를 표현하는 하나의 성질
훈련: 머신러닝 알고리즘이 데이터에서 규칙을 찾는 과정
k-최근접 이웃 알고리즘: 가장 간단한 머신러닝 알고리즘(규칙찾기보다는 전체 데이터를 메모리에 가지고 있는것)
모델: 머신러닝 프로그램에서 알고리즘이 구현된 객체
정확도: 정확한 답을 몇개 맞혔는지를 백분율로 나타낸 값(사이킷런에서는 0~1사이의 값으로 출력)
정확도 = (정확히 맞힌 개수)/(전체 데이터 개수)

Matplotlib
Scatter(): 산점도를 그리는 맷플롯립 함수
처음 2개의 매개변수로 x축과 y축 값을 전달

Scikit-learn
KNeighborsClassifier():k-최근접 이웃 분류 모델을 망드는 사이킷런 클래스
n_neughbors 매개변수로 이웃의 개수를 지정(기본값:5)
fit(): 사이킷런 모델을 훈련할때 사용하는 메서드
predict(): 사이킷런 모델을 훈련하고 예측할때 사용하는 메서드
score():훈련된 사이킷런 모델의 성능을 측정

02 데이터 다루기

02-1 훈련 세트와 테스트 세트

지도학습
비지도학습

훈련데이터
-> 데이터=입력 / 정답=타깃
특성:입력으로 사용된 길이와 무게

데이터 세트: 평가에 사용되는 데이터
훈련 세트: 훈련에 사용되는 데이터
샘플: 리스크 안의 하나의 데이터
인덱스: 배열의 위치

슬라이싱: 콜론(:)을 가운데 두고 인덱스의 범위를 지정하여 여러개의 원소를 선택가능하게 함 (마지막 인덱스의 원소는 포함되지 않는다)-> 배열의 인덱스는 0부터 시작
배열 인덱싱: 1새의 인덱스가 아닌 여러개의 인덱스로 한번에 여러개의 원소를 선택 가능
샘플링 편향: 훈련세트와 테스트 세트에 샘플이 골고루 섞여있지 않아 샘플링이 한쪽으로 치우쳤다는 의미

넘파이: 파이썬의 대표적인 배열 라이브러리,고차원 배열을 손쉽게 만들고 조작가능한 간편한 도구를 많이 제공

Seed():넘파이에서 난수를 생성하기 위한 정수 초깃값을 지정
arange():일정한 간격의 정수또는 실수 배열을 만듦(기본 간격:1)
shuffle():주어진 배열을 랜덤하게 섞음

Print(input_arr.shape): (샘플 수, 특성 수)를 출력

fit()메서드를 실행할때마다 KNeighborsClassifier클래스의 객체는 학습한 모드는것을 잃어버림

02-2 데이터 전처리

튜플:리스트와 비슷, 리스트처럼 원소에 순서가 있지만 한번 만들어진 튜플은 수정 불가

train_test_split()함수 : 전달되는 리스트나 배열을 비율에 맏게 훈련세트와 테스트 세트로 나누어줌
marker 매개변수-> 모양을 지정

데이터 전처리: 샘플간의 거리에 영향을 많이 받으므로 특성값을 일정한 기준으로 맞춰주는것
표준점수(z점수): 가장 널리 사용하는 전처리 방법
np.mean(): 평균을 계산
np.std(): 표준편타를 계산

브로드캐스팅: train_input의 모든 행에서 mean에 있는 두 평균값을 빼서 std에 있는 두 표준편차를 다시 모든 행에 적용

전처리 데이터로 모델 훈련하기

0개의 댓글