ウェブサイト検索

Linux上で機械学習のためにScikit-learnをインストールする方法


Scikit-learnは、Pythonの最も人気のある機械学習ライブラリの一つであり、シンプルな線形回帰から高度なクラスタリングアルゴリズムまで、データ分析と機械学習タスクのための幅広いツールを提供します。

この記事では、LinuxシステムにScikit-learnをインストールして使用する手順を説明します。

Scikit-learnとは何ですか?

Scikit-learn(別名sklearn)は、機械学習タスクに使用される無料のオープンソースPythonライブラリです。NumPy、SciPy、およびmatplotlibなどの他のPythonライブラリを基に構築されており、複雑な機械学習アルゴリズムのためのシンプルなインターフェイスを提供しています。

Scikit-learn の主な機能には以下が含まれます:

  • 教師あり学習(例えば、分類、回帰)。
  • 教師なし学習(例:クラスタリング、次元削減)
  • モデルの評価と検証
  • データ前処理ツール
  • 複数のデータ形式とモデル展開のためのツールのサポート

LinuxにおけるPythonのインストール

Scikit-learnはPythonで構築されているため、システムにPythonがインストールされている必要があります。すでにPythonがインストールされているかどうかを確認するには、ターミナルに次のコマンドを入力してください:

python3 --version

もしPythonがインストールされていない場合は、次のコマンドを実行してインストールできます:

sudo apt install python3         [On Debian, Ubuntu and Mint]
sudo yum install python3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/python3  [On Gentoo Linux]
sudo apk add python3             [On Alpine Linux]
sudo pacman -S python3           [On Arch Linux]
sudo zypper install python3      [On OpenSUSE]    
sudo pkg install python3         [On FreeBSD]

LinuxにおけるPipのインストール

Pipは、Scikit-learnのようなPythonライブラリをインストールするために使用されるPythonパッケージマネージャーです。pipがインストールされているか確認するには、次のコマンドを実行します:

pip3 --version

pipがインストールされていない場合は、次のコマンドを使用してインストールしてください:

sudo apt install python3-pip         [On Debian, Ubuntu and Mint]
sudo yum install python3-pip         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a dev-python/pip        [On Gentoo Linux]
sudo apk add py3-pip                 [On Alpine Linux]
sudo pacman -S python-pip            [On Arch Linux]
sudo zypper install python3-pip      [On OpenSUSE]    
sudo pkg install py38-pip            [On FreeBSD]

LinuxにScikit-learnをインストールする

現在、仮想環境(venv)を作成し、scikit-learnをインストールしてください。仮想環境は任意ですが、他のパッケージとの潜在的な衝突を避けるために強く推奨されます。

python3 -m venv sklearn-env
source sklearn-env/bin/activate
pip3 install -U scikit-learn

このコマンドは、Scikit-learnの最新バージョンとその依存関係(NumPyやSciPyなど)をダウンロードしてインストールします。インターネットの速度に応じて、数分かかる場合があります。

インストールが完了したら、PythonでScikit-learnをインポートすることで、正しくインストールされているか確認できます。

python3 -m pip show scikit-learn  # show scikit-learn version and location
python3 -m pip freeze             # show all installed packages in the environment
python3 -c "import sklearn; sklearn.show_versions()"

エラーが表示されず、Scikit-learnのバージョン番号が印刷されれば、インストールは成功です。

LinuxでScikit-learnを使用する方法

一度Scikit-learnをインストールしたら、さまざまな機械学習タスクにScikit-learnを使用する基本的な例を以下に示しますので、使い始めましょう。

例1: Scikit-learnをインポートしてデータセットをロードする

Scikit-learn は学習目的のためにいくつかの組み込みデータセットを提供しています。有名なデータセットの一つは「Iris」データセットで、異なる種のアイリスの花に関するデータを含んでいます。

Iris データセットを読み込むには、次のコードを使用します:

from sklearn.datasets import load_iris

Load the dataset
iris = load_iris()

Print the features and target labels
print(iris.data)
print(iris.target)

例2: データをトレーニングセットとテストセットに分割する

機械学習モデルを適用する前に、データセットをトレーニングセットとテストセットに分割することが重要です。これにより、モデルはデータの一部のサブセットでトレーニングされ、別のサブセットでテストされるため、オーバーフィッティングを防ぐことができます。

Scikit-learnのtrain_test_splitを使用してデータを分割できます:

from sklearn.model_selection import train_test_split

Split the data into 80% training and 20% testing
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)

print("Training data:", X_train.shape)
print("Testing data:", X_test.shape)

例3:機械学習モデルのトレーニング

では、アイリスの花を分類するために、サポートベクトルマシン(SVM)のようなシンプルな分類器を使用して、機械学習モデルをトレーニングしましょう。

from sklearn.svm import SVC

Create an SVM classifier
model = SVC()

Train the model on the training data
model.fit(X_train, y_train)

Predict on the test data
y_pred = model.predict(X_test)

print("Predicted labels:", y_pred)

例4: モデルの評価

モデルのトレーニング後、その性能を評価することが重要です。正確度のような指標を使用して、モデルのパフォーマンスがどの程度かを確認できます。

from sklearn.metrics import accuracy_score

Calculate accuracy
accuracy = accuracy_score(y_test, y_pred)

print("Accuracy:", accuracy)

これはモデルの精度を印刷します。これは、テストデータに対してモデルが行った正しい予測の割合を表します。

結論

この記事では、LinuxシステムにScikit-learnをインストールして使用する方法について説明しました。pipを使用してインストールする方法、データセットの読み込み、データの分割、機械学習モデルの訓練、モデルの性能評価について示しました。

Scikit-learn は、Pythonにおける機械学習のための強力で使いやすいツールです。上記の手順に従うことで、機械学習の旅を始め、Scikit-learnが提供する幅広いアルゴリズムや技術を探求することができます。

異なるアルゴリズム、データセット、モデル評価手法を練習し、実験することで、実世界の問題に対して効果的な機械学習ソリューションを構築できるようになるでしょう。

関連記事: