銀行顧客の流出の計算(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%で、これは良い結果です。

Source: https://habr.com/ru/post/J329334/


All Articles