Hướng dẫn waterfall plot python - con trăn âm mưu thác nước

Biểu đồ thác nước là biểu đồ 2D được sử dụng để hiểu tác động của việc thêm các giá trị tích cực hoặc âm theo thời gian hoặc trên nhiều bước hoặc một biến. Biểu đồ Waterfall thường được sử dụng trong phân tích tài chính để hiểu đóng góp lãi và lỗ của nhiều yếu tố so với một tài sản cụ thể.

Nội dung

  1. Giới thiệu
  2. Cốt truyện thác nước đơn giản
  3. Các thông số khác nhau trong biểu đồ thác nước
  4. Phân tích một âm mưu thác nước
  5. Diễn giải tính năng quan trọng

Giới thiệu

Biểu đồ thác nước là một biểu đồ 2 chiều được sử dụng để hiểu các hiệu ứng tích lũy của các giá trị tích cực hoặc âm được thêm tuần tự cho một biến nhất định.understanding the cumulative effects of sequentially added positive or negative values for a given variable.

Điều này sẽ giúp bạn biết về cách tăng giá trị ban đầu và giảm theo thời gian hoặc theo một loạt các bước trung gian. Các hiệu ứng tích lũy có thể dựa trên thời gian hoặc dựa trên danh mục.
The cumulative effects can be either time based or category based.

Loại cốt truyện này thường được sử dụng trong phân tích tài chính để hiểu làm thế nào một giá trị cụ thể trải qua lãi và lỗ theo thời gian.commonly used in financial analysis to understand how a particular value goes through gains and losses over time.

Hướng dẫn waterfall plot python - con trăn âm mưu thác nước

Lưu ý rằng chỉ một số cột (thường là cột ban đầu và cột cuối cùng) được hiển thị đầy đủ và các cột khác ở giữa được hiển thị dưới dạng cột nổi (chúng chỉ hiển thị sự gia tăng hoặc giảm giá trị).

Chúng tôi sẽ xem xét làm thế nào để vẽ một biểu đồ thác nước như bảng xếp hạng ở trên.

Đầu tiên, bạn cần cài đặt thư viện

import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
1 để sử dụng
import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
2.

# Install
!pip install waterfallcharts

Sau đó, tôi sẽ nhập tất cả các thư viện cần thiết mà tôi sẽ sử dụng trong bài viết này.

import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})

Bây giờ, hãy để Lôi nhìn vào cách vẽ một biểu đồ thác nước đơn giản trong Python.

Cốt truyện thác nước đơn giản

Các thông số khác nhau trong biểu đồ thác nước

# plotting a simple waterfall chart
import waterfall_chart
import matplotlib.pyplot as plt
a = ['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec']
b = [1000,-300,400,-100,100,-700,400,-300,500,-700,100,50]
waterfall_chart.plot(a, b);

Hướng dẫn waterfall plot python - con trăn âm mưu thác nước

Phân tích một âm mưu thác nước

Diễn giải tính năng quan trọng

Giới thiệu

Biểu đồ thác nước là một biểu đồ 2 chiều được sử dụng để hiểu các hiệu ứng tích lũy của các giá trị tích cực hoặc âm được thêm tuần tự cho một biến nhất định.

Điều này sẽ giúp bạn biết về cách tăng giá trị ban đầu và giảm theo thời gian hoặc theo một loạt các bước trung gian. Các hiệu ứng tích lũy có thể dựa trên thời gian hoặc dựa trên danh mục.

# varying the sorted_value parameter
import waterfall_chart
import matplotlib.pyplot as plt
a = ['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec']
b = [1000,-300,400,-100,100,-700,400,-300,500,-700,100,50]
waterfall_chart.plot(a, b,sorted_value=True)

Hướng dẫn waterfall plot python - con trăn âm mưu thác nước

Loại cốt truyện này thường được sử dụng trong phân tích tài chính để hiểu làm thế nào một giá trị cụ thể trải qua lãi và lỗ theo thời gian.

Lưu ý rằng chỉ một số cột (thường là cột ban đầu và cột cuối cùng) được hiển thị đầy đủ và các cột khác ở giữa được hiển thị dưới dạng cột nổi (chúng chỉ hiển thị sự gia tăng hoặc giảm giá trị).

Chúng tôi sẽ xem xét làm thế nào để vẽ một biểu đồ thác nước như bảng xếp hạng ở trên.

# varying the net_label parameter
import waterfall_chart
import matplotlib.pyplot as plt
a = ['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec']
b = [1000,-300,400,-100,100,-700,400,-300,500,-700,100,50]
waterfall_chart.plot(a, b,sorted_value=True,net_label='LeftOver',rotation_value=90)

Hướng dẫn waterfall plot python - con trăn âm mưu thác nước

Đầu tiên, bạn cần cài đặt thư viện

import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
1 để sử dụng
import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
2.

Sau đó, tôi sẽ nhập tất cả các thư viện cần thiết mà tôi sẽ sử dụng trong bài viết này.

