Python での線形回帰

Python での線形回帰

データ分析では、主要なインフルエンサーは、従属変数に大きな影響を与える変数です。言い換えれば、それらは関心のある結果に最も寄与する要素です。Python では、線形回帰を使用して、データセット内の主要なインフルエンサーを特定し、さまざまな変数間の関係の強さと方向を測定します。このチュートリアルのビデオ全体は、このブログの下部でご覧いただけます

主要な影響力を特定することは、データセット内の根底にある関係を理解し​​、将来の結果を予測するのに役立ちます。

Pythonライブラリは、回帰分析を実行し、データセット内の主要なインフルエンサーを特定するためのさまざまなツールと関数を提供します。

目次

線形回帰モデルの使用

この記事では、線形回帰モデルを使用して LuckyTemplates の主要なインフルエンサーの一部を模倣する方法を説明します。私たちの目的は、すべての変数を使用して、別の変数で何が変化しているかを説明できるようにすることです。

LuckyTemplates の主要なインフルエンサーは線形回帰モデルです。内部に何が入っているのか正確には分からないにもかかわらず、これを使用することがよくあります。このチュートリアルでは、これを使用して保険料に寄与する要因を特定します。

Python での線形回帰

保険料のデータセットを見てみましょう。これを喫煙者の有無、性別、地域、子供、BMI、年齢によって説明してほしい。

Python での線形回帰

現在、主要なインフルエンサーが最も影響力のある変数を示しています。喫煙者が「はい」の場合、平均料金は喫煙者の他のすべての値と比較して $23,615 単位高くなります。

これは素晴らしいビジュアルですが、料金に影響を与える可能性のある他の変数は提供されません。

Python での線形回帰

ドロップダウンをIncreaseからDecreaseに変更して、詳しく見てみましょう。

今回はその逆です。喫煙者でない場合、平均料金は喫煙者の他のすべての金額と比較して $23,615 単位低くなります。

Python での線形回帰

ご覧のとおり、これはいくつかの Python コードを使用して構築し、最小限の条件付き書式設定で LuckyTemplates にパイプした線形回帰モデルです。

コーディングに関しては、私たちが完全に制御できます。主要なインフルエンサーのビジュアルの代替または補完として、私がこれをどのように構築したかがわかるでしょう。

Python での線形回帰

Jupiter Notebook に移りましょう。よりよく理解するために、これらを部分ごとに説明しましょう。

Python での線形回帰

使用される Python ライブラリ

最初の部分では、使用するすべてのライブラリをロードします。ライブラリに詳しくない方のために説明すると、ライブラリは開発者が私たちのために構築したコードと関数のコレクションです。

データ操作ライブラリであるpd として pandas をインポートし、線形計算と条件を実行できるようにnumpy を np としてインポートしました。

使用モデル

私が使用したモデルについて話しましょう。であるsklearn.linear_modelを導入し、線形回帰モデルを使用しました。必要に応じて、データをスケーリングできるようにするsklearn.preprocessing import StandardScalerも導入しました。

私が使用するもう 1 つのモデルは、 xgboost import XGBRegressorと呼ばれます。これは、決定木やその他の役立つ側面を備えた回帰モデルです。

さらに、トレーニング セットと学習セットの間でデータを分割できるようにしたいため、train_set_splitも使用しました。機械学習では、アルゴリズムが予測を行う前に学習するための一連のトレーニング データが必要です。

また、いくつかのビジュアルを実行したい場合に備えて、モデルとmatplotlib.pyplotライブラリを決定するためにmean_squared_errorを導入しました。

全部は使わないかもしれませんが、役に立つかもしれないので全部入れておきます。

Python での線形回帰

使用されるデータセット

次に、データセットを簡単に見てみましょう。df = pd.read_csv関数を使用して保険データセットを取り込み、その後、 df1 = pd.get_dummies (df,drop_first = True)を使用してデータをダミー変数に変換しました。

Python での線形回帰

これを行うには、キーボードのEsc + Bを押して新しいセルを作成し、 「df.head」と入力してデータを評価しましょう。

従属変数として予測したい年齢、性別、BMI、子供、喫煙者、地域、料金があります。これらは、機械学習用に準備されていないデータです。

機械学習では、女性、男性、南西部、北西部などのカテゴリ変数を使用できません。 したがって、典型的な回帰モデルの場合、最初に行う必要があるのは、カテゴリ変数を数値入力に変換することです。 

Python での線形回帰

これを行うには、 pd.get_dummies関数を使用し、 df.headをdf1.headに変更することでこれを数値列に変更しました。「実行」ボタンをクリックして、どのようになるかを見てみましょう。

Python での線形回帰

sex_malesmoker_yesregion_northwestなどの新しい列のコレクションが表示されるようになりました。アルゴリズムは、それが1 であれば「はい」を意味し、0であれば「いいえ」を意味することを自動的に認識します。

