機械学習の例題:線形回帰、k-meansクラスタリング、主成分分析による次元削減

python

pythonのScikit-learnとは

Scikit-learn(サイキット・ラーン)は、Pythonで書かれた機械学習のライブラリです。

機械学習に必要な多くのアルゴリズムやツールが含まれており、簡単に使えるよう設計されています。

Scikit-learnは、教師あり学習、教師なし学習、次元削減、モデル選択、前処理など、様々な機械学習タスクに対応しています。

また、Scikit-learnはNumPyやSciPy、pandasなどのPythonの科学計算用ライブラリと統合し、高速で効率的な機械学習モデルの構築が可能です。

Scikit-learnは、機械学習の初心者からエキスパートまで簡単に使えるよう、豊富なドキュメントやチュートリアルが提供されています。

そのため、Pythonを使った機械学習に興味がある人にとって、重要なライブラリとなっています。

ライブラリのインストール

Scikit-learnのインストールには、NumPyやSciPy、matplotlibといったPythonの科学計算用ライブラリが必要です。

これらのライブラリがすでにインストールされている場合は、以下のコマンドでScikit-learnをインストールできます。

pip install -U scikit-learn

インストールされたバージョンの確認には、以下のコマンドを使用します。

python -m sklearn

Scikit-learnのドキュメントで、必要なScikit-learnバージョンを確認することをおすすめします。

また、バージョンが異なるために発生する問題を避けるために、仮想環境の設定をおすすめします。

Pythonコード例

1. 教師あり学習(線形回帰)の例

from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
import pandas as pd# データの読み込み
data = pd.read_csv('data.csv')# 特徴量と目的変数に分ける
X = data[['feature1', 'feature2']]
y = data[['target']]# モデルの作成
model = LinearRegression()# 学習
model.fit(X, y)# 予測
y_pred = model.predict(X)# 評価
mse = mean_squared_error(y, y_pred)
print('Mean squared error: ', mse)

2. 教師なし学習(k-meansクラスタリング)の例

from sklearn.cluster import KMeans
import pandas as pd# データの読み込み
data = pd.read_csv('data.csv')# 特徴量のみ取り出す
X = data[['feature1', 'feature2']]# クラスタリングのモデルの作成
kmeans = KMeans(n_clusters=3)# 学習
kmeans.fit(X)# クラスタリングの結果
labels = kmeans.labels_
centroids = kmeans.cluster_centers_# クラスタ毎の平均値(重心)の表示
print('Centroids: ', centroids)

3. 次元削減(主成分分析)の例

from sklearn.decomposition import PCA
import pandas as pd# データの読み込み
data = pd.read_csv('data.csv')# 特徴量のみ取り出す
X = data[['feature1', 'feature2', 'feature3']]# 次元削減のモデルの作成
pca = PCA(n_components=2)# 学習
pca.fit(X)# 次元削減後のデータ
X_pca = pca.transform(X)# 結果の表示
print('Original Shape: ', X.shape)
print('Transformed Shape: ', X_pca.shape)

コメント

タイトルとURLをコピーしました