py資料分析學習日誌 電信客戶流失資料

2021-09-29 16:12:29 字數 3311 閱讀 4084

注意:原文使用的pandas為0.17版本之前,在新版的pd一部分函式已被棄用或改寫,以下**已修改

seniorcitizen 老年人 partner 配偶 dependents 家屬 renure 職位 multiplelines 網際網路服務 sreamingtv 額… contract 合同 *****lessbilling 賬單 churn 流失

# -*- coding: utf-8 -*- 

import numpy as np

import pandas as pd

import os

#輸出資料夾input 中儲存的檔名

print(os.listdir(r"d:\opensource\datasource\電信客戶流失資料"))

import matplotlib.pyplot as plt

import seaborn as sns

from pylab import rcparams

import matplotlib.cm as cm

import sklearn

from sklearn import preprocessing

from sklearn.preprocessing import labelencoder #偏碼轉換

from sklearn.preprocessing import standardscaler

from sklearn.model_selection import stratifiedshufflesplit

from sklearn.ensemble import randomforestclassifier  #隨機森林

from sklearn.svm import svc,linearsvc #支援向量機

from sklearn.linear_model import logisticregression #邏輯回歸

from sklearn.neighbors import kneighborsclassifier #knn演算法

from sklearn.*****_bayes import gaussiannb #樸素貝葉斯

from sklearn.tree import decisiontreeclassifier #決策樹分類器

from xgboost import xgbclassifier

from catboost import catboostclassifier

from sklearn.ensemble import adaboostclassifier

from sklearn.ensemble import gradientboostingclassifier

from sklearn.metrics import classification_report, precision_score,recall_score,f1_score

from sklearn.metrics import confusion_matrix

from sklearn.model_selection import gridsearchcv

from sklearn.metrics import make_scorer

from sklearn.ensemble import votingclassifier

from sklearn.decomposition import pca

from sklearn.cluster import kmeans

from sklearn.metrics import silhouette_score #none

import warnings

warnings.filterwarnings('ignore')

#spyder&pycharm中可以#下段code

#僅有jynote時候才用 表示:呼叫matplotlib.pyplot的繪圖函式plot()進行繪圖的時候,或者生成乙個figure畫布的時候,可以直接在你的python console裡面生成影象

%matplotlib inline

#讀取資料檔案

telcom=pd.read_csv(r"d:\opensource\datasource\電信客戶流失資料\wa_fn-usec_-telco-customer-churn.csv")

#           使用熱地圖顯示相關係數

'''heatmap 使用熱地圖展示係數矩陣情況

linewidths 熱力圖矩陣之間的間隔大小

annot 設定是否顯示每個色塊的系數值

'''plt.figure(figsize=(20,16))

ax = sns.heatmap(corr,xticklabels=corr.columns,yticklabels=corr.columns,

linewidths=0.2,

cmap="ylgnbu",

annot=true)

plt.title('correlation between variables')

資料分析客戶忠誠度

一 根據客戶忠誠度劃分 忠誠度是一種行為,也是一種情緒。想要獲得客戶忠誠度的公司需要著重長遠發展而不僅侷限於乙個專案。主要強調交易式忠誠度和著重 鎖住 客戶而不是回饋客戶的專案並不可行。客戶忠誠是指消費者在進行購買決策時,多次表現出來的對某個企業產品和品牌有偏向性購買行為。忠誠的客戶是企業最有價值的...

資料分析之客戶物件 kmeans

資料分析的步驟 1.用pandas讀取資料 2.用data.describe 方法檢視資料的詳細 3.資料預處理 缺失值處理 data.dropna 如果資料量大,有缺失的資料直接刪除 data.fillna data.median inplace true 如果資料量小,有缺失值用平均值填充2.歸...

wireshark資料分析學習

wireshark資料分析 http frame 23 241 bytes on wire 1928 bits 241 bytes captured 1928 bits 23幀241個位元組 1928位 上線,捕獲了241位元組 1928位 encapsulation type ethernet 1...