利益予測はもはや難しくありません。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ベースのセキュリティ戦略が必要

ブログ    
ブログ    

推薦する

...

...

会話型 AI は FMCG 業界でどのように導入されていますか?

今日、ますます多くの消費財 (CPG) 企業が、日用消費財 (FMCG) 事業に AI テクノロジー...

中国では人工知能が非常に人気のある職業になる

中国IDCサークルニュース:中国のオンライン求人プラットフォームBoss Zhipinは、中国政府が...

ロボットはどうやってコーヒーを飲みながら心臓手術を行うのでしょうか?

「2、3年前、アメリカの医師たちが手術室の外に座り、コーヒーを片手にしているのを見ました。彼らはリ...

2019年の技術予測: クラウド、ビッグデータ、AI、IoT、ブロックチェーン

[[258103]]テンセントテクノロジーニュース:フォーブスの寄稿者であるスティーブ・ウィルクス氏...

国産初のオープンソースMoE大型モデルが登場!パフォーマンスはLlama 2-7Bに匹敵し、計算量は60%削減されます。

オープンソースのMoEモデルがついに国内初のプレイヤーを迎えます!そのパフォーマンスは高密度の Ll...

人工知能技術は急速に発展しています。AIの信頼問題をどのように解決するのでしょうか?

[[441503]] 【グローバルネットワークテクノロジー記者 王楠】AIといえば、まず何を思い浮...

Cacti パーセンタイル監視アルゴリズム

Cactiパーセンテージ監視アルゴリズムの具体的な方法は次のとおりです。 cacti のテンプレート...

小さなロバが勤務中です!アリババの物流ロボットが11月11日に浙江大学菜鳥駅で荷物を配達する契約を締結

誕生から2か月も経たないうちに、アリババの物流ロボット「小曼路」が稼働を開始した。 10月30日、小...

今年、AIがサイバーセキュリティに影響を及ぼす可能性がある3つの重要な方法

この記事では、超強力なソーシャル攻撃から AI 搭載 PC まで、AI が今年サイバーセキュリティを...

Appleが記者会見でFaceIDを発表。あなたは顔認識機能を使ってみますか?

[[203619]] 「もし私が諜報員だったら、生体認証機能をオンにすることは絶対にありません。」...

クロードからGPT-4まで、RLHFモデルではお世辞が蔓延している

AI界隈であろうと他の分野であろうと、多かれ少なかれ大規模言語モデル(LLM)を使ったことがあるでし...

ウエストワールドがやってくる: ロボットは独自の言語を使ってコミュニケーションとコラボレーションを学ぶ

人工知能研究チームOpenAIが発表した最新の報告書は、ロボットが自ら作成した新しい言語を使って互い...