初めに
Python はアプリケーション開発、システム管理ツール、データサイエンスなどさまざまなことに利用されています。本記事では、実際に Python を動かしながら、簡単なデータ分析をしてみます。
Index
前提
「データ分析をするために、Python を触ってみる」ことを目標にしています。データ分析の結果が正しいかどうかなどは焦点にしておりませんので、ご承知おきください。
手順の確認
本記事では、次の手順でデータ分析を進めます。
- データの収集
- データの読み込み
- データの分析
- 結果の可視化
データの収集
データを収集するには、次の方法などがあります。
本記事は、UCI Machine Learning Repository にある Student Performance Data Set を利用してみます。
データの読み込み、分析、可視化
Python を使って、ダウンロードしたデータを分析してみます。
作業用のフォルダを作り、その中に、データファイルを入れます。
Visual Studio Code を開き、作成したフォルダを開きます。そして、.py ファイルを作成します。
.py ファイルに次のコードを記述します。
import pandas as pd # データを読み込む data = pd.read_csv('student-mat.csv', sep=';', skiprows=[1]) import matplotlib.pyplot as plt plt.scatter(data['studytime'], data['G3']) plt.xlabel('Study Time') plt.ylabel('Final Grade (G3)') plt.show() # 回帰モデルの構築と予測 from sklearn.linear_model import LinearRegression X = data[['studytime']] # 説明変数(studytime) y = data['G3'] # 目的変数(最終評価) # モデルを初期化して訓練 model = LinearRegression() model.fit(X, y) # 予測と可視化 new_studytime = [[4]] # 予測したいstudytime predicted_grade = model.predict(new_studytime) print(f"Predicted Final Grade (G3): {predicted_grade[0]}") # 回帰直線をプロット plt.scatter(X, y) plt.plot(X, model.predict(X), color='red') plt.xlabel('Study Time') plt.ylabel('Final Grade (G3)') plt.show()
実行してみると、TERMINAL に次のようなエラーが発生するかもしれません。
No module named 'pandas'
No module named 'matplotlib'
No module named 'sklearn'
その場合はモジュールがないと言われているので、TERMINAL に次を入力し、インストールしましょう。
pip install pandas
pip install matplotlib
pip install scikit-learn
実行結果が次のように表示されます。
※今回は、データに対して、分析の仕方が適切ではないので、赤い直線がデータの様子を正しく表しているとはいいがたいものになっています。本当は、データに合わせて適切な分析の仕方をしなければ、おかしな分析結果が出てしまいます。
補足
pandas
Pandas(Python Data Analysis Library)は、Pythonプログラミング言語用の強力なデータ操作および分析ライブラリです。Pandasは、データの読み込み、クリーニング、変換、結合、集約、可視化など、さまざまなデータ操作を効率的に行うためのツールを提供します。