實際上線性模型不是指某一個模型,而是一類模型。在機器學習領域裡,常用的線性模型包括線性模型、鄰回歸、套索回歸、邏輯回歸和線性SVC。
第1個知識點:用Python表示一條直線y=0.5x 3
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-5,5,10)#設置x是-5到5之間的等差數列
y=0.5*x 3
plt.plot(x,y,c='orange')#線條設置成橙色
plt.title("straight line")#設置圖形的标題
plt.show()
第2個知識點:已知2個點的坐标(1,3)、(4,5)畫一條直線
import numpy as np
from sklearn.linear_model import LinearRegression
x=[[1],[4]]
y=[3,5]
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')
#穿過(1,3)、(4,5)點的直線方程
print('y={:.3f}'.format(lr.coef_[0]),'x',' {:.3f}'.format(lr.intercept_))#這個是y與x的表達式
plt.title("straight line")
plt.show()
第3個知識點:已知3個坐标(1,3)、(4,5)、(3,3)畫一條直線
#3個點的
import numpy as np
from sklearn.linear_model import LinearRegression
x=[[1],[4],[3]]
y=[3,5,3]
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')
plt.title("straight line")
plt.show()
print("y={:.3f}".format(lr.coef_[0]),'x',' {:.3f}'.format(lr.intercept_))
第4個知識點:多個坐标點确定一條直線
#多個坐标
from sklearn.datasets import make_regression
from sklearn.linear_model import LinearRegression
import numpy as np
x,y=make_regression(n_samples=50,n_features=1,n_informative=1,noise=50,random_state=1)
reg=LinearRegression()
reg.fit(x,y)
z=np.linspace(-3,3,200).reshape((-1,1))
plt.scatter(x,y,c='b',s=60)
plt.plot(z,reg.predict(z),c='k')
plt.title("LinearRegression")
plt.show()
print("y={:.3f}".format(reg.coef_[0]),'x',' {:.3f}'.format(reg.intercept_))
以上是學習到的線性模型其中一種線性模型。用來回歸數據,求系數還是很有用處的。比基本的回歸方式。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!