ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [n112] Feature Engineering
    AI 부트캠프 2021. 9. 10. 16:25

    Feature Engineering란 무엇인가

    Raw data에서 수학, 통계, 도메인 knowledge들을 이용하여 유용한 features를 재조합 및 추출하는 과정이다.

    예를 들어, outlier detection, one hot encoding, handling missing values 등이 있다.

    Garbage In -> Garbage Out, 즉 정돈 되지 않은 데이터를 넣으면 결과값도 garbage일 수 밖에 없다.

    그러므로 Feature engineering으로 유용한 데이터를 추출할 필요가 있다.

     

    DataFrame

    간단히 설명하자면, 데이터 프레임은 테이블 형태의 데이터이다.

     

    NaN, Null, 0, Undefined 의 차이는 무엇인가

    Nan는 float 타입을 갖는다.

     

    String Replace

    str.replace("바꾸고자 하는 단어", "새로운 단어")

     

    int로 변환하기

    같은 함수를 한 feature에 전부 다 적용할 때, 하나하나 반복할 필요 없이 한번에 해결 할 수 있다.

    예를 들어, string을 int로 바꾸는 함수 toInt를 정의한 뒤, '자본총계'에 적용 할 때 다음과 같다.

    def toInt(string):
        return int(string.replace(',',''))
    
    df['자본총계'] = df['자본총계'].apply(toInt)

     

    쉼표 ','  생략하기

    1. 파일을 불러올 때 생략하는 방법

    df = pd.read_csv(url, names=headers, thousands = ',')
    df

     

    2. replace() 함수 사용하는 방법

    string.replace(',','')

     

    DataFrame 생성 하기

    d = {'구분': ['18년', '19년'], 
         '시가총액':[2, 4] , 
         '점유율':[62, 63.5], 
         '시장의 규모':[12, 14],  
         'PDR': [3, 9]
         }
    df = pd.DataFrame(data=d)
    df

    DataFrame 인덱싱

    # df.loc["row", "column"]
    
    df.loc[:, "점유율"]

     

    # iloc는 인덱스 값으로 인덱싱한다.
    # row는 ':'이므로 전체, column은 0:2이므로 인덱스 0부터 1까지.
    
    df.iloc[:, 0:2]

     

    Describe()로 Summary Statistics 확인하기

    평균값, 표준편차, 최소값 등을 알 수 있다.

    df_except_quarter.describe()

     

    결측치를 Mean Imputation 방법으로 처리하기

    결측치 값이 있는 부분에 해당 컬럼의 평균값으로 대체할 수 있다.

    df.loc[2, '당기순이익(비지배)'] = None
    df = df.fillna(df.mean())
    df

     

    DataFrame에서 특정 컬럼 제외 하기

    # 컬럼 '분기'를 제외한다
    df_except_quarter = df[df.columns.difference(['분기'])]

     

    모든 데이터를 수치화 하기 (int, float)

    df_except_quarter = df_except_quarter.apply(pd.to_numeric)
    df_except_quarter

     

     

     

    부트캠프 공부 내용 한 눈에 보기

     

    [인덱스] 코드 스테이츠 AI 부트캠프

    구성 2021.09.09 ~ 2022.04 (총 28주) 배우는 내용 Section 1. 데이터 분석 입문 SPRINT 1. EDA SPRINT 2. Statistics SPRINT 3. DAY 1 EDA 데이터 전처리 Pandas in Colab 가설 검정 (t-test) T-Test 행렬 및 벡..

    da-journal.com

     

    댓글