베짱이와 노는 개미

ML#4 - 파이썬 함수 정리(수시 업데이트) 본문

AI(머신러닝+딥러닝) 프로젝트

ML#4 - 파이썬 함수 정리(수시 업데이트)

jsistop16 2021. 8. 6. 13:13
  • 패키지: 사이킷런(sklearn) *사이킷런은 함수뿐 아니라 Kneighborsclassifier와 같은 알고리즘도 제공함
    • fit() : 데이터에서 규칙을 찾는 훈련
      • 매개변수 2개(훈련데이터+정답데이터)
      • 매개변수를 리스트의 리스트 형태로 전달(이중리스트[[ ]]=2차원배열 )
    • predict() : 사이킷런 모델을 훈련하고 예측할때 사용
      • 매개변수 1개
      • 매개변수를 리스트의 리스트 형태로 전달(이중리스트[[ ]] )
    • score() : 훈련된 사이킷런 모델의 성능을 측정(잘 훈련됐는지)
      • 매개변수 2개(특성데이터+정답데이터)
      • 보통 predict메소드로 먼저 예측한 다음에 올바르게 예측했는지에 대한 비율을 반환(만점 1.0)
    • train_test_split() : 전달받은 리스트나 배열을 비율에 맞게 훈련세트, 테스트세트로 나눠준다
      • model_selection 모듈 밑에 있음
      • ex) import 방식 : from sklearn.model_selection import train_test_split
      • ex) 사용법 : train_input ,test_input, train_target, test_target = train_test_split(fish_data, fish_target, random_state=42) - random_state는 seed와 같은 용도 
      • 기본적으로 테스트용으로 25%를 떼어냄
    • kneighbors() : 입력한 데이터의 가장 가까운 이웃과의 거리와 그 이웃의 인덱스를 반환
  • 패키지: sklearn.metrics
    • mean_absolute_error() : 타겟과 예측의 절댓값 오차를 평균하여 반환
  • 패키지: matplotlib
    • scatter() : 산점도 그리기
      • 매개변수:x축값, y축값
    • xlabel()/ylabel() : x축 이름/y축 이름 설정
      • 축 이름으로 설정할 문자열을 매개변수로 전달
      • xlabel('시간') -> x축 이름 '시간으로 설정'
    • xlim()/ylim() : x,y축의 범위 설정
      • xlim((0,1000))->0~1000까지의 범위가 x축에 기입됨
  • 패키지: numpy
    • seed() : 넘파이에서 난수를 생성하기 위한 정수 초기값 지정해주는 함수
      • 초기값이 같으면 항상 같은 난수를 뽑는다
      • 같은 난수를 설정해놓고 테스트 해볼때 활용
    • arange() : 일정한 간격의 정수 또는 실수 배열을 만드는 함수
      • 기본간격=1
      • ex) np.arange(3)->[0,1,2] / np.arange(0,4)->[0,1,2,3]
    • shuffle() : 주어진 배열을 랜덤으로 섞음.
      • ex) np.random.shuffle([1,2],[1,3],[2,4]) -> [[1,3],[2,4],[1,2]]
    • ones()/zeros() : 원하는 개수만큼 1과 0으로 채워진 배열 출력
      • 원하는 개수를 매개변수로 전달
    • column_stack() : 전달받은 리스트를 일렬로 세운 다음 차례대로 나란히 연결하는 함수
      • 매개변수로 전달되는 리스트를 튜플로 전달해야함->함수(매개변수(튜플[리스트],[리스트]))
      • ex) np.column_stack(([1,2,3],[4,5,6]))->([1,4],[2,5].[3,6]) 3개의 리스트가 밑으로 연결됨
    • concatenate() : column_stack()과 유사하지만 concatenate()는 옆으로 리스트를 연결한다.
      • 매개변수는 튜플 형식으로 전달 
      • ex) np.concatenate(np.zeros(2),np.ones(4))->[0,0,1,1,1,1]
    • mean()/std() : 평균과 표준편차 구하는 함수
      • ex) numpy.mean(A, axis=0) ->A라는 배열의 평균을 세로방향(열)으로 구해라
      • 축(axis)을 설정해줘야함 -> axis=0:세로방향, axis=1:가로방향
  • 패키지 없이 사용하는 함수
    • reshape(): 배열의 크기를 지정함
      • reshape(a,b)->a행b열 크기의 배열로 변형해라 라는 뜻
      • ex) arr=[1,2,3,4,5,6]  
      • arr.reshape(2,3) 은 다음과 같다
      • [[1,2]
      • [3,4]
      • [5,6]]
      • reshape(-1,3) 처럼 두 매개변수 중 -1이라는 값이 들어갈수 있는데 이것은 알아서 추정해라 라는 뜻
      • 열의 개수가 3이려면 행이 2여야한다. 이처럼 행의 개수를 알아서 잘 맞게끔 찾아라 라는 뜻이다
      • 매개변수를 -1로 지정하는것은 배열의 총 원소의 개수를 모르거나 많을때 유용하다.