重線形回帰の例

1. 背景例

[専門性] [応答速度] [ユーザー グループのアクティブ日数] これら 3 つの要素が共同して [推奨スコア] に影響すると仮定します。
ここに画像の説明を挿入

2. ミッションの目的

[プロ意識] [応答速度] [ユーザー グループのアクティブ日数] に基づいて [推奨スコア] を予測するモデルをトレーニングします。

3. 機械学習の実装

1. 主要なステップ

プロセス全体を実現します。

ここに画像の説明を挿入

1.1 モデルの構築

タスクの目標は実際の値の予測を実現することであり、[推奨スコア] に影響を与える 3 つの要素があります。 したがって、単項回帰か重線形回帰かにかかわらず、sklearn で「重回帰モデル」を確立する必要があります
実際の線形回帰方程式が確立されるため、モデルを構築するためのコア コードは次のとおりです。

# 1. 建立模型:逻辑回归模型
classifier = linear_model.LinearRegression()

1.2 学習モデル

1) 損失関数を決定します: 最小二乗法
2) 計算インデックスを解くための最適な方法: sklearn はデフォルトで導出 - 解析的解法を使用します

# 2. 学习模型
classifier.fit(X,Y) 

1.3 測定モデル

分類ロジスティック回帰モデルの測定指標は次のとおりです。 R²
コア コードは次のとおりです。

# 3. 衡量模型
r2 = reg.score(X,Y)

2. コード

from sklearn import linear_model
import pandas as pd
import matplotlib.pyplot as plt

# 获取所需数据:'推荐分值', '专业度','回复速度','用户群活跃天数'
datas = pd.read_excel('./datas1.xlsx')
important_features = ['推荐分值', '专业度','回复速度','用户群活跃天数']
datas_1 = datas[important_features]

# 明确实值Y为'推荐分值',X分别为'专业度','回复速度','用户群活跃天数'
Y = datas_1['推荐分值']
X = datas_1.drop('推荐分值',axis=1)

# 1. 建立模型
reg = linear_model.LinearRegression()

# 2. 学习模型
reg.fit(X,Y)
w = reg.coef_
b = reg.intercept_

# 3. 衡量模型
r2 = reg.score(X,Y)


# 输出模型最优状态下的参数W和b,R²分数
for index,value in enumerate(zip(X.columns,w)):
    print(f"【{
      
      value[0]}】参数w{
      
      index+1}:",value[1])
print("偏差b,或参数w0:",b)
print("多元线性回归模型的r²分数为:",r2)

3. 出力

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_50348308/article/details/130845820