모델을 학습시킬 때 hyperparameter tunning을 해보자. 그나저나 본고에서 모델을 학습시킬 때 세 가지 방법을 사용했는데, 각각을 보면 얘는 기본. 성능보다는 속도를 중시한다. 개발자가 해당 문제에 대해 지식이 조금 있는 경우 parameter를 조정할 수 있다. 모델이 parameter를 학습하는 과정을 보완하는 것이다. 얘가 시간이 가장 오래 걸린다. 아무튼 hypterparameter tunning을 해서 모델을 학습시키자. tuner = tfdf.tuner.RandomSearch(num_trials=1000) 먼저 튜너를 설정한다. 이 튜너를 통해 무작위의 1,000개의 hyperparameter 조합을 시도한다. tuner.choice("min_examples", [2, ..
improved parameters로 만든 모델을 해부해 보자. model.summary() 이렇게 입력을 하면 아주 길게 이것저것 나오니까 잘라서 확인하자. Model: "gradient_boosted_trees_model_1"_________________________________________________________________ Layer (type) Output Shape Param # ==================================================================================================================================Total para..
이제 모델을 만들고 학습해야 한다. model = tfdf.keras.GradientBoostedTreesModel() 이 코드를 통해 TensorFlow Decision Forests (TF-DF) 라이브러리를 사용해 Gradient Boosted Trees 모델을 만든다. 함수 내부의 parameter를 보자. verbose=0 verbose는 "장황한"이라는 뜻이다. 이 값이 0이면 훈련 과정 중 출력이 거의 없다. 기본값은 1로 에포크당 loss나 accuracy 등의 요약 정보를 출력한다. 1보다 커질 수도 있는데 커지면 커질수록 더 자세한 정보를 제공한다. features=[tfdf.keras.FeatureUsage(name=n) for n in input_features] 사용할 featu..
다음으로 데이터들을 불러와야 한다. pd.read_csv() 위 함수를 사용하면 해당 경로에 있는 CSV 파일을 읽을 수 있다. CSV 파일은 "Comma-Separated Values"의 약자로 말 그대로 쉼표로 구분된 값들을 가진 파일 형식이다. 이런 식으로 헤더와 데이터 행으로 구성되어 있다. 원본 데이터는 예쁘지 않으니까 preprocess를 해야 한다. (데이터 정리 및 형식 통일, 노이즈 제거, 스케일 일치시키기 등을 한다.) df = df.copy() 위 코드를 통해 원래 데이터를 deep copy로 복사해 온다. def normalize_name(x): return "-".join([v.strip(",().\"'") for v in x.split(" ")])def ticket_n..
프로그래밍 언어를 처음 배울 때 "Hello, World!"를 출력하듯, AI/ML을 처음 배울 때는 타이타닉의 생존자를 예측해야 한다. 언젠가 해야지 해야지 생각만 하다가 그냥 확 질러버렸다. 역시 Kaggle이 짱짱이다. 바로 이것을 해볼 것이다.https://www.kaggle.com/competitions/titanic Titanic - Machine Learning from Disaster | Kaggle www.kaggle.com 근데 Kaggle을 한 번도 사용해 본 적이 없어서 아래 튜토리얼을 봤다. 여기서 기본 Kaggle 사용법을 알 수 있다. (코딩하는 법은 안 나온다.)https://www.kaggle.com/code/alexisbcook/titanic-tutorial Titanic..