데이터 전처리 Data Preprocessing 문자열 값을 입력값으로 허용하지 않음, 모든 문자열 값은 인코딩돼서 숫자형으로 변환해야 함 데이터 인코딩 레이블 인코딩 Label Encoding 카테고리 feature를 코드형 숫자값으로 변환하는 것 LabelEncoder 클래스로 구현 In [2]: from sklearn.preprocessing import LabelEncoder items = ['TV', '냉장고', '전자레인지', '컴퓨터', '선풍기', '선풍기', '믹서', '믹서'] #LabelEncoder를 객체로 생성 후 fit과 transform으로 레이블 인코딩 수행 encoder = LabelEncoder() encoder.fit(items) labels = encoder.trans..
GridSearchCV - 교차 검증과 최적 하이퍼 파라미터 튜닝을 한 번에 ¶ 하이퍼 파라미터 값을 조정하여 알고리즘의 예측 성능을 개선할 수 있음 In [1]: grid_parameters = {'max_depth': [1, 2, 3], 'min_samples_split': [2, 3] } GridSearchCV 클래스의 input인자¶ estimator: classifier, regressor, pipeline 등 param_grid: key + 리스트값을 가지는 딕셔너리가 주어짐. estimator 튜닝을 위해 파라미터명과 사용될 여러 파라미터 값을 지정 scoring: 예측 성능을 측정할 평가 방법을 지정. 보통은 accuracy로 지정함 cv: 교차 검증을 위해 분할되는 학습/테스트 세트의 개..
apply lambda 식으로 데이터 가공¶ 칼럼에 일괄적으로 데이터 가공을 하는 것이 속도 면에서 빠르고 복잡한 데이터 가공이 필요할 경우 이용 In [2]: def get_square(a): return a**2 print('3의 제곱은:', get_square(3)) 3의 제곱은: 9 lambda는 이런 함수 선언과 함수 내의 처리를 한 줄의 식으로 쉽게 변환하는 식임 : 로 입력 인자와 반환될 입력 인자의 계산식(반환값)을 분리함 여러 개의 값을 입력 인자로 사용해야 할 때, map( )함수과 같이 씀 In [3]: lambda_square = lambda x : x ** 2 print('3의 제곱은:', lambda_square(3)) 3의 제곱은: 9 In [5]: a = [1, 2, 3] s..
결손 데이터 처리하기¶ 머신러닝은 NaN 값을 처리하지 않으므로 다른 값으로 대체해야 함 결손 여부 확인: isna( ) 다른 값으로 대체: fillna( ) In [1]: import pandas as pd titanic_df = pd.read_csv('./titanic_train.csv') titanic_df Out[1]: PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked 0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S 1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female ..
정렬, Aggregation 함수, GroupBy 적용¶ sort_values( )¶ 주요 파라미터: by='칼럼명', ascending=True(기본 오름차순), inplace=False(호출한 df는 그대로 유지하면서 정렬된 df를 결과로 반환) In [1]: import pandas as pd titanic_df = pd.read_csv('./titanic_train.csv') titanic_df Out[1]: PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked 0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S 1 2 1 1 Cuming..
데이터 셀렉션 및 필터링¶ dataframe뒤의 []는 '칼럼 지정 연산자' In [1]: import pandas as pd titanic_df = pd.read_csv('./titanic_train.csv') titanic_df Out[1]: PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked 0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S 1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C 2 3 1 3 Heikki..