# using the threshold parameter
import waterfall_chart
import matplotlib.pyplot as plt
a = ['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec']
b = [1000,-300,400,-100,100,-700,400,-300,500,-700,100,50]
waterfall_chart.plot(a, b,sorted_value=True,net_label='LeftOver',rotation_value=90,threshold=0.5)

Hướng dẫn waterfall plot python - con trăn âm mưu thác nước

Bây giờ, hãy để Lôi nhìn vào cách vẽ một biểu đồ thác nước đơn giản trong Python.

Sử dụng chức năng

import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
3 trong thư viện
import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
2 để tạo biểu đồ thác nước. Các giá trị của trục x và y phải được truyền dưới dạng tham số vào hàm. Hãy cùng cố gắng hình dung một biểu đồ dòng tiền đơn giản trong cả tháng.

Bạn có thể thấy rằng nó đã lấy giá trị ban đầu và bắt đầu thêm và trừ các giá trị mà tôi đã vượt qua và cũng đã tính toán số tiền còn lại cuối cùng.

Hướng dẫn waterfall plot python - con trăn âm mưu thác nước

Các giá trị ngày càng tăng được thể hiện bằng màu xanh lá cây và các giá trị giảm được hiển thị bằng màu đỏ.

Cốt truyện này được sử dụng rộng rãi trong lĩnh vực tài chính để kiểm tra doanh thu của họ.

Các thông số khác nhau trong biểu đồ thác nước

Đặt

import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
5 bên trong hàm
import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
3 để sắp xếp các giá trị dựa trên giá trị tuyệt đối của mỗi tháng.inventory and performance analysis.

Như bạn có thể thấy các giá trị được sắp xếp dựa trên các giá trị tuyệt đối của chúng theo thứ tự giảm dần.

Sử dụng lệnh

import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
7 để thay đổi tên cột cuối cùng được đặt thành mặc định là mạng.

import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
8 có thể được sử dụng để xoay tên trục x ở chế độ dọc.
https://www.kaggle.com/ronitf/heart-disease-uci/download

Ngoài ra còn có một lệnh khác

import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
9, nhóm tất cả các đóng góp theo một ngưỡng nhất định cho một đóng góp riêng biệt khác.

# importing the required files and libarries
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
df=pd.read_csv("heart.csv")
df.head()

Hướng dẫn waterfall plot python - con trăn âm mưu thác nước

# Build Random forest model
# 1. splitting the dataset into test and train
y=df['target']
df.drop('target',axis=1,inplace=True)
X_train,X_test,y_train,y_test=train_test_split(df,y)

# 2. creating the model
from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier
model = RandomForestClassifier(n_estimators = 150, 
                               random_state = 101)

# 3. fitting the model
model.fit(X_train,y_train)
RandomForestClassifier(bootstrap=True, ccp_alpha=0.0, class_weight=None,
                       criterion='gini', max_depth=None, max_features='auto',
                       max_leaf_nodes=None, max_samples=None,
                       min_impurity_decrease=0.0, min_impurity_split=None,
                       min_samples_leaf=1, min_samples_split=2,
                       min_weight_fraction_leaf=0.0, n_estimators=150,
                       n_jobs=None, oob_score=False, random_state=101,
                       verbose=0, warm_start=False)

Nếu bạn đặt giá trị của ngưỡng là 0,5, thì sẽ chỉ mất nửa đầu của bộ dữ liệu và hiển thị nó trong biểu đồ. Phần khác sẽ được hiển thị trong cột khác.

!pip install treeinterpreter # for installing the first time
from treeinterpreter import treeinterpreter as ti
rownames = X_test.values[None,1]
prediction, bias, contributions = ti.predict(model, rownames)
contributions = [contributions[0][i][0] for i in range(len(contributions[0]))]
colnames = X_test.columns[0:].values

Phân tích biểu đồ thác nước

import pandas as pd
import numpy as np
import waterfall_chart
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7.5,5), 'figure.dpi':100})
0

Hướng dẫn waterfall plot python - con trăn âm mưu thác nước

Một biểu đồ thác nước có thể được sử dụng cho các mục đích phân tích, đặc biệt là để hiểu sự chuyển đổi trong giá trị định lượng của một thực thể phải chịu gia tăng hoặc giảm.

  1. Hãy cùng nhìn vào một biểu đồ thác nước chứa dữ liệu hàng năm với doanh thu từ mỗi quý và cố gắng có được một số hiểu biết.
  2. Cột đầu tiên
    # plotting a simple waterfall chart
    import waterfall_chart
    import matplotlib.pyplot as plt
    a = ['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec']
    b = [1000,-300,400,-100,100,-700,400,-300,500,-700,100,50]
    waterfall_chart.plot(a, b);
    
    0 chứa giá trị vào đầu năm. Sau đó, cho mỗi quý, bạn có thể xem liệu số tiền có tăng hay không. Trong giữa năm, bạn có thể thấy rằng giá trị đã giảm xuống còn 400.
  3. Sau đó, trong nửa tiếp theo, giá trị giảm trong quý 3 và tăng trong quý 4 dẫn đến tổng giá trị là 425.

Biểu đồ thác nước đại diện cho các giá trị tăng trong màu xanh lá cây và giảm giá trị màu đỏ.