Pythonで最初の機械学習分類器を構築する



この記事は、Pythonで機械学習分類器をゼロから構築するのに役立ちます。また、分類の詳細な知識も提供します。

今の流行語です。機械学習の助けを借りて、いくつかの素晴らしいことが行われています。私たちであることから 個人秘書 、私たちの決定に 旅行ルート 、私たちが買い物をするのを手伝って、私たちのビジネスを運営するのを手伝って、私たちの世話をする 健康とウェルネス、 機械学習は、そのような基本的なレベルで私たちの日常生活に統合されているため、ほとんどの場合、機械学習に依存していることに気づいていません。この記事では、初心者のアプローチに従って、Pythonで標準の機械学習分類器を実装します。

WindowsにPHPをインストールする方法

機械学習の概要

機械学習は、機械が例や経験から学習できるようにする概念であり、それも明示的にプログラムする必要はありません。したがって、コードを記述する代わりに、一般的なアルゴリズムにデータをフィードし、アルゴリズム/マシンが指定されたデータに基づいてロジックを構築します。





機械学習分類器

機械学習には、意思決定を行い、アクションの結果を評価し、動作を改善してより良い結果を連続的に取得するマシンの機能が含まれます。



学習プロセスは3つの主要な方法で行われます

  • 教師あり学習
  • 教師なし学習
  • 強化学習

機械学習分類器のテンプレート

機械学習ツールは、scikit-learnという名前のPythonライブラリで非常に便利に提供されており、アクセスと適用が非常に簡単です。



以下を使用して、コマンドプロンプトからscikit-learnをインストールします。

pip install -U scikit-learn

anacondaユーザーの場合、anacondaプロンプトで次を使用できます。

conda install scikit-learn

インストールには、システムにNumPyおよびSciPyパッケージを事前にインストールする必要があります。

前処理: 機械学習ベースのデータ分析で最初で最も必要なステップは、前処理部分です。 MLモデルが適切にトレーニングされ、その潜在能力を発揮するには、データの正しい表現とクリーニングが絶対に不可欠です。

ステップ1 –必要なライブラリをインポートする

import numpy as np import pandas as pd import matplotlib.pyplot as plt

ステップ2 –データセットをインポートします

データセット= pd.read_csv()

次に、データセットを独立変数と従属変数に分割します。独立変数は入力データであり、従属変数は出力データです。

X = dataset.iloc []。valuesy = dataset.iloc []。values

ステップ3 –不足しているデータを処理する

データセットには空白またはnull値が含まれている可能性があり、結果にエラーが発生する可能性があります。したがって、そのようなエントリを処理する必要があります。一般的な方法は、null値を、その列の平均値や最も頻度の高い値などの一般的な値に置き換えることです。

from sklearn.preprocessing import Imputer imputer = Imputer(missing_values = 'NaN'、strategy = 'mean'、axis = 0)imputer = imputer.fit(X [])X [] = imputer.transform(X [])

ステップ4 –カテゴリ変数を数値変数に変換する

sklearn.preprocessingからインポートLabelEncoderle_X = LabelEncoder()X [] = le_X.fit_transform(X [])labelencoder_y = LabelEncoder()y = labelencoder_y.fit_transform(y)

ここで、エンコード後、マシンがエンコードされた列のランキングとして数値データを想定する場合があります。したがって、等しい重みを提供するには、OneHotEncoderクラスを使用して数値をワンホットベクトルに変換する必要があります。

sklearn.preprocessingからインポートOneHotEncoderoneHE = OneHotEncoder(categorical_features = [])X = oneHE.fit_transform(X).toarray()

ステップ5 –スケーリングを実行します

このステップは、変数のスケールの不一致から生じる不一致に対処するためのものです。したがって、モデルに入力されている間、それらが等しい重みを受け取るように、それらをすべて同じ範囲にスケーリングします。この目的のために、StandardScalerクラスのオブジェクトを使用します。

