from sklearn.linear_model import linearregression
import numpy as np
import matplotlib.pyplot as plt
x = [[1],[4],[3]] #輸入x
y = [3,5,3] #輸入y
lr = linearregression().fit(x,y)
z = np.linspace(0,5,20)
plt.scatter(x,y,s=80)
plt.plot(z, lr.predict(z.reshape(-1,1)),c='k')#reshape將z改為任意行,一列
plt.title('straight line')
plt.show()
print('\n\n直線方程為:')
plt.plot(z, lr.predict(z.reshape(-1,1)),c='k')#reshape任意行,一列
plt.title('straight line')
plt.show()
print('\n\n直線方程為:')
print('**********====')
print('y = '.format(lr.coef_[0]),'x','+'.format(lr.intercept_))
print('**********====')
print('直線係數為:'.format(lr.coef_[0]))
print('**********====')
print('直線截距為:'.format(lr.intercept_))
1.最小二乘法
from sklearn.model_selection import train_test_split
from sklearn.linear_model import linearregression #最小二乘法
x,y=make_regression(n_samples=100,n_features=2,n_informative=2,random_state=38)
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=8)
lr = linearregression().fit(x_train, y_train)
print("lr.coef_: {}".format(lr.coef_[:]))
print("lr.intercept_: {}".format(lr.intercept_))
print("訓練資料集得分:".format(lr.score(x_train, y_train)))
print("測試資料集得分:".format(lr.score(x_test, y_test)))
2.嶺回歸
from sklearn.model_selection import train_test_split
from sklearn.linear_model import ridge #嶺回歸
x,y=make_regression(n_samples=100,n_features=2,n_informative=2,random_state=38)
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=8)
lr = ridge().fit(x_train, y_train)
print("lr.coef_: {}".format(lr.coef_[:]))
print("lr.intercept_: {}".format(lr.intercept_))
print("訓練資料集得分:".format(lr.score(x_train, y_train)))
print("測試資料集得分:".format(lr.score(x_test, y_test)))
3.套索回歸
from sklearn.model_selection import train_test_split
from sklearn.linear_model import lasso #套索回歸
x,y=make_regression(n_samples=100,n_features=2,n_informative=2,random_state=38)
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=8)
lr = lasso().fit(x_train, y_train)
print("lr.coef_: {}".format(lr.coef_[:]))
print("lr.intercept_: {}".format(lr.intercept_))
print("訓練資料集得分:".format(lr.score(x_train, y_train)))
print("測試資料集得分:".format(lr.score(x_test, y_test)))
Spring中常用三種通知
1 前置通知 介面 org.springframework.aop.methodbeforeadvice 使用前置通知可以在聯結點執行前進行自定義的操作。不過,spring裡只有一種聯結點,即方法呼叫,所以前置通知事實上就是讓你能在方法呼叫前進行一些操作。前置通知可以訪問呼叫的目標方法,也可以對該方...
mysql中常用的三種插入資料的語句
mysql中常用的三種插入資料的語句 insert into表示插入資料,資料庫會檢查主鍵 primarykey 如果出現重複會報錯 replace into表示插入替換資料,需求表中有primarykey,或者unique索引的話,如果資料庫已經存在資料,則用新資料替換,如果沒有資料效果則和ins...
三種常用的STL
1 vector容器 vector容器是乙個動態陣列的結構,在記憶體中有乙個指標指向一塊連續的記憶體。類似陣列結構一樣。它的特點支援隨機訪問資料,因為其在記憶體中的單元是連續。如此之外,還可以vector的大小是可以自動增長的。當向乙個vector中繼續存放資料的時候,如果當前的記憶體大小不夠,核心...