본문 바로가기

Archived(CSE Programming)/Machine Learning

(8)
Chap 7-1~3 Linear Regressions 7-1. OverviewLinear Regression사이킥 런을 통해 Linear Regression 사용하기 머신러닝 학습 방법들1)Gradient Descent - 실제 값과 학습된 모델의 예측치 오차 줄이기2)Probability theory3)Informaion theory4)Distance similarity f(x) = y = ax+ ba와 b를 찾아내는 것이 Linear Regression의 기초 오차의 합 -> 상쇄가 될 수 있음오차 제곱의 합으로 수정 최소 최대 문제이기에 미분으로 해결!즉, 오차 제곱의 합을 최소화 할 수 있는 값을 미분으로 찾아낸다! 7-2. Linear Regression - Cost function f(x) = h0(x)예측 함수를 가설 함수라고 부름실제 값과 가..
Chap 6. Assignment & Case study 6-1.Data Handling - Assignment(Numpy Lab) Numpy_lab.py 코드 구조for 문이나 if 문을 최대한 쓰지 않으면서 사용하는 것이Python 느낌의 코드 # n_size_ndarray_creationn의 제곱수로 2 d Array 만들기 # zero_or_one_or_empty_ndarray() # chage_shape_of_ndarray(X, n_row)1 -> flatten() 일렬로 나열그 외 -> reshape(n_row, -1)-1을 넣어주면 row에 맞게 나머지 남은 데이터의 col 세팅 # concat_ndarrayreshape 해주기! # normalize_ndarray n_row, n_column = X.shape 을 사용하게 되면 튜플형태 반환 # ..
Chap 5-3. Visualization & Handling Data Visualization 데이터를 공개할 때 matplotlib를 통해 시각화로 표현가능!필요할 때마다 찾아 쓰는 것이 일반적 1) Matplotlib- pyplot 객체를 사용하여 데이터 표시- pyplot 객체에 그래프들을 쌓은 다음 show로 flush - graph는 원래 figure 객체에 생성됨- pyplot 객체 사용시, 기본 figure에 그래프가 그려짐- add_subplot 으로 또 다른 plot 생성 가능 2) 꾸미기- color 속성을 이용- Float 흑백, rgb color, predefined color 사용- Set linestyle은 ls 또는 linestyle 사용- set legend를 통해 범례를 넣을 수도 있음 3) Matplotlib graph- Scatt..
Chap 5-2. Pandas - 엑셀, 스프레드 시트로 활용- 구조화된 데이터의 처리를 지원하는 Python 라이브러리- 고성능 Array 계산 라이브러리인 Numpy와 통합하여 기능제공- 인덱싱, 연산용 함수, 전처리 함수 등을 제공- Numpy의 Wrapper 라이브러리 Pandas를 통해 필요한 데이터 추리기 등으로 유용하게 사용가능import pandas as pd # 라이브러리 호출 1) 기본적인 사용법 123data_url = https://주소df_data = pd.read_csv(data_url, sep='\s+', headr = None)# 스프레드 시트 형태로 가져올 수 있음Colored by Color Scriptercs 2) 데이터Series - 하나의 Column에 해당하는 데이터 모음 ObjectDataFr..
Chap 5-1. Numpy Numerical Python의 약자 파이썬 고성능 과학 패키지일반 List에 비해 빠르고 효율적for 문 없이 데이터 처리 가능, 선형대수학 기능 제공c,c++와 같이해서 사용 가능!conda로 패키지 이용가능 * Numpy Arrayndarray로 사용import numpy as np np로 사용하기 1test_array = np.array([1,4,5,8],float) # np 배열 생성cs# numpy array는 하나의 데이터 type만 배열에 넣을 수 있고 메모리 공간을 미리 차지해서 빠르다 1numpy.float64 # 데이터 공간 64 bit로 메모리 영역 설정가능cspython list는 주소를 가르키는 것에만 불과numpy array는 직접 주소를 할당하고 공간을 사용하는 것* Arra..
Chap 4. Machine Learning Overview & An understanding of data 1) Python Ecosystem for MLAnaconda 라는 상용 프로그램, 무겁기 때문에 miniconda 사용!window에서는 CONDA라는 파이썬 가상환경 관리 패키지 활용Pandas, Numpy 등과 같은 라이브러리 활용 예정 * How to learn machine Learning기존의 Data -> 기계 학습 알고리즘 -> 모델 형성새로운 Data -> 모델 -> 예측 일반적인 1차 방정식을 통해 선형 예측은 y= ax + b, 여기서 x는 독립변수이고 y는 종속 변수그리고 a와 b를 구하기 그렇지만, 실제 독립변수는 수많이 존재. 그래서 여러가지 Feature Vector 활용 전체 테이블 - Data sample, 열 - Column 또는 Feature한 명의 Data - Inst..
Chap 3. Assignment 1) Basic Linear AlgebraVector 타입을 튜플로 가져오기 - zipall의 구문은 List 의 요소들이 모드 true 인지 체크(any는 하나라도 true인지 체크) Vector를 요소끼리 더하기(zip으로 vector의 변수들을 묶어서 for문 돌리기)Vector를 요소끼리 빼기(zip으로 vector의 변수들을 묶어서 for문 돌리기)Vector Size 같은지 비교, row 의 수 같은지 비교, 각 row마다 column 수 같은지 비교Vector 같은지 비교, row 끼리 비교, 모든 row가 true인지 체크(all) 2) 연산자 끼워넣기주어진 숫자를 가지고 주어진 연산을 통해 가장 큰 수와 가장 작은 수 추출하기! 전략은 모든 경우의 수를 구하고 가장 큰 수와 가장 작은 수..
Chap 1~2. Pythonic Code 2-1. Pythonic code 이해도, 효율, 간지책 추천 - effective python (길벗 책)파이썬을 여행하는 히치하이커를 위한 안내서 2-2. Split & Join 1)Split 함수 - String Type의 값을 나눠서 List형태로 반환문자열.split(원하는 기준) -> 문자 리스트로 반환 언팩킹 -> a, b, c = example.split()각각 a,b,c에 값 넣기 2)Join 함수 - String List를 합쳐 하나의 String으로 반환문자열 = ''.join(문자 리스트) *********** 2-3. List Comprehensions ***********기존 List를 사용하여 간단히 다른 List를 만드는 기법포괄적인 List, 포함되는 List 라는 의미로 ..