---
# System prepended metadata

title: データサイエンス研究部 - 0618

---

# データサイエンス研究部 - 0618
- tutorial
  - とりあえず動くサンプルコードというものがある
- [titanic tutorial](https://www.kaggle.com/alexisbcook/titanic-tutorial)

- gender_submission.csvの形式にして提出する必要がある
  - passengerIdの人がSurvivedかどうかを提出する
  - その人が生きてるか死んでるかを当てる
  - 0/1の分類問題
  - 求めるものに対して使うものが変わる
    - 回帰分析は数値を出したいときに使う
    - 今回は分類問題になる

---

- tutorialをより良くしていく
- 初期値は`0.777511`
- 前処理か、中身を良くしていく
- 手法を変えるか、数字をいじってやると良い
- 提出上限がある

---

- titanicコンペをいい感じに頑張った
- tutorialを改善していった

---

- 次回は初心者向けコンペから何か参加してみる
- 学習するのが目的なので、playgroundかgetting-startedのコンペをやる予定

書いたコード
```python
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)

# CSVのインポート
train_data = pd.read_csv("./train.csv")
train_data.head()

test_data = pd.read_csv("./test.csv")
test_data.head()

# rateの算出
women = train_data.loc[train_data.Sex == 'female']["Survived"]
rate_women = sum(women)/len(women)

print("% of women who survived:", rate_women)

men = train_data.loc[train_data.Sex == 'male']["Survived"]
rate_men = sum(men)/len(men)

print("% of men who survived:", rate_men)

# y, xの
y = train_data["Survived"]

features = ["Pclass", "Sex", "SibSp", "Parch"]
X = pd.get_dummies(train_data[features])
X_test = pd.get_dummies(test_data[features])

# アンサンブル学習(RandomForest, GradientBoostingClassifier, lightGBM)

from sklearn.ensemble import RandomForestClassifier
import lightgbm as lgb
from sklearn.ensemble import GradientBoostingClassifier

model_1 = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=1)

params = {
    "random_state": 42
}
model_2 = lgb.LGBMClassifier(**params)
model_3 = GradientBoostingClassifier(n_estimators=100, max_depth=5, random_state=1, learning_rate=.01)

# モデルの学習
model_1.fit(X, y)
model_2.fit(X, y)
model_3.fit(X, y)


pred_1 = model_1.predict(X_test)
pred_2 = model_2.predict(X_test)
pred_3 = model_3.predict(X_test)

# 
prediction = 0.3 * pred_1

output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': prediction})
output.to_csv('my_submission.csv', index=False)
print("Your submission was successfully saved!")
```
