銀行顧客の流出の計算(Pythonを使用した問題の解決)

Kaggleの機械学習とデータ分析のタスクを解決した経験を共有したいと思います。 この記事は、完全に単純ではないタスクの例に関する初心者ユーザー向けのガイドとして位置付けられています。



データサンプリング



データサンプルには、約10,000行と15列が含まれています。





挑戦する



  1. 顧客の流出に最大の影響を与えるパラメーターを見つけます。
  2. 銀行顧客の流出を予測する仮説を作成します。


ツールキット





ライブラリをインポートする



import pandas as pd from sklearn.cross_validation import train_test_split from sklearn import svm import seaborn as sns import matplotlib.pyplot as plt from sklearn.metrics import mean_squared_error import numpy as np from sklearn.naive_bayes import GaussianNB
      
      





データをダウンロードして表示する



 dataframe = pd.read_csv("../input/Churn_Modelling.csv") dataframe.head()
      
      









データ変換



上記のデータでは、「性別」と「地理的位置」という2つの列がすぐにわかります。 変換を実行します。



 dataframe['Geography'].replace("France",1,inplace= True) dataframe['Geography'].replace("Spain",2,inplace = True) dataframe['Geography'].replace("Germany",3,inplace=True) dataframe['Gender'].replace("Female",0,inplace = True) dataframe['Gender'].replace("Male",1,inplace=True)
      
      





相関行列の作成



 correlation = dataframe.corr() plt.figure(figsize=(15,15)) sns.heatmap(correlation, vmax=1, square=True,annot=True,cmap='cubehelix') plt.title('Correlation between different fearures') plt.show()
      
      









相関関係は、結果に影響するパラメーターを示します。 「口座残高」、「年齢」、「地理的位置」の3つの正の相関をすぐに区別できます。



相互検証



再トレーニングの問題を回避するために、データセットを分割します。



 X_train, X_test, y_train, y_test = train_test_split( X, Y, test_size=0.4, random_state=0)
      
      





予測



 clf = GaussianNB() clf = clf.fit(X_train ,y_train) clf.score(X_test, y_test)
      
      











予測精度は〜78%で、これは良い結果です。



All Articles