ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (Python) - 4 파이썬 교육
    개발/Python 2024. 8. 27. 17:43

    ■ wsl (윈도우에서 리눅스 환경 이용하기)

     

     

    Linux용 Windows 하위 시스템

     

    wsl --list --online : 기본 배포와 다른 유효한 배포 목록 보기

    wsl --install -d Ubuntu : 우분투 설치하기

     

    ※ 톰캣도 Linux 환경에서 좀 더 잘 돌아간다. 

     

    ■ 아이리스 sklearn 사용해보기

     

     

    sklearn 에 있는 기본 iris 데이터 불러오기

     

     

     

    데이터는 우리가 분석할 sepal nepal 데이터값이 들어가 있고,

    target에는 분류값이 들어가 있다. 

     

     

     

    따라서 분석값은 X 로, 결과값은 y 로 저장해준다. 

     

     

    여기서 우리가 훈련시킬 데이터는 X_train 데이터 그에 해당하는 결과값은 y_train 데이터

    우리가 테스트 후 예측을 잘 했는지 비교할 데이터는 X_test 데이터, 그에 해당하는 데이터는 y_test 데이터이다. 

     

     

    train_test_split 을 사용하면 해당 값을 랜덤하게 섞을 수 있다.

     

     

    X 값이 앞에 있으므로 X_train, X_test 값을 넣어주고

    y 값이 뒤에 있으니 y_train, y_test 값을 각각 넣어주게 된다.

     

    test_size 는 얼마나 test 로 가져갈지를 이야기하고,

    train_size 는 나머지가 돼서 굳이 적어주지 않아도 된다.

     

    random_state 를 통해 고유의 시드 값을 부여해주고

    shuffle=True 해준다. (기본값이라 생략해도 무방하다)

     

     

    이제 객체를 만들어주고 fit() 을 통해 훈련시켜준다. 

     

     

    테스트 값을 통해 예측을 하고

     

    예측값과 실제값이 얼마나 일치하는지 비교한다. 

     

    ■ 의사결정나무

    지도 학습(정답이 무엇인지 아는) 일종으로 분류와 예측을 하는 기법

     

    ※ 회귀와 분류

    - 회귀 : 답이 숫자로 튀어나옴 ex) 집 값 분석

    - 분류 : 답이 종류로 나옴 ex) 아이리스 분석 문제

     

     

     

    독립변수 : x 

    반응변수 : y

     

    반응변수가 수치형 = 회귀

    반응변수가 범주형 = 분류

     

    * 지니 지수

    : 집합에 이질적인 것이 얼마나 섞였는지 측정하는 지표로 불순도를 측정한다.

     

    =불확실성 감소 = 순도 증가 = 정보 획득

     

    * 엔트로피 지수

     

    ■ 의사결정나무 학습 과정

    * 재귀적 분기

    - 구분하기 전보다 구분된 뒤에 각 영역의 순도가 증가하도록 입력 변수의 영역을 두 개로 구분한다.

     

    * 가지치기

    - 과적합(Overfitting)을 방지하기 위해 너무 자세하게 구분된 영역을 통합한다.

    100% 데이터 맞는게 좋은 게 아니다. 

     

     

    ■ RandomForest

     

     

    ■ 유방암 데이터 실습하기

     

     

     

    데이터 불러오기

     

    데이터 타입 확인용(없어도 됨)

     

     

     

    랜덤포레스트가 더 잘 맞는다. 

     

     

     

    n_estimators 는 100개의 나무가 도는 것이다. 

    즉 100번을 돌고 많이 나온 것을 다수결로 값이 pred 이 나오는 것이다. 

     

     

    분류 / 회귀 / 군집 3가지로 구분된다 생각하면 편하다.

     

    - 분류 : 지도 학습, 정답이 정해져 있는

    ex) 사과/배 구분

    - 군집 : 비지도 학습, 정답이 정해져 있지 않은 (누가 맞다 틀리다가 없다.)

    몇 개의 군집으로 분류할 것인가

    ex) 사과를 특상 상 상중 상하 와 같이 세분화 할 것인지 상중하 3가지 단계로 나눌 것인지

    즉, 누가 틀린 게 아닌 문제가 군집이다. 

     

    ■ KNeighborsClassifier

     

     

    ■ LogisticRegression

     

     

    LogisticRegression 는 회귀를 써서 분류를 나타내는 것이다. 

     

    ■ voting

     

     

    4가지를 각각 정의해본다.

     

     

    min_samples_split 데이터가 2개일 때 쪼갠다

    min_samples_leaf 끝에 데이터가 최소 한 개 인정한다. 

     

     

    n_estimators 는 나무를 10개만 한다. 

    n_jobs 는 cpu 를 몇 개 쓸건지 정한다. 

     

     

    셀 분리 : ctrl + shift + -

     

    ■ accuracy_score

     

     

    ■ recall precision

     

     

    데이터 불균형

     

     

     

    ■ 딥러닝

     

    # 신경망(Neural Network)을 사용한 머신러닝 방법
    # 쌓는 은닉층이 많아서(deep) DNN(Deep NN)이라 부른다.

     

    딥러닝은 선형함수

     

     

     

    ■ tensorflow 

     

     

    pip install tensorflow 로 설치

    '개발 > Python' 카테고리의 다른 글

    (Python) - 3 파이썬 교육  (0) 2024.08.26
    (Python) - 2 파이썬 교육  (0) 2024.08.23
    (Python) - 1 파이썬 교육  (0) 2024.08.22
Designed by Tistory.