sklearn的快速使用之五(隨機梯度下降)

import sys
import matplotlib.pyplot as plt
from sklearn.linear_model import SGDRegressor
from sklearn.preprocessing import StandardScaler
 
plt.figure() # 實例化作圖變量
plt.title('single variable') # 圖像標題
plt.xlabel('x') # x軸文本
plt.ylabel('y') # y軸文本
plt.grid(True) # 是否繪製網格線
 
#正態分佈化    
X_scaler = StandardScaler()
y_scaler = StandardScaler()
X = [[50],[100],[150],[200],[250],[300]]
y = [[150],[200],[250],[280],[310],[330]]
X = X_scaler.fit_transform(X)
print (X)
y = y_scaler.fit_transform(y)
print (y)
X_test = [[40],[400]] # 用來做最終效果測試
X_test = X_scaler.transform(X_test)
print (X_test)
 
plt.plot(X, y, 'k.')

#隨機梯度下降模型
model = SGDRegressor()
print ("----")
print (y.ravel())
#ravel(散開,解開),flatten(變平)
model.fit(X, y.ravel())
y_result = model.predict(X_test)
print ("----")
print (y_result)
plt.plot(X_test, y_result, 'g-')
 
plt.show() # 展示圖像

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章