Overview of How Kaggle’s Competitions Work
1. Join the Competition
Read about the challenge description, accept the Competition Rules and gain access to the competition dataset.
2. Get to Work
Download the data, build models on it locally or on Kaggle Kernels (our no-setup, customizable Jupyter Notebooks environment with free GPUs) and generate a prediction file.
3. Make a Submission
Upload your prediction as a submission on Kaggle and receive an accuracy score.
4. Check the Leaderboard
See how your model ranks against other Kagglers on our leaderboard.
5. Improve Your Score
https://www.kaggle.com/alexisbcook/titanic-tutorial
Titanic Tutorial
Explore and run machine learning code with Kaggle Notebooks | Using data from Titanic - Machine Learning from Disaster
www.kaggle.com
1번 join competition
2번 These rules govern how many submissions you can make per day, the maximum team size, and other competition-specific details. Then, click on "I Understand and Accept"
3번 데이터 파일이 kaggle/inputs/titanic에 있어서 그걸 이용하면 된다.
**loc을 이용해서 dataframe의 행, 열 정보를 알 수 있다.
[]만 사용하면 Series가 반환되고 [[]]를 사용하면 dataframe이 반환된다.
4번 머신러닝을 이용하지 않고 하나의 컬럼인 성별만 고려했을때 70%의 accuracy를 보였다.
이런 방식을 수동적으로 하면 힘들다 그래서 머신러닝 기법을 이용해서 성능을 높여보자.
5번 random forest model을 이용해보자.
https://eunsukimme.github.io/ml/2019/11/26/Random-Forest/
Random Forest(랜덤 포레스트) 개념 정리
Decision Tree는 overfitting될 가능성이 높다는 약점을 가지고 있습니다. 가지치기를 통해 트리의 최대 높이를 설정해 줄 수 있지만 이로써는 overfitting을 충분히 해결할 수 없습니다. 그러므로 좀더 일
eunsukimme.github.io
이것은 ensemble model로 여러가지 decision tree를 vote하여 결과를 도출합니다. 이렇게 하면 overfitting을 억제할 수 있는데 하나의 decision tree에서는 overfit이 생길 수 있어도 여러가지를 사용하기때문에 피하게 됩니다.
https://wooono.tistory.com/104
[ML] 의사결정트리(Decision Tree) 란?
의사결정트리(Decision Tree)란? 의사결정트리는 일련의 분류 규칙을 통해 데이터를 분류, 회귀하는 지도 학습 모델 중 하나이며, 결과 모델이 Tree 구조를 가지고 있기 때문에 Decision Tree라는 이름을
wooono.tistory.com
random forest model을 알기 위해서는 decision tree에 대해서 알아야합니다. classification, regression problem에 모두 사용이 가능하고 방식은 스무고개와 같습니다.
이 random forest model을 사용해서 feature 중 pclass, sex, parch, sibsb를 사용하였습니다.
6번 데이터에 pandas의 get_dummies메소드를 사용하여 봅시다. 데이터를 수치로 전환해주는 역할을 합니다.
[pandas] pd.get_dummies() : 데이터전처리/가변수 만들기
[pandas] pd.get_dummies() : 가변수 만들기 머신러닝을 할 때 기계가 이해할 수 있도록 모든 데이터를 수치로 변환해주는 전처리 작업이 필수적이다. 예를들어, 숫자가 아닌 object형의 데이터들이
devuna.tistory.com
이때 object를 숫자로 바꾸기만 하면 되지 왜 더미를 추가해주는 과정을 갖느냐라고 물어볼 수 있는데 그 이유는 월, 화, 수에서 1,2,3으로 변환된다고 하면 실제로는 관계성이 없는데 1,2,3을 하면 1 + 2 = 3으로 관계성을 갖게 되고 이러한 관계성을 없애기 위해서 더미를 추가해주는 것이다. 각 컬럼 중에서 필요한 sex 컬럼에 대해서만 함수가 작동한다.
6번 sklearn을 사용해서 모델로 학습을 해주면 성능이 향상되고 to_csv로 csv로 저장을 해서 다시 제출을 하면 순위에 변동이 생긴 것을 확인할 수 있다.
https://www.kaggle.com/lsjung567/myfirstkaggle?scriptVersionId=62819164
'이제는 사용하지 않는 공부방 > Artificial intelligence' 카테고리의 다른 글
[밑바닥부터 시작하는 딥러닝] 7강 CNN 핵심정리 (0) | 2021.05.15 |
---|---|
[kaggle] titanic EDA To prediction (0) | 2021.05.15 |
[추천시스템] (1) LearningToRank 기초정리 (0) | 2021.05.10 |
[추천시스템] 전체 핵심 복습 (0) | 2021.05.08 |
[밑바닥부터 시작하는 딥러닝] 6장 학습관련 기술들 (0) | 2021.05.07 |