利益予測はもはや難しくありません。Scikit-learn 線形回帰法を使用すると、半分の労力で 2 倍の結果を得ることができます。

利益予測はもはや難しくありません。Scikit-learn 線形回帰法を使用すると、半分の労力で 2 倍の結果を得ることができます。

1. はじめに

生成 AI は間違いなくゲームを変えるテクノロジーですが、ほとんどのビジネス上の問題では、回帰や分類などの従来の機械学習モデルが依然として第一の選択肢となっています。

プライベートエクイティやベンチャーキャピタルなどの投資家が機械学習をどのように活用できるか想像してみてください。このような質問に答えるには、まず投資家が重視するデータとその使用方法を理解する必要があります。企業への投資の決定は、支出、成長、バーンレートなどの定量化可能なデータだけでなく、創業者の実績、顧客のフィードバック、製品体験などの定性的なデータにも基づいて行われます。

この記事では線形回帰の基礎について説明します。完全なコードはここにあります。

[コード]: https://github.com/RoyiHD/linear-regression

2. プロジェクトのセットアップ

この記事では、このプロジェクトに Jupyter Notebook を使用します。まず、いくつかのライブラリをインポートします。

ライブラリのインポート

# 绘制图表import matplotlib.pyplot as plt # 数据管理和处理from pandas import DataFrame # 绘制热力图import seaborn as sns # 分析from sklearn.metrics import r2_score # 用于训练和测试的数据管理from sklearn.model_selection import train_test_split # 导入线性模型from sklearn.linear_model import LinearRegression # 代码注释from typing import List

3. データ

問題を単純化するために、この記事では地域データを使用します。これらの数字は、会社の支出カテゴリと利益を表しています。さまざまなデータ ポイントの例をいくつか見ることができます。この記事では、支出データを使用して線形回帰モデルをトレーニングし、利益を予測したいと考えています。

この記事で使用されるデータは、1 つの企業の支出について記述したものであることを理解することが重要です。意味のある予測力は、支出データを収益の伸び、地方税、償却、市場状況などのデータと組み合わせた場合にのみ得られます。

研究開発費

管理

マーケティング

支出利益

165349.2

136897.8

471784.1

192261.83

162597.7

151377.59

443898.53

191792.06

153441.51

101145.55

407934.54

191050.39

データの読み込み中

companies: DataFrame = pd.read_csv("companies.csv", header = 0)

4. データの視覚化

データを理解することは、どの機能を使用するか、どの機能を正規化および変換する必要があるか、データから外れ値を除去するか、特定のデータ ポイントに対してどのような処理を実行するかを決定するために重要です。

目標(利益)ヒストグラム

DataFrame を使用してヒストグラムを直接プロットできます (Pandas は Matplotlib を使用して DataFrame をプロットします)。また、利益に直接アクセスしてプロットすることもできます。

 companies['Profit'].hist( color='g', bins=100);

写真

ご覧のとおり、利益が 200,000 ドルを超える外れ値はほとんどありません。このことから、この記事のデータはある程度の規模の企業を表しているとも推測できます。外れ値の数は比較的少ないため、そのまま保持できます。

機能(支出)ヒストグラム

ここでは、使用された特徴のヒストグラムを確認し、その分布を確認します。 Y 軸は数字の頻度を表し、X 軸は支出を表します。

 companies[[ "R&D Spend", "Administration", "Marketing Spend" ]].hist(figsize=(16, 20), bins=50, xlabelsize=8, ylabelsize=8)

写真

また、外れ値がわずかしかない健全な分布になっていることもわかります。直感的に、研究開発とマーケティングに多くの費用を費やす企業は、より収益性が高いと予想されます。下の散布図からわかるように、研究開発費と利益の間には明確な相関関係があります。

 profits: DataFrame = companies[["Profit"]] research_and_development_spending: DataFrame = companies[["R&D Spend"]] figure, ax = plt.subplots(figsize = (9, 9)) plt.xlabel("R&D Spending") plt.ylabel("Profits") ax.scatter( research_and_development_spending, profits, s=60, alpha=0.7, edgecolors="k", color='g', linewidths=0.5 )

写真

支出と利益の相関関係は、相関ヒートマップを通じてさらに詳しく調べることができます。図からわかるように、研究開発費とマーケティング費は管理費よりも利益との相関性が高いです。

 sns.heatmap(companies.corr())

写真

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

まず、データセットをトレーニング セットとテスト セットの 2 つの部分に分割する必要があります。 Sklearn は、このタスクを実行するためのヘルパー メソッドを提供します。データセットはシンプルで十分に小さいため、次の方法で特徴とターゲットを分離できます。

データセット

features: DataFrame = companies[[ "R&D Spend", "Administration", "Marketing Spend", ]] targets: DataFrame = companies[["Profit"]] train_features, test_features, train_targets, test_targets = train_test_split( features, targets, test_size=0.2 )

ほとんどのデータ サイエンティストは、X_train、y_train などの異なる命名規則、または他の同様のバリエーションを使用します。

モデルトレーニング

次に、モデルを作成してトレーニングします。 Sklearn は物事を非常にシンプルにします。

 model: LinearRegression = LinearRegression() model.fit(train_features, train_targets)

