Pythonを使用してデータサイエンスについて学んでいきましょう。今回はScikit-learnを使用する際によく用いられるアヤメデータセットを使用して、データ分析の基礎を実際に学んでいきましょう。
・データサイエンスってどういうもの?
・Pythonでデータ分析をやってみたいが、環境作成ができない。
・Scikit-learnで機械学習の基礎を学んでみたい
こんな疑問を解決します。
・データサイエンスがどういうものが学ぶことができる。
・PythonでScikit-learnを用いた機械学習を学ぶにあたって、環境作成をすることができる。
・アヤメのデータセットの中身を確認できる。
動画で環境構築の方法を紹介しているので、ぜひ見てください。
データサイエンスとは?
データサイエンスは、膨大なデータの中から有益な情報を抽出し、それを分析してビジネスや科学研究に役立てる技術です。データを理解し、問題解決に繋げるための手法として、プログラミング、統計学、機械学習などが使われます。
Pythonは、その読みやすい文法と豊富なライブラリによって、データサイエンス分野で最も人気のあるプログラミング言語の一つです。Pandas、NumPy、Matplotlib、Seabornといったライブラリがデータ分析に役立ちます。
Python環境のセットアップ
Pythonとデータサイエンスに必要なライブラリを使い始めるには、まずPython環境をセットアップする必要があります。Anacondaは、これらのライブラリが予めインストールされているため、初心者におすすめのPythonディストリビューションです。
- Anacondaのインストール
- Anacondaの公式サイトにアクセスし、インストーラーをダウンロードします。
- ダウンロードしたインストーラーを実行し、画面の指示に従ってインストールを完了させます。
- Jupyter
- Anaconda Navigatorを開き、「Jupyter Notebook」を起動します。
- ブラウザが自動的に開き、Jupyter Notebookのインターフェイスが表示されます。※私の環境ではVS codeでjupyter Notebookを設定しているので、VS codeで記載します。
アヤメデータセットでの実践
アヤメデータセットは、3種類のアヤメの花(Setosa、Versicolour、Virginica)について、がくと花びらの長さと幅のデータが含まれています。このデータセットを使って、Pythonでのデータ分析の基礎を学びましょう。
では最初にPythonの仮想環境を作成しましょう。
仮想環境の作成とそのメリット
仮想環境とは?
仮想環境は、Pythonで特定のプロジェクトのために必要なライブラリやパッケージのバージョンを管理するための環境です。これにより、異なるプロジェクトで異なるバージョンのライブラリを使用する際の衝突を防ぐことができます。
- 環境の分離: プロジェクトごとに異なるライブラリのバージョンを管理できるため、他のプロジェクトに影響を与えることなく作業が可能です。
- 依存関係の管理: プロジェクトの依存関係を明確に管理できるため、プロジェクトを他のシステムに移行する際にも同じ環境を簡単に再現できます。
- 開発の効率化: 必要なライブラリのインストールやアップグレードがプロジェクトごとに独立して行えるため、開発プロセスがスムーズになります。
Anacondaでの仮想環境の作成方法
Anacondaを使用すると、仮想環境の作成と管理が直感的に行えます。
Anaconda Promptを開く
Windowsでは、スタートメニューからAnaconda Promptを検索して起動します。
macOSやLinuxでは、ターミナルを開いてcondaコマンドを使用します。
新しい仮想環境を作成する
conda create --name myenv python=3.9
myenv
は仮想環境の名前で、任意で設定できます。
python=3.
9は使用するPythonのバージョンを指定しています。必要に応じてバージョンを変更できます。こんな感じ。
”y”を入力してEnter。
仮想環境をアクティブにする
conda activate myenv
これで、作成した仮想環境myenvがアクティブになります。下記の画面が表示され、(仮想環境名)となったら成功です。今回はmyenvです。
これで仮想環境の作成は完了です。ではVisual Studio codeでコードを書いていきましょう。新しくフォルダを作成して、VS Codeの新しいウィンドウにドロップします。
フォルダがエクスプローラに表示されたら、新しいファイルを作成します。(この+の絵)そして、ファイル名称をjupyter notebookの拡張子のファイル名称.ipynbと書きます。
今回はtest.ipynb
ターミナル+新しいターミナルを選択してコマンドプロンプトを開きます。
ターミナルが開かれたら、右下のタブを開いてCommand promptを開きます。
Command Promptが開かれたら、”conda activate “仮想環境””を入力
仮想環境に移動したらOKです。(myenv)と左に表示されます。
ではライブラリが入っているかを確認します。
# データ分析に必要なライブラリをインポート
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
上記を打ち込みShift +Enterを押します。
実行されると、pandasが入っていないと出ました。一度anaconda をupdateします。
下記をコマンドプロンプトで打ち込むとanacondaのパッケージがすべてアップデートされます。
conda update --all
こんな感じになります。
仮想環境にライブラリをインストールする
pandasが入っていない場合はインストールします。
conda install pandas
仮想環境がアクティブな状態で、必要なライブラリをconda install
またはpip install
コマンドを使用してインストールできます。
“y”, “enter”を押します。
install が完了したらjupyber note bookで再度Shift+Enterを押します。今度はmatplotlibが入っていないのでこれをインストールします。
同じようにconda installでインストールします。conda install matplotlibでもできると思いますが、anacondaのサイトでこのコマンドだったのでこれでやります。https://anaconda.org/conda-forge/matplotlib
conda install conda-forge::matplotlib
インストールが完了したら再度Shift + Enterで実行すると、Seabornがインストールされていないと出るのでこれもインストールします。
seabornをインストールします。condaでインストールできない場合は、pipでインストールしてください。pip install seaborn
conda install seaborn
これでインストールできました。またy+Enterを押してください。
インストールが完了したら再度Jupyber notebookでプログラムを実行します。(Shift +Enter)で実行できます。やっとエラーがなくなりました。これでインストールは完了です。
必要なライブラリのインポート
必要なライブラリのインストールはこれでできました。
# データ分析に必要なライブラリをインポート
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
次にアヤメデータセットの読み込みを行います。これはsklearnのライブラリにデータセットが入っており、こちらを読み込みます。
アヤメデータセットの読み込み
from sklearn.datasets import load_iris
iris = load_iris()
iris_df = pd.DataFrame(data= np.c_[iris['data'], iris['target']],
columns= iris['feature_names'] + ['target'])
これを打ち込んで実行(Shift+Enter)を押したところ、今度はSklearnがインストールされていないと出たので、これもライブラリをインストールします。
conda install scikit-learn
インストールが完了したら、再度プログラムを実行します。(Shift+Enter)
緑の✔が出たらOKです。インストール完了したので下記プログラムを実行して中身を確認しましょう。
# データセットの最初の5行を表示してみましょう
print(iris_df.head())
0~4番までの数字が表示されたらOKです。
print(iris_df.head())
で出力される値は、アヤメデータセットの最初の5行分のデータを意味しています。このデータセットには、3種類のアヤメの花に関する測定値が含まれており、具体的には以下の情報が表示されます:
- がくの長さ (
sepal length (cm)
): アヤメのがく(外花被)の長さをセンチメートルで表したもの。 - がくの幅 (
sepal width (cm)
): アヤメのがくの幅をセンチメートルで表したもの。 - 花びらの長さ (
petal length (cm)
): アヤメの花びらの長さをセンチメートルで表したもの。 - 花びらの幅 (
petal width (cm)
): アヤメの花びらの幅をセンチメートルで表したもの。 - 種類 (
target
): アヤメの種類を示す数字。0から2までの値で、それぞれ特定のアヤメの種類(Setosa、Versicolour、Virginica)に対応しています。
これらの値は、アヤメの花の形状を数値で表したものであり、データ分析や機械学習のモデル学習に使用されます。今回の0~4のTargetは0なので、Setosaであることを意味しています。これらのデータから、アヤメの種類を推定するプログラムをこれから作っていきましょう。準備は完了です。
まとめ
この記事では、データサイエンスとPythonの基礎、Anacondaのインストール方法、そしてアヤメデータセットを使った簡単なデータ分析の入門を紹介しました。Pythonとそのライブラリを使えば、データの読み込みから基本的な分析、可視化まで、データサイエンスのプロジェクトを効率的に進めることができます。