【Python】決定木分析で銀行口座の開設見込み顧客を予測してみた

▼SAP転職なら! LINE追加で気軽に相談▼

Pythonを用いて銀行口座の開設見込みがある顧客を決定木分析してみましたので、備忘としてメモを残しておきます。

コードはJupyter Notebookに記述しました。

【参照サイト】SIGNNATE
https://signate.jp/

使用データ

使用したデータは下記の3ファイルです。
※リンク先からダウンロードが可能です

test.csv train.csv submit_sample.csv

ソースコード

#ライブラリをインポート
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
%matplotlib inline

from sklearn.tree import DecisionTreeClassifier as DT
from sklearn.tree import export_graphviz
import pydotplus
from IPython.display import Image
#データの読み込み
train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")
sample = pd.read.csv("submit_sample.csv",header=None)
#trainから説明変数取り出し(0~17列目)
trainX = train.iloc[:,0:17]

#trainから目的変数取り出し
y = train["y"]
#testから説明変数取り出し
testX = test.copy()
#trainXとtestXをダミー変数化
trainX = pd.get_dummies(trainX)
testX = pd.get_dummies(testX)
#決定木モデルの箱を用意
#max_depth=2,min_samples_leaf=500とする
clf1 = DT(max_depth=2,min_samples_leaf=500)

#決定木モデルを作成
clf1.fit(trainX,y)
#決定木を可視化する
#dotファイル書き出し
export_graphviz(clf1, out_file="tree.dot", feature_names=trainX.columns, class_names=["0","1"], filled=True, rounded=True)

#dotファイルを表示
g = pydotplus.graph_from_dot_file(path="tree.dot")
Image(g.create_png())
#testを予測する
pred = clf1.predict_proba(testX)
#y=1の結果のみpredに再代入
pred = pred[:,1]
#predをsample[1]に代入
sample[1] = pred
#結果をsubmit_bank.csvファイルに出力
sample.to_csv("submit1_bank.csv", index=None, header=None)

以上。

SAP初心者・中級者にはコレ!

SAPコンサルタントとして長年にわたり複数のPJに携わってきたプロによる一冊。

 

本書では宅配ピザ屋を例に、会社の業務とそれに紐づく各SAPモジュールの説明が丁寧にされており、この一冊で体系的に業務とSAPの基礎知識を身に付けることが可能です。

 

これからSAPの業務に携わる人や、改めてSAPの全体観を把握したい人など、初心者~中級者まで自信を持っておすすめします。

SAP転職なら! LINE追加で気軽に相談▼

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です