線形回帰をpythonおよびscikitlearnと組み合わせて使用して、「ユーザーの人口統計情報があれば、ユーザーセッションの長さを予測できますか?」という質問に答えようとしています。
ユーザーセッションの長さはミリ秒単位であり、連続しているため、線形回帰を使用しています。私は、性別、国、年齢範囲など、すべてのカテゴリ変数をホットエンコードしました。
私の1つのホットエンコーディングをどのように考慮に入れるか、あるいは必要かどうかさえわかりません。
入力データ:
ここを読んでみました:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
入力は、フィット切片を計算し、正規化し、x(すべてブール値)をコピーしてからn個のジョブを計算するかどうかが主なものであることを理解しています。
これらの入力を決定する際に考慮すべき要素がわかりません。また、変数の1つのホットエンコーディングが影響を与えるかどうかも心配です。
あなたは次のようにすることができます:
from sklearn.preprocessing import OneHotEncoder
from sklearn.linear_model import LinearRegression
# X is a numpy array with your features
# y is the label array
enc = OneHotEncoder(sparse=False)
X_transform = enc.fit_transform(X)
# apply your linear regression as you want
model = LinearRegression()
model.fit(X_transform, y)
print("Mean squared error: %.2f" % np.mean((model.predict(X_transform) - y) ** 2))
この例では、同じデータセットを使用してトレーニングとテストを行っていることに注意してください。これにより、モデルに過剰適合が生じる可能性があります。データを分割したり、相互検証を行ったりすることは避けてください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加