sklearn.preprocessingからインポートStandardScalersc_X = StandardScaler()X = sc_X.fit_transform(X)

ステップ6 –データセットをトレーニングデータとテストデータに分割します

前処理の最後のステップとして、データセットをトレーニングセットとテストセットに分割する必要があります。トレインテスト分割の標準比率は75%〜25%です。要件に応じて変更できます。 train_test_split()関数はこれを行うことができます。

sklearn.model_selectionからimporttrain_test_split X_train、X_test、y_train、y_test = train_test_split(X、y、test_size = 0.25)

モデル構築: この手順は実際には非常に簡単です。データに適用するモデルを決定したら、対応するクラスのオブジェクトを作成し、X_trainを入力、y_trainを出力と見なして、オブジェクトをトレーニングセットに適合させることができます。

sklearnから。 import classifier =()classifier.fit(X_train、y_train)

これでモデルはトレーニングされ、準備が整いました。これで、モデルをテストセットに適用して、予測された出力を見つけることができます。

y_pred = classifier.predict(X_test)

結果の表示: 分類器のパフォーマンスは、精度、適合率、再現率、およびf1スコアのパラメーターによって評価できます。これらの値は、classification_report()と呼ばれるメソッドを使用して確認できます。 tは、データのどのカテゴリのうちどれだけが正しく分類されているかを知るのに役立つ混同行列と見なすこともできます。

Javaコードでのハッシュマップの実装
from sklearn.metrics import confusion_matrix cm = confusion_matrix(y_test、y_pred)print(cm)from sklearn.metrics import Classification_report target_names = [] print(classification_report(y_test、y_pred、target_names = target_names))

機械学習分類器の問題

非常に人気のあるシンプルなアイリスデータセットを使用します。このデータセットには、アイリスセトサ、アイリスバーシカラー、アイリスバージニカの3つのカテゴリの花の寸法が含まれています。データセットには150のエントリがあります。

#ライブラリをインポートするimport numpy as np import matplotlib.pyplot as plt import pandas as pd#データセットデータセットをインポートする= pd.read_csv( 'iris.csv')

データセットを見てみましょう。

dataset.head()

theano vs tensorflow vs keras

4つの独立変数(Idを除く)、つまり列番号1〜4があり、列5は従属変数です。だから私たちはそれらを分離することができます。

X = dataset.iloc [:、1:5] .values y = dataset.iloc [:、5] .values

これで、データセットをトレーニングとテストに分割できます。

#データセットをsklearn.model_selectionからトレーニングセットとテストセットに分割します。importtrain_test_splitX_train、X_test、y_train、y_test = train_test_split(X、y、test_size = 0.25)

次に、ロジスティック回帰分類器をデータセットに適用します。

#sklearn.linear_modelからモデルを構築してトレーニングするimport LogisticRegression classifier = LogisticRegression()classifier.fit(X_train、y_train)#テストセットの結果を予測するy_pred = classifier.predict(X_test)

最後のステップは、トレーニングされたモデルのパフォーマンスを分析することです。

#sklearn.metricsから混同行列を作成するimport confusion_matrix cm = confusion_matrix(y_test、y_pred)print(cm)

これは、最初のカテゴリの13エントリ、2番目のカテゴリの11エントリ、および3番目のカテゴリの9エントリがモデルによって正しく予測されていることを示しています。

#sklearn.metricsから精度、適合率、再現率、およびf1スコアを生成するimportclassification_report target_names = ['Iris-setosa'、 'Iris-versicolor'、 'Iris-virginica'] print(classification_report(y_test、y_pred、target_names = target_names) )

レポートには、38のエントリ(データセットの25%)で構成されるテストセットのモデルの適合率、再現率、f1スコア、および適合率の値が表示されます。

おめでとうございます。Pythonで最初の機械学習分類器を正常に作成して実装しました。に関する深い知識を得るには さまざまなアプリケーションとともに、24時間年中無休のサポートと生涯アクセスを備えたライブPythonオンライントレーニングに登録できます。