初心者コンテストに挑戦①
SignateさんのBeginnerコンテストに挑戦してみます↓
私はPythonはUdemyさんのコースだけの勉強であまりわかっていないので、
CourseraのOctaveで解くことになります。
目的は定期預金キャンペーンに入ったか否かなのでlogistic Regressionの問題です。
要素16個を基に予測する形式です。
CourseraのWeek3 での解き方、つまり
x1 X θ1 + x2 X θ2+・・・・+x16 X θ16
のような式を作成したいと思います。
と思いましたが、16の要素の中には数で表現できないものが入っています。
なので数で表現できないデータの取り扱い方を考えたいと思います。
2.職業
—>対応策 例)1=サラリーマン/ 2=自営業のように番号を振ってみる
3.婚姻状態
1=既婚、2=未婚 と番号を振ってみる
4.最終学歴
1=高卒、2=大卒と番号を振ってみる
5.破産経験の有無
1=有り、2=無しと番号を振ってみる
7.住宅ローン
1=有り、2=無しと番号を振ってみる
8.借金
1=有り、2=無しと番号を振ってみる
9.連絡方法
—>対応策 例)1=電話/ 2=Eメール
数で表現できないものの取り扱い方を1通り考えました。
数で表現できるものも見たいと思います。
1.年齢 -->そのままの数で扱うか、21-30/31-40/41-50のように幅として扱うか選択がある
6.年間平均残高
10.最終接触日
11.最終接触月
10と11はセットにして11月22日とかなるのですが、
年がないと統一した基準にならない気がします。
12.最終接触時間(秒)
13.現キャンペーンにおける接触回数
14.経過日数:前キャンペーン接触後の日数
16.前回のキャンペーンの成果
1回データを見てみたので、今後の作業工程を考えてみたいと思います。
<データの前処理>
①データをJupyterで読み込んで欠損値があるかどうか確認
②数で表現できないデータを数字に割り振る変更をJupyterで行う
※できるかどうかわからない
③②で加工したデータをOctaveで読み込む
④x1 X θ1 + x2 X θ2+・・・・+x16 X θ16 の式で
Logistic Regressionを行う
⑤Trainデータは27000あるので、データを2分割して
20000で最適θを探し、7000でCross Validationする
で進めてみたいと思います
今回はここまでです。また次回頑張ります。