본문 바로가기

Archived(CSE Programming)/Machine Learning

Chap 6. Assignment & Case study

6-1.Data Handling - Assignment(Numpy Lab)


Numpy_lab.py 코드 구조

for 문이나 if 문을 최대한 쓰지 않으면서 사용하는 것이

Python 느낌의 코드


# n_size_ndarray_creation

n의 제곱수로 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_ndarray

reshape 해주기!


# normalize_ndarray 

n_row, n_column = X.shape 을 사용하게 되면 튜플형태 반환


# save_ndarray 

파일 객체 열어서 np.save로 저장하기


# 가장 가까운 값 찾기

X[np.argmin(np.abs(X-target_value))]


# n번 째 큰값 찾기

X[np.argsort(X[::-1])[:n]]


6-2.Data Handling - Assignment(Lab Build Matrix)


영화 정보와 유저 평가 점수의 Table이 있다면

적절한 User-Movie-Rating Table로 변환하기!


pd.read_csv(파일명) 으로 읽어와서

groupby([source,taget]) 정렬해주고

[rating].sum() 으로 각 유저들의 점수를 합쳐서 DB 생성

unstack을 통해 matrix로 바꿔준다!

다음 fillzero()를 통해 None을 0 값으로 채워준다


6-3. Case study - Air Passengers

월별 년도별 승객 

이전달 이번달 승객 차이

누적 최고 최소 승객수


Data String 타입으로 들어가 있는 것을 핸들링하기 위해서 

Month 데이터 추출해내기 x.split('-')


diff()함수를 통해 차이값 구하기

pct_change() 이전값에 비해서 몇 퍼센트 차이 나는지


6-4. Case study - Patent Data


특허 데이터를 다운로드 받으면 굉장히 지저분함

이런 것들을 정리하고 가공해야함


특허의 출원번호와 분류 series 추출해내기

데이터 가져와서 하나씩 append 시켜주기

pd.DataFrame을 통해서 pandas 프레임 씌워주기