モデリング単語

744件
モデリング
2.0千文字の記事
  • 0
  • 0pt
掲示板へ
曖昧さ回避 この記事は曖昧さ回避です

モデリング(modellingとは、モデル (model, 基準となるべき物)を組み立てることを意味する英単である。転じて以下の意味で使われている。

  1. 科学的モデリング(Scientific modelling): 数理モデルを構築すること。
    1. 統計モデリング(Statistical modelling): 予測モデルを構築すること。
  2. 心理学的モデリング(Psychological modeling
  3. 3DCGの分野にいて、3次元モデルを作ること。
  4. 物理的立体造形物を作ること。

「統計モデリング」の概要

統計学機械学習にけるモデリングとは、予測モデル関数)を構築することである。例えば、広告費から売上げを予測したい場合、既知(過去)の広告費と売上げの関係のデータがあれば、これを用いて広告費xから売上げを予測する関数f(x)を構築することができる。以下、単回帰分析を用いたモデリング(予測モデルの構築)の実演を示す。

  1. Google Colaboratoryexitを開く
  2. ファイルメニューの「ノートブック新規作成」をクリック
  3. 「+ コードボタンクリックしてセルを用意
  4. 下記のコードセルコピペ
    !pip install japanize-matplotlib
    !wget -nc https://www.juse-p.co.jp/files/download/8/9305-6_Excel2007-2.zip
    !unzip -u -O Windows-31J 9305-6_Excel2007-2.zip
    
    %matplotlib inline
    import matplotlib.pyplot as plt
    import japanize_matplotlib
    import numpy as np
    import pandas as pd
    from sklearn.linear_model import LinearRegression
    import os.path
    
    print()
    
    xlabel, ylabel = "広告費(万円)", "売上げ(万円)"
    print("「{}」と「{}」の関係のデータ (欠損値を含む行を除く)".format(xlabel, ylabel))
    df = pd.read_excel(os.path.join(".", "Excel2007ファイル", "第2章Excel2007", "第2章単回帰分析_ソルバー.xlsx"), sheet_name="データ", index_col=0).dropna()
    display(df)
    
    # 説明変数
    X = df[xlabel].values.reshape((-1, 1))
    # 変数
    y = df[ylabel].values
    # 予測モデル定義
    model = LinearRegression()
    # モデリング
    model.fit(X, y)
    
    # 可視化: 予測モデルグラフ表現と関数表現
    ax = df.plot.scatter(xlabel, ylabel)
    ax.set_title("$r={:,.3f}$".format(df.corr().iloc[0, -1]))  # 相関係数
    ax.set_xlim(0.0, 500.0)
    ax.set_ylim(0.0, 5000.0)
    ax.set_xlabel("$x$: " + ax.get_xlabel())
    ax.set_ylabel("$f(x)$: " + ax.get_ylabel())
    major_formatter = plt.FuncFormatter(lambda x, pos: "{:,.1f}".format(float(x)))
    ax.xaxis.set_major_formatter(major_formatter)
    ax.yaxis.set_major_formatter(major_formatter)
    for text, xy in df.iterrows():
        ax.annotate(text, xy)
    f = model.predict
    x = np.array([X.min(), X.max()]).reshape((-1, 1))
    ax.plot(x, f(x),
            color='red',
            label="$f(x)={beta1:,.3f}x{beta0:+,.3f}$\n$R^2={rsquared:,.3f}$".format(
                # 回帰係数(傾き)
                beta1=model.coef_[0],
                # 切片
                beta0=model.intercept_,
                # 決定係数
                rsquared=model.score(X, y)))
    ax.legend()
    
    plt.show()
    
    
  5. 「▶」ボタンクリック

予測モデル関数f(x)が構築されたことが確認できる。

関連動画

関連静画

関連商品

関連コミュニティ

関連項目

【スポンサーリンク】

  • 0
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

Paradox Interactive (単) 記事と一緒に動画もおすすめ!
提供: estimate
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

モデリング

まだ掲示板に書き込みがありません…以下のようなことを書き込んでもらえると嬉しいでーす!

  • 記事を編集した人の応援(応援されると喜びます)
  • 記事に追加して欲しい動画・商品・記述についての情報提供(具体的だと嬉しいです)
  • モデリングについての雑談(ダラダラとゆるい感じで)

書き込みを行うには、ニコニコのアカウントが必要です!


スマホで作られた新規記事

こちらの記事に加筆・修正してみませんか?

画面遷移確認のための記事 健康優良児 あらそう