ホームページ  >  記事  >  バックエンド開発  >  Python でのロジスティック回帰アルゴリズムの例

Python でのロジスティック回帰アルゴリズムの例

PHPz
PHPzオリジナル
2023-06-11 17:52:331746ブラウズ

Python でのロジスティック回帰アルゴリズムの例

ロジスティック回帰は、機械学習とデータ分析の分野で広く使用されている、一般的に使用される分類アルゴリズムです。この記事では、Python での分類にロジスティック回帰アルゴリズムを使用する方法を紹介します。具体的な実装手順は次のとおりです:

ステップ 1: 必要な Python ライブラリをインポートします

ロジスティック回帰アルゴリズムの実装を開始する前に回帰アルゴリズムを使用するには、NumPy と pandas (データ処理とクリーニング用)、sklearn と matplotlib (モデルのトレーニングと評価、データ視覚化用) などの必要な Python ライブラリをインポートする必要があります。具体的なコードは次のとおりです。

import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score,confusion_matrix
import matplotlib.pyplot as plt

%matplotlib inline

ステップ 2: データ セットをロードする

次に、データ セットをロードする必要があります。ここでは例として虹彩データセット (iris) を取り上げます。このデータセットには、3 つの異なるアイリス (セトーサ、バーシカラー、バージニカ) の 4 つの特性 (がく片の長さ、がく片の幅、花弁の長さ、花びらの幅) が含まれています。 pandas を使用して CSV 形式のデータ ファイルを読み取ることで、データセットを読み込むことができます。具体的なコードは次のとおりです:

data=pd.read_csv('iris.csv')
print(data.head())

ステップ 3: データの処理と分離

データをデータに入力する前にロジスティック回帰モデルでは、データを処理して分離する必要があります。まず、データセット内のラベル列をターゲット変数 (y) として分離し、残りの特徴列を独立変数 (X) として使用する必要があります。次に、欠損データの処理、外れ値の処理、カテゴリ変数の変換など、データを処理する必要があります。ここでは、sklearn ライブラリの train_test_split 関数を使用して、データセットをトレーニング データとテスト データにランダムに分割できます。具体的なコードは次のとおりです。

X=data.iloc[:,:-1]
y=data.iloc[:,-1]

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=42)

ステップ 4: モデルのトレーニングと評価

ここで、ロジスティック回帰アルゴリズムを使用してトレーニング データを当てはめることができます。 sklearn ライブラリの LogisticRegression クラスを使用してロジスティック回帰オブジェクトを作成し、fit メソッドを使用してトレーニング データを近似できます。トレーニングが完了したら、predict メソッドを使用してテスト データを予測し、sklearn ライブラリのAccuracy_score 関数とconstruction_matrix 関数を使用してモデルを評価できます。具体的なコードは次のとおりです。

lr=LogisticRegression()
lr.fit(X_train,y_train)

y_pred=lr.predict(X_test)

acc=accuracy_score(y_test,y_pred)
cm=confusion_matrix(y_test,y_pred)

print('Accuracy:', acc)
print('Confusion Matrix:
', cm)

ステップ 5: 結果の視覚化

最後に、matplotlib ライブラリを使用して結果を視覚化できます。たとえば、散布図やヒストグラムを使用して、データの特性とロジスティック回帰分類境界を示すことができます。具体的なコードは次のとおりです。

colors=['blue','green','red']
markers=['o','s','^']
labels=['Setosa','Versicolour','Virginica']

for i, target in enumerate(set(data.iloc[:,-1])):
    plt.scatter(x=data.loc[data.iloc[:,-1]==target,'petal_length'], 
                y=data.loc[data.iloc[:,-1]==target,'petal_width'],
                c=colors[i],
                marker=markers[i],
                label=labels[i])

x=np.linspace(0,8,1000)
y=(-lr.coef_[0][0]*x-lr.intercept_)/lr.coef_[0][1]
plt.plot(x,y,'k-',label='Decision Boundary')

plt.xlabel('Petal Length')
plt.ylabel('Petal Width')
plt.legend(loc='lower right')
plt.show()

要約すると、上記は Python でロジスティック回帰アルゴリズムを実装するための基本的な手順であり、特定のデータ セットや分類問題に応じて調整および改善できます。ロジスティック回帰アルゴリズムはシンプルで使いやすいですが、より良い分類結果を得るには、その原理と適切なデータ処理およびモデルの最適化を完全に理解する必要もあります。

以上がPython でのロジスティック回帰アルゴリズムの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。