# 2.1.7.6.Regression Plots

## 0. Regression Plots的繪圖種類

* sns.lmplot

## 1. 使用library

```
import seaborn as sns
```

* 將圖表直接嵌入到Notebook之中

```
%matplotlib inline
```

* 讀入資料

```
tips = sns.load_dataset('tips')
tips.head()
```

![](https://1184108162-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8SFgkeUaGo4vl-%2F-M4M0HrDfjWeZX2tGCNv%2F-M4M0T2-2dhtKEB3w0JJ%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-05-19%20%E4%B8%8A%E5%8D%889.13.50.png?generation=1586302956707940\&alt=media)

## 2.lmplot

* lmplot是一種集合基礎繪圖與基於數據建立回歸模型的繪圖方法, 旨在建立一個方便擬合數據集回歸模型的繪圖方法
* 可以利用參數來調整擬合的模型類型: order、logistic、lowess、robust、logx
* 基於建立回歸模型的繪圖方法

```
sns.lmplot(x='total_bill', y='tip', data=tips)
```

![](https://1184108162-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8SFgkeUaGo4vl-%2F-M4M0HrDfjWeZX2tGCNv%2F-M4M0T2E5pIu1LlxH_i0%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-05-20%20%E4%B8%8A%E5%8D%888.33.16.png?generation=1586302956648473\&alt=media)

* 分類

```
sns.lmplot(x='total_bill', y='tip', data=tips, hue='sex', markers=['o', 'v'], scatter_kws={'s':100})
```

![](https://1184108162-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8SFgkeUaGo4vl-%2F-M4M0HrDfjWeZX2tGCNv%2F-M4M0T2GYRi77m4TidqF%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-05-20%20%E4%B8%8A%E5%8D%888.34.24.png?generation=1586302956499859\&alt=media)

* 繪製多張圖
  * col參數

    ```
    sns.lmplot(x='total_bill', y='tip',  data=tips, col='sex', row='time')
    ```

    ![](https://1184108162-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8SFgkeUaGo4vl-%2F-M4M0HrDfjWeZX2tGCNv%2F-M4M0T2IxESencttx1Zd%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-05-20%20%E4%B8%8A%E5%8D%888.34.31.png?generation=1586302957014161\&alt=media)
* 應用例 1. 建立int.rate, fico的線性回歸模型

  ```
    plt.figure(figsize=(11,7))
    sns.lmplot(y='int.rate',x='fico',data=df)
  ```

  ![](https://1184108162-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8SFgkeUaGo4vl-%2F-M4M0HrDfjWeZX2tGCNv%2F-M4M0T2KAybdBLIXf06U%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-06-30%20%E4%B8%8B%E5%8D%881.08.03.png?generation=1586302957392076\&alt=media) 2. 加入credit.policy的比較

  ```
    plt.figure(figsize=(11,7))    
    sns.lmplot(y='int.rate',x='fico',data=df,hue='credit.policy',palette='Set1')
  ```

  ![](https://1184108162-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8SFgkeUaGo4vl-%2F-M4M0HrDfjWeZX2tGCNv%2F-M4M0T2MwCmWc48eqQkq%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-06-30%20%E4%B8%8B%E5%8D%881.09.26.png?generation=1586302956118711\&alt=media) 3. 加入not.fully.paid的比較

  ```
    plt.figure(figsize=(11,7))
    sns.lmplot(y='int.rate',x='fico',data=df,hue='credit.policy',col='not.fully.paid',palette='Set1)
  ```

  ![](https://1184108162-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8SFgkeUaGo4vl-%2F-M4M0HrDfjWeZX2tGCNv%2F-M4M0T2OrQRY7-TrqYL3%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202018-06-30%20%E4%B8%8B%E5%8D%881.11.31.png?generation=1586302955763869\&alt=media)
