雰囲気データサイエンティストの備忘録

Atmosphere Data Scientist's Memorandum


Pythonの予測モデル
Python
機械学習

概要

Pythonのシンプルなデータ生成~モデル構築~予測まで

コード

データ生成

import numpy as np
import matplotlib.pyplot as plt 

# ノイズ入りデータ
s = 50
x = np.random.random(s)
y = np.sin(x * 2 * np.pi)+np.random.normal(0, 0.1, s)

# 可視化
plt.scatter(x,y)

データ生成

モデル構築

# 多項式回帰モデルを作成
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures

model = LinearRegression()
x_train = x.reshape(-1, 1)

# 特徴量を高次に変換
poly = PolynomialFeatures(degree=6)
x_train = poly.fit_transform(x_train)
y_train = y.reshape(-1, 1)
model.fit(x_train, y_train)

予測

# 予測
pred_x = np.linspace(0, 1, 200).reshape(-1, 1)
poly_x = poly.transform(pred_x)    #予測の入力も高次元に変換する必要がある
pred_y = model.predict(poly_x)

# 可視化
plt.scatter(x, y)
plt.plot(pred_x, pred_y)

予測