Scikit を使用した線形回帰のすべて

公開: 2022-09-08

実際には、2 つの主な教師あり機械学習アルゴリズムがあります。1. 分類と 2. 回帰 — 分類は離散出力の予測に使用され、回帰は連続値出力の予測に使用されます。

代数では、線形性は、複数の変数間の直線または線形関係を表します。 この関係の文字どおりの表現は直線です。

世界のトップ大学の機械学習コースに登録してください。 マスター、エグゼクティブ PGP、または上級認定プログラムを取得して、キャリアを加速させましょう。

線形回帰は、監視下で実行される機械学習アルゴリズムです。 これは、前述のプロットで使用可能なすべてのデータ ポイントに適した線を探してマッピングするプロセスです。 これは、すべて直線を使用して、1 つの従属変数と 1 つの独立変数の間の値を推定するのに役立つ回帰モデルです。

線形回帰モデルは、特定の従属変数に基づいて、コストが最も低いこれらの独立変数間に線形関係を構築するのに役立ちます。

数学では、線形回帰モデルを記述するために使用される 3 つの方法があります。 それらは次のとおりです (y は従属変数です)。

  • y = インターセプト + (勾配 x) + エラー
  • y = 定数 + (係数x) + エラー
  • y = a + bx + e

目次

線形回帰が不可欠なのはなぜですか?

線形回帰のモデルは比較的単純で使いやすいです。 それらは、予測を生成できる数学的データ/式を解釈するプロセスを比較的簡単にします。 線形回帰は、さまざまな分野 (学問やビジネス研究など) で役立ちます。

線形回帰モデルは、未来を正確に予測する唯一の科学的に証明された方法です。 環境、行動、社会など、さまざまな科学で使用されています。

これらのモデルの特性は非常によく理解されており、長い間確立された統計手順であるため、簡単にトレーニングできます。 また、大量の生データセットを実用的な情報に変換することも容易にします。

効果的な線形回帰の主な仮定

  • 各変数について、有効なケースの数、平均、および標準偏差を考慮する必要があります。
  • 各モデルについて:回帰係数、相関行列、部分相関と偏相関、推定値の標準誤差、分散分析表、予測値、および残差を考慮する必要があります。
  • プロット: 散布図、ヒストグラム、部分プロット、および正規確率プロットが考慮されます。
  • データ: 従属変数と独立変数が定量的であることを確認する必要があります。 カテゴリ変数は、2 値変数、ダミー変数、または他のタイプの対比変数に再コード化する必要はありません。
  • その他の仮定: 特定の独立変数のすべての値について、従属変数の正規分布が必要です。 従属変数の特定の分布の分散も、すべての独立変数の値に対して一定に保つ必要があります。 すべての従属独立変数間の関係は線形でなければなりません。 さらに、すべての観測は独立している必要があります。

単純な線形回帰の既存の例を次に示します。

この例のデータセットには、特定の期間における毎日の世界の気象状況に関する情報が含まれています。 この詳細な情報のリストには、降水量、降雪量、気温、風速、雷雨、その他の気象条件などの要因が含まれています。

この問題は、単純な線形回帰モデルを使用して、最低気温を入力として最高気温を予測することを目的としています。

まず、すべてのライブラリをインポートする必要があります。

パンダを pd としてインポート

numpy を np としてインポート

matplotlib.pyplot を plt としてインポート

seaborn を seabornInstance としてインポートする

sklearn.model_selection import train_test_split から

sklearn.linear_model インポート LinearRegression から

sklearnインポートメトリックから

%matplotlib インライン

pandas を使用して次のデータセットをインポートするには、次のコマンドを適用する必要があります。

データセット = pd.read_csv('/Users/nageshsinghchauhan/Documents/projects/ML/ML_BLOG_LInearRegression/Weather.csv')

データセットに存在する行と列の数を確認してデータを探索するには、次のコマンドを適用する必要があります。

データセット.形状

受信した出力は (119040, 31) である必要があります。これは、データに 119040 行と 31 列が含まれていることを意味します。

データセットの統計の詳細を表示するには、次のコマンドを使用できます。

説明():

データセット.describe()

以下は、特定のデータセットに線形回帰を適用するために使用されるさまざまな Python ライブラリを取得して使用する方法を示すことを目的とした別の例です。

1. 必要なすべてのライブラリのインポート

