ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 지도학습 가이드 라인
    Data Analysis/기계학습(Machine Learning) 2020. 8. 10. 16:16
    반응형

    주제: 기계학습 가이드라인


    지도학습의 가이드라인 

    • 모델 적용하기: 데이터 분석과정 중 EDA(데이터 정제) 이후에 적합한 모델을 적용하는 단계
    • 준비물: EDA Data(정제된 Data), 적합한 모델 선택
    • 오늘 가이드라인 소개를 위해서 iris 범주형 자료를 사용함
    • iris 데이터 소개: 붓꽃의 3가지 종(setosa, versicolor, virginica)에 대해 꽃받침과 꽃잎의 길이를 정리한 데이터

    1. 데이터 불러오기

    import seaborn as sns
    df = sns.load_dataset('iris')
    

    1.2 설명변수(X)와 타켓변수(Y) 지정하기

    # 변수명 
    df.columns
    
    Y = df['species']
    X = df.drop(columns = 'species') # df에서 'species'변수 drop 시키기
    

    2. 데이터 분리하기

    from sklearn.model_selection import train_test_split
    Train_X, Test_X, Train_Y, Test_Y = train_test_split(X,Y)

    3. 모델 선택 및 인스턴스화

    • iris data는 분류 모델 중 나이브 베이즈 분류 모델 사용
    • 모델 선택을 위해서는 통계, 데이터 분석, 머신러닝 모델에 대한 지식이 필요 
    from sklearn.naive_bayes import GaussianNB
    model = GaussianNB()

    4. 모델 피팅

    model.fit(Train_X, Train_Y)

    5. 데이터 예측

    prediction_Y = model.predict(Test_X)

    6. 모델 평가

    • 모델마다 평가 기준이 다르기 때문에 이 부분 또한  통계, 데이터 분석, 머신러닝 모델에 대한 지식이 필요 
    from sklearn.metrics import accuracy_score
    accuracy_score(Test_Y, prediction_Y)

     

    전체 코드

    # 전체 코드 
    import seaborn as sns
    df = sns.load_dataset('iris')
    
    df.columns
    
    Y = df['species']
    X = df.drop(columns='species')
    
    from sklearn.model_selection import train_test_split
    Train_X, Test_X, Train_Y, Test_Y = train_test_split(X,Y)
    
    from sklearn.naive_bayes import GaussianNB
    model = GaussianNB()
    
    model.fit(Train_X, Train_Y)
    
    prediction_Y = model.predict(Test_X)
    
    from sklearn.metrics import accuracy_score
    accuracy_score(Test_Y, prediction_Y)
    반응형

    댓글

Designed by Tistory.