注目すべき点は、モデルを過度に複雑にしたくないため、sex_girlsregion_northeastが存在しないことです。これらは、 drop_first = True関数を使用して削除しました。

次に私が行ったのは、LinearRegression関数を取り込んで変数モデルに保存したことです。 

また、Y 変数を予測するために X 変数と Y 変数を作成し、前に使用したものと同じデータセットを使用して、予測変数の他のすべての列を取り込みました。

Python での線形回帰

X 変数については、df1.drop ('charges', axis=1) を使用して電荷を削除しました。一方、 Y 変数には料金が必要なので、df1['charges']を入れます。

以下の関数では、train_test_split関数を使用して X と Y の両方のトレーニング セットとテスト セットを作成し、それらを X 変数と Y 変数に渡しました。

さらに、model.fitを使用してトレーニング データをモデルに適合させました。これは、線形回帰モデルがトレーニング データを学習することを意味します。 

Python での線形回帰

今回は、予測変数を見てみましょう。これを確認する方法は係数を使用することです。係数は、これらの特徴や変数のそれぞれが料金にどのように影響するかを説明するためです。

また、主要なインフルエンサーおよびモデルの係数の数と比較すると、  smoker_yesの係数の数が非常に近いことがわかります。

特徴と係数を含むテーブルを作成するために、pd.DataFrameを使用して係数をテーブルに取り込み、ビジュアルを作成しました。

Python での線形回帰

Python での線形回帰

主要なインフルエンサーのビジュアルに異なるモデルを使用する

XGB.Regressorを導入することで、さまざまなモデルを使用して主要なインフルエンサーを取得することもお勧めします。 

モデルを表すとき、それは単なる単純な線形回帰です。しかし、XGB.Regressor を導入すると、モデルの最適化に使用できるパラメーターがたくさんあります。

Python での線形回帰

以下のデータ フレームを作成するときに、これらの関数も複製しました。これらの係数は、線形回帰で確認されたものと比べて大きく異なります。

Python での線形回帰

この表では、数値は正確です。たとえば、喫煙者の場合、料金は 23,787 ドル増加します。子供が 1 人の場合は、472 ドル増加します。

Python での線形回帰

これらのインフルエンサーは、線形回帰表にあるものを反映しているため、重要です。わずかに異なりますが、これらのインフルエンサーを合計すると 1 になるため、非常に近いものになります。これはインフルエンサーに対する見方が違うだけです。

Python での線形回帰

線形回帰分析の精度のテスト

その後、モデルの精度を確認したいため、y_pred = model.predict (X_test)を使用しました。5885.7まで外れるとの予想が出た。 

これは単なるデータのテストセットであり、予測が良いか悪いかにかかわらず、評価する必要があります。私たちは主要なインフルエンサーのみに焦点を当てているため、今はそれを行うつもりはありません。 

Python での線形回帰

LuckyTemplates に戻って、これを非常に簡単に実装する方法を説明します。これは、機能とインフルエンサーを確認できる別の表です。 

Python での線形回帰

これを行うには、 「データの変換」に進みます。

Python での線形回帰

次に、データセットを複製し、このテーブルを作成することができました。また、「適用されたステップ」に移動して、 Pythonコードを確認し、使用した変数を確認することもできます。

Python での線形回帰

Python スクリプトをダブルクリックして 開きます。

Python での線形回帰

私たちは図書館を持ち込みました。私たちはそれを、0 と 1 だけからなる機械学習の前処理データセットに変換しました。 

また、回帰モデルを導入し、データに適合する X と Y を作成し、テーブルを出力として保存しました。モデルは十分に優れているため、トレーニング テスト セットは使用しませんでした。

私が行ったもう 1 つのことは、データセットをdfに切り替えることです。これは、単純に書きやすいためです。データセットは元のデータの変数です。

このテーブルでは、出力として保存したため、これらの係数が得られます。

Python での線形回帰

これをビジュアルとして表示するには、「閉じて適用」をクリックします。

Python での線形回帰

これで棒グラフができました。また、条件付き書式を使用して、肯定的な点と否定的な点を示しました。

Python での線形回帰


LuckyTemplates に DAX Studio と表形式エディターをインストールする方法 Power
BI でクエリ設定を構成する DAX Studio
クエリ エディターを使用して LuckyTemplates パラメーターを構成する

結論

結論として、主要な影響力を理解し、Python で線形回帰を実装することは、データ分析と予測のための強力なツールとなり得ます。

従属変数に影響を与える主要な要因を特定し、線形回帰を使用してそれらの関係をモデル化することで、将来の結果をより深く理解し、予測することができます

Python の強力なライブラリを使用すると、線形回帰を実装し、データから有意義な洞察を抽出することが簡単になります。

ではごきげんよう、


Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。