6. モデル評価

この論文では、モデルのパフォーマンスとその有用性を評価することを目的としています。まず、計算された係数を見てみましょう。機械学習では、係数は各特徴に掛けられる学習された重みまたは値です。各機能の学習係数が表示されることが期待されます。

 coefficients = model.coef_ """ We should see the following in our console Coefficients [[0.55664299 1.08398919 0.07529883]] """

上記のように、係数は 3 つあり、それぞれ特性(「研究開発費」、「管理費」、「マーケティング費」)に 1 つずつあります。各係数を視覚的に理解しやすくするために、グラフとしてプロットすることもできます。

 plt.figure() plt.barh(train_features.columns, coefficients[0]) plt.show()

写真

計算エラー

この記事では、モデルのエラー率を理解することを目的とし、Sklearn の R2 スコアを使用します。

 test_predictions: List[float] = model.predict(test_features) root_squared_error: float = r2_score(test_targets, test_predictions) """float We should see an ouput similar to this 0.9781424529214315 """

1 に近いほど、モデルの精度が高くなります。これは実際には非常に簡単な方法でテストできます。

データセットの最初の行を取得できます。以下の支出モデルを使用して利益を予測すると、192,261 ドルに十分近い数字が得られることが予想されます。

 "R&D Spend" | "Administration" | "Marketing Spend" | "Profit" 165349.2 136897.8 471784.1 192261.83

次に、推論リクエストを作成します。

 inference_request: DataFrame = pd.DataFrame([{ "R&D Spend":165349.2, "Administration":136897.8, "Marketing Spend":471784.1 }])

モデルを実行します。

 inference: float = model.predict(inference_request) """ We should get a number that is around 199739.88721901 """

ここで、エラー率は abs(199739-192261)/192261=0.0388 であることがわかります。これは非常に正確です。

7. 結論

データを処理し、モデルを構築し、データを分析する方法は多数あります。すべての状況に当てはまる単一のソリューションは存在しません。機械学習を使用してビジネス上の問題を解決する際の重要なプロセスの 1 つは、同じ問題を解決するように設計された複数のモデルを構築し、最も有望なものを選択することです。


<<:  大規模言語モデルのデコード

>>:  データ保護にはAIベースのセキュリティ戦略が必要

ブログ    
ブログ    
ブログ    

推薦する

異常検出のためのいくつかのグラフ分割アルゴリズム

セキュリティ分野では、アカウント取引の異常や異なるイベント間の相関関係など、さまざまなシナリオで「グ...

ついに、データ、情報、アルゴリズム、統計、確率、データマイニングをわかりやすく説明してくれる人がいました!

[[282346]]データとは何かデータとは何でしょうか? これは私たちがほとんど無視する質問にな...

では、機械学習とディープラーニングの違いは何でしょうか?

ディープラーニングは機械学習アルゴリズムのサブクラスであり、より複雑であることが特徴です。したがって...

Nvidia、AIを使った仮想世界のリアルタイムレンダリングを実演

[[251560]] Nvidia は、従来のモデリングやグラフィック レンダリング エンジンではな...

自動化プロジェクトの成功は、ビジネスとITの高度な連携にかかっています。

[[399107]]ウー・ウェイ UiPath Greater China 社長前回 UiPath...

機械学習: 具体的なカテゴリーは何ですか?プロジェクトのプロセスはどのようなものですか?

機械学習と人工知能は近年最もホットなキーワードの 1 つであるはずです。今日は機械学習の基礎知識をい...

マイクロソフトがニュースルーム向けのAI支援プログラムを開始:ジャーナリストはAIを最大限に活用する方法を学ぶための無料コースを受講できる

マイクロソフトは2月6日、現地時間5日にプレスリリースを発行し、複数の報道機関と生成AIベースのコラ...

2021 年に注目すべき 27 の新たな建築技術トレンド (パート 1)

テクノロジーは建設業界にかつてないほど大きな影響を与えています。クラウドベースのコラボレーションやデ...

考えてみてください。連合学習は大規模な言語モデルをトレーニングできるのでしょうか?

1. 概要大規模言語モデル (LLM) の急速な発展に伴い、LLM が人工知能業界の発展に与える影...

産業規模は500億に迫る。産業用ロボット業界は今後何をすべきか?

近年、ロボット技術は急速に発展しており、食品配送ロボットや掃除ロボットなど、さまざまなサービスロボッ...

Interspeech 2023 | Volcano Engine ストリーミングオーディオテクノロジー: 音声強化と AI オーディオコーディング

背景マルチデバイス、マルチパーソン、マルチノイズなどのさまざまな複雑なオーディオおよびビデオ通信シナ...

トラフィックを30%削減し、鮮明度を向上: MITが新しいAIビデオキャッシュアルゴリズムを提案

オンラインビデオの読み込み速度と鮮明さに対する人々の要求は常に尽きることがありません。最近、マサチュ...

マッキンゼー:人工知能の最大の課題と機会

最近、多くの専門家とコミュニケーションをとる中で、人工知能の3つの重要なビジネス面が徐々に明らかにな...

...