타이타닉 생존자 예측
kaggle에 있는 데이터 셋을 불러와 Tableau를 이용하여 분석해보자.
데이터 전처리를 한 뒤 모델에 학습을 시켜보자.

데이터 원본이다. 쭉 둘러보니 쓸모없는 데이터도 있는 것 같다.

성별과 나이를 분석해 봤다. 파란색이 여자, 주황색이 남자이다.
0이 죽은 사람, 1은 생존자이다. 눈에 확연히 들어오는 것은 20~30대의 남성이 여성에 비해 많이 죽었다는 것과 10~30대의 여성이 남성에 비해 많이 생존했다는 것이다.

원의 크기로 보아 남성 승객이 더 많았음을 알 수 있다.
또한 남색이 죽은 사람이고 주황색이 생존자이다. 여성은 남성에 비해 많이 탑승하지 않았지만 생존자가 죽은 사람보다 3배 많다. 그에 비해 남성은 많이 탑승하였지만 생존자가 4배 정도 적다.

Pcalss를 보니 3등급 class의 승객중 죽은 사람이 압도적으로 많다.
1등급 class의 승객은 죽은 사람보다 생존자가 더 많다. class가 좋을수록 생존율이 좋다는 것을 알 수 있다.

좌석의 위치를 나타내는 데이터를 그룹화하여 구역별로 생존자의 수를 알아 봤다.
B구역에 생존자가 많이 존재하는 것을 확인할 수 있다.

연령대별로 그룹화하여 생존자 수 차이를 살펴봤다.
청장년(20~30)의 대부분이 죽었고 그중 남성의 비율이 압도적이다. 생존자의 비율은 여성이 더 많다는 것을 알 수 있다.
청장년층 다음으로는 중년(40~50) 남성이 많이 죽었고 역시 여성 생존자의 비율이 더 높다.
어린이들은 죽은 사람보다 생존자가 더 많다는 것을 볼 수 있다.
정리해보면 나이와 성별이 생존 여부에 어느 정도 관련이 있다고 생각한다. 또한 Pclass는 주요한 역할을 하고 이름이나 요금 승선 위치, 동승객 여부는 그리 중요한 데이터가 아니라 생각하여 제외한 뒤 학습을 진행하고자 했다.
train = train.drop(['Name', 'Fare', 'SibSp', 'Parch', 'Ticket','Embarked','Cabin'], axis=1)
test = test.drop(['Name', 'Fare', 'SibSp', 'Parch', 'Ticket','Embarked','Cabin'], axis=1)
가장 좋은 성능을 보인 모델은 random_forest였다.
random_forest = RandomForestClassifier(n_estimators=100)
random_forest.fit(x_train, y_train)
Y_pred = random_forest.predict(test)
random_forest.score(x_train, y_train)
acc_random_forest = round(random_forest.score(x_train, y_train) * 100, 2)
acc_random_forest
그리 좋은 결과를 얻지는 못했다. 아무래도 많이 필드를 drop 하고 데이터의 상관관계를 무시해서 그런 것 같다.
https://www.kaggle.com/leeminhwan/titanic
titanic
Explore and run machine learning code with Kaggle Notebooks | Using data from Titanic - Machine Learning from Disaster
www.kaggle.com
타이타닉 생존자 예측
kaggle에 있는 데이터 셋을 불러와 Tableau를 이용하여 분석해보자.
데이터 전처리를 한 뒤 모델에 학습을 시켜보자.

데이터 원본이다. 쭉 둘러보니 쓸모없는 데이터도 있는 것 같다.

성별과 나이를 분석해 봤다. 파란색이 여자, 주황색이 남자이다.
0이 죽은 사람, 1은 생존자이다. 눈에 확연히 들어오는 것은 20~30대의 남성이 여성에 비해 많이 죽었다는 것과 10~30대의 여성이 남성에 비해 많이 생존했다는 것이다.

원의 크기로 보아 남성 승객이 더 많았음을 알 수 있다.
또한 남색이 죽은 사람이고 주황색이 생존자이다. 여성은 남성에 비해 많이 탑승하지 않았지만 생존자가 죽은 사람보다 3배 많다. 그에 비해 남성은 많이 탑승하였지만 생존자가 4배 정도 적다.

Pcalss를 보니 3등급 class의 승객중 죽은 사람이 압도적으로 많다.
1등급 class의 승객은 죽은 사람보다 생존자가 더 많다. class가 좋을수록 생존율이 좋다는 것을 알 수 있다.

좌석의 위치를 나타내는 데이터를 그룹화하여 구역별로 생존자의 수를 알아 봤다.
B구역에 생존자가 많이 존재하는 것을 확인할 수 있다.

연령대별로 그룹화하여 생존자 수 차이를 살펴봤다.
청장년(20~30)의 대부분이 죽었고 그중 남성의 비율이 압도적이다. 생존자의 비율은 여성이 더 많다는 것을 알 수 있다.
청장년층 다음으로는 중년(40~50) 남성이 많이 죽었고 역시 여성 생존자의 비율이 더 높다.
어린이들은 죽은 사람보다 생존자가 더 많다는 것을 볼 수 있다.
정리해보면 나이와 성별이 생존 여부에 어느 정도 관련이 있다고 생각한다. 또한 Pclass는 주요한 역할을 하고 이름이나 요금 승선 위치, 동승객 여부는 그리 중요한 데이터가 아니라 생각하여 제외한 뒤 학습을 진행하고자 했다.
train = train.drop(['Name', 'Fare', 'SibSp', 'Parch', 'Ticket','Embarked','Cabin'], axis=1)
test = test.drop(['Name', 'Fare', 'SibSp', 'Parch', 'Ticket','Embarked','Cabin'], axis=1)
가장 좋은 성능을 보인 모델은 random_forest였다.
random_forest = RandomForestClassifier(n_estimators=100)
random_forest.fit(x_train, y_train)
Y_pred = random_forest.predict(test)
random_forest.score(x_train, y_train)
acc_random_forest = round(random_forest.score(x_train, y_train) * 100, 2)
acc_random_forest
그리 좋은 결과를 얻지는 못했다. 아무래도 많이 필드를 drop 하고 데이터의 상관관계를 무시해서 그런 것 같다.
https://www.kaggle.com/leeminhwan/titanic
titanic
Explore and run machine learning code with Kaggle Notebooks | Using data from Titanic - Machine Learning from Disaster
www.kaggle.com