前回の動画、Excelを使って単回帰分析をする動画はご覧いただけましたか。
前回の動画では、Excelを使って単回帰分析を行いました。
Excelでやったら単回帰分析でやっていることの理論の理解が深まったのではないでしょうか。
今回の動画では、Pythonを使って単回帰分析を行っていきます。
Excelよりずっと簡単に単回帰分析をすることができます。
Pythonの便利さをご理解いただけると思います。
Pythonで単回帰分析を行う方法はいくつもあります。
今回はその中から、2つの方法をご紹介します。
1つ目は、Seabornを使用した方法です。
2つ目は、Numpyを使用した方法です。
詳しくはレッスンには説明いたします。
▼目次
00:00 はじめに
01:20データの読み込みとデータの説明
02:51 散布図行列と相関行列
06:19 seabornで単回帰分析
08:28 NumPyで単回帰分析
12:03 決定係数の求め方
14:43 おわりに
▼関連動画
【Pythonで始める人工知能入門講座】AI講座01.コース紹介|初心者の方でもわかるように説明を頑張ります!
【Pythonで始める人工知能入門講座】AI講座01.コース紹介|初心者の方でもわかるように説明を頑張ります!
【人工知能、まずはここから】ゼロからわかる単回帰分析|AI講座 第03回
【数学を勉強する意味がわかる!】AI講座04.単回帰分析 <数式を使った理解編_前半>|Pythonで始める人工知能入門講座
【微分の使い道がわかる!】AI講座05.単回帰分析 <数式を使った理解編_後半>|Pythonで始める人工知能入門講座
【仕事にすぐ使える!】AI講座06.単回帰分析 <エクセルで学ぶ単回帰分析>|Pythonで始める人工知能入門講座
▼書き起こし
“`python
import pandas as pd
from sklearn.datasets import load_boston
bs = load_boston()
df = pd.read_csv(bs.filename, header =1)
df
“`
それでは、前回のレッスン同様、ボストンの住宅価格のデータをPandasのデータフレームに読み込ませましょう。
実行します。
データを読み込めました。
前回の動画を見ていない人のために、データセットについて少し説明します。
このデータセットは、ボストンを506の区画に分けた各区画のデータが入っています。
各区画に関するデータとは、その区画の犯罪率や住宅価格などです。
データの各項目に関する詳しい情報を知りたい方は、print関数で、bs.DESCRと書いて実行してみてください。
このデータセットに関するリファレンスが表示されます。
このデータセットを、住宅価格を目的変数、それ以外を説明変数として使用します。
つまり、住宅価格を色々なデータで予測するために使用します。
前回のレッスンでは、住宅価格を目的変数、部屋数を説明変数として単回帰分析を行いました。
つまり、部屋数が多ければ、住宅価格があがりそうという経験に基づいて説明変数を選びました。
表示されているデータフレームの列名だと、MEDVが住宅価格のデータ、RMが部屋数のデータです。
“`python
print(bs.DESCR)
“`
## 散布図行列・相関行列から説明変数を選ぶ
“`python
import seaborn as sns
sns.pairplot(df)
“`
しかし、Seabornを使用すれば、全てのデータを眺めてから説明変数を選ぶことができます。
実際にやってみましょう。
まず、Seabornをsnsという名前で使用できるようにインポートします。
次に、pairplotメソッドを使用して全てのデータの散布図を表示させます。
sns.pairplot丸括弧。丸括弧の中に、ボストンデータが入ったデータフレームdfを渡します。
実行します。
全てのデータの散布図を表示できました。
このように、pairplotメソッドは、引数の全てのデータ同士の散布図を表示してくれるメソッドです。
行列で散布図が表示されているのものを、そのまま散布図行列と言ったりします。
散布図行列の見方を説明します。
縦軸、横軸にはそれぞれ、与えられたデータのカラム名が書かれています。
縦軸の一番下には、MEDV、つまり、住宅価格の散布図が並んでいます。
横軸の一番左のデータ名が、CRIMなので、区画一人当たりの犯罪発生率が横軸となった時の散布図が表示されています。
犯罪は、少ない方が、住宅価格は高くなりそうですよね。
確かに、横軸の値が0に近いほど縦軸、住宅価格は高くなっていることが読み取れます。
なお、一番右下は、縦軸と横軸が同じデータ、MEDVが来るので、ヒストグラムで表示されています。
これは、他のデータ同士も同じで、全ての散布図の左上から右下に向けての対角方向にはヒストグラムが並ぶことになります。
このように、全てのデータ同士の散布図が並んで表示されているのが、散布図行列です。
散布図行列を使用すれば、視覚的に相関がありそうなデータを説明変数として選ぶことができます。
また、とりあえず、全体のデータの傾向を見たい時などにも非常に便利です。
(続く)
▼書き起こしブログ
(準備中)
▼自己紹介
ブログに自己紹介を書いております。
https://kino-code.com/profile/
▼SNS
Twitter : https://twitter.com/kino_code/likes
Facebook : https://www.facebook.com/%E3%82%AD%E3%83%8E%E3%82%B3%E3%83%BC%E3%83%89-105693727500005/
Website : https://kino-code.com/
#人工知能 #AI #Python #単回帰分析 #Seaborn # NumPy #sklearn
コメント
今、大学の統計学で学んでいる単回帰分析がまさかPythonでこんなにも簡単にできるとは!
また、一つ賢くなった、、、、