scikit-learn의 LabelEncoder를 사용해 보십시오(초보자용)

문자 데이터를 숫자로 바꿔야 할 때 매우 편리합니다!

하고 있는 일


타이타닉 호의 데이터 집합을 이용하다
  • 모든 탭 이름의 열 값을 문자에서 숫자로 변환
  • 숫자로 변환된 데이터를 문자
  • 로 반환

    차리다


    타이타닉 호의 데이터는 seabrn에 있기 때문에 불러낼 것이다.
    import seaborn as sns
    import pandas as pd
    from sklearn import preprocessing
    
    titanic = sns.load_dataset("titanic")
    
    숫자로 변환된 탭을 문자 탭으로 복원하기 위해 사전을 준비하십시오
    le_dict = {}
    
    내용을 확인하다
    print(titanic.head())
    

    실행


    임의의 탭(sex,class)이 있는 열만 문자-숫자로 대체됨
    for column in ["sex", "class"]:
        le_dict[column] = preprocessing.LabelEncoder()
        le_dict[column].fit(titanic[column])
        titanic[column] = le_dict[column].transform(titanic[column])
    
    결과를 확인하다
    print(titanic.head())
    
    male->1,female->0 등으로 교체되었음을 확인할 수 있습니다.

    탭으로 돌아가기


    inverse_transform () 을 사용하면 되돌아갈 수 있습니다.
    for column in ["sex", "class"]:
        titanic[column] = le_dict[column].inverse_transform(titanic[column])
    
    결과를 확인하다
    print(titanic.head())
    
    아무 일도 없었던 것처럼 돌아왔습니다.

    모든 코드

    import seaborn as sns
    import pandas as pd
    from sklearn import preprocessing
    
    titanic = sns.load_dataset("titanic")
    le_dict = {}
    
    print(titanic.head())
    
    for column in ["sex", "class"]:
        le_dict[column] = preprocessing.LabelEncoder()
        le_dict[column].fit(titanic[column])
        titanic[column] = le_dict[column].transform(titanic[column])
    
    print(titanic.head())
    
    for column in ["sex", "class"]:
        titanic[column] = le_dict[column].inverse_transform(titanic[column])
    
    print(titanic.head())
    

    좋은 웹페이지 즐겨찾기