データサンプリング
データサンプルには、約10,000行と15列が含まれています。
- 年齢
- 性別
- アカウントの現金の量
挑戦する
- 顧客の流出に最大の影響を与えるパラメーターを見つけます。
- 銀行顧客の流出を予測する仮説を作成します。
ツールキット
- パンダ
- スクレーン
- matplotlib
- numpy
ライブラリをインポートする
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%で、これは良い結果です。