numpy を np としてインポート

パンダを pd としてインポート

seaborn を sns としてインポート

matplotlib.pyplot を plt としてインポート

sklearnインポート前処理から、svm

sklearn.model_selection import train_test_split から

sklearn.linear_model インポート LinearRegression から

2. データセットの読み取り

cd C:\Users\Dev\Desktop\Kaggle\Salinity

# ファイルの読み取り場所をデータセットの場所に変更

df = pd.read_csv('ボトル.csv')

df_binary = df[['Salnty', 'T_degC']]

# データセットから選択した 2 つの属性のみを取得する

df_binary.columns = ['Sal', 'Temp']

# コードを書きやすくするために列の名前を変更する

df_binary.head()

# 最初の行のみを列名とともに表示

2.データ分散の調査

sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary, order = 2, ci = None)

# データ散布図のプロット

3. データクリーニング

# NaN または欠落している入力数値の除去

df_binary.fillna(method ='ffill', インプレース = True)

4. モデルのトレーニング

X = np.array(df_binary['Sal']).reshape(-1, 1)

y = np.array(df_binary['Temp']).reshape(-1, 1)

# データを独立変数と従属変数に分ける

# 各データフレームを numpy 配列に変換する

# 各データフレームには 1 つの列しか含まれないため

df_binary.dropna(インプレース = True)

# Nan 値を持つ行を削除する

X_train、X_test、y_train、y_test = train_test_split(X、y、test_size = 0.25)

# データをトレーニング データとテスト データに分割する

regr = LinearRegression()

regr.fit(X_train, y_train)

print(regr.score(X_test, y_test))

5. 結果の探索

y_pred = regr.predict(X_test)

plt.scatter(X_test, y_test, color ='b')

plt.plot(X_test, y_pred, color ='k')

plt.show()

# 予測値のデータ分散

6. より小さなデータセットでの作業

df_binary500 = df_binary[:][:500]

# データの最初の 500 行を選択する

sns.lmplot(x =「サル」、y =「温度」、データ = df_binary500、

オーダー = 2、ci = なし)

人気の機械学習と人工知能のブログ

IoT: 歴史、現在、未来 機械学習のチュートリアル: ML を学ぶ アルゴリズムとは? シンプル&イージー
インドのロボット工学エンジニアの給与:すべての役割 機械学習エンジニアの 1 日: 彼らは何をしているのか? IoT(モノのインターネット)とは
順列と組み合わせ:順列と組み合わせの違い 人工知能と機械学習のトップ 7 トレンド R による機械学習: 知っておくべきすべてのこと

本格的な機械学習の学習に興味がある場合は、Grad のMaster of Science in Machine Learning & AI に参加することをお勧めします。 この 20 か月のプログラムは、IIIT バンガロールおよびリバプール ジョン ムーアズ大学と共同で提供されます。 Python、Keras、Tensor Flow、MySql、Flask、Kubernetes などの業界関連のプログラミング言語、ツール、およびライブラリの能力を構築できるように設計されています

このプログラムは、実践的な経験とスキル構築を通じて、高度なデータ サイエンスの概念を習得するのに役立ちます。 さらに、360° のキャリア カウンセルへのアクセス、40,000 人以上の有料学習者のネットワーキング プール、および多数のコラボレーションの機会を利用して、upGrad の利点を得ることができます!

今すぐ座席を予約してください!

線形回帰は何に使用されますか

この種の分析は、通常、ある変数の値を別の既知の変数に基づいて予測するために使用されます。 他の変数の値を見つけるために使用される変数は、それぞれ従属変数と独立変数と呼ばれます。

scikit Learnのインストール方法は?

最初に、該当するオペレーティング システムまたは Python ディストリビューションによって提供される Scikit Learn 線形回帰バージョンをインストールする必要があります。 これは、このオプションを利用できる人にとって最も速いです。 次に、公式にリリースされた最新の更新バージョンをインストールする必要があります。

scikit 学習はどのように機能しますか?

Scikit Learn Linear Regression は、常に一貫性のある python のインターフェイスを介して、さまざまな教師ありおよび教師なしアルゴリズムを提供します。 許可された BSD ライセンスの下でライセンスされています。 さまざまな Linux オペレーターの下で配布されます。 これらのアルゴリズムの使用は、ビジネスや教育で広く推奨されています。