大佬教程收集整理的这篇文章主要介绍了8D X 数据的线性回归返回 nan,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试分别对 X 和 Y 的形状为 (768,8) 和 (768,) 的数据进行线性回归。我想运行预测器,以便获得 X 的最后三行的 y 值。我已手动将一行的内容添加到预测器中。
class linearRegression() :
def __init__( self,learning_rate,iterations ) :
self.learning_rate = learning_rate
self.iterations = iterations
def fit( self,X,Y ) :
self.m,self.n = X.shape
# weight initialization
self.W = np.zeros( self.n )
self.b = 0
self.X = X
self.Y = Y
for i in range( self.iterations ) :
self.update_weights()
return self
def update_weights( self ) :
Y_pred = self.preDict( self.X )
# calculate gradIEnts
DW = - ( 2 * ( self.X.T ).dot( self.Y - Y_pred ) ) / self.m
db = - 2 * np.sum( self.Y - Y_pred ) / self.m
# update weights
self.W = self.W - self.learning_rate * DW
self.b = self.b - self.learning_rate * db
return self
def preDict( self,X ) :
return X.dot( self.W ) + self.b
def runLR() :
X_Train,X_test,Y_Train,Y_test = Train_test_split(
X,Y,test_size = 1/3,random_state = 0 )
model = linearRegression( iterations = 1000,learning_rate = 0.01 )
model.fit( X_Train,Y_Train )
see = model.preDict(np.array([[0.98,514.5,294.0,110.25,7.0,2.0,0.0,0.0]]))
print(seE)
runLR()
然而,我得到的 see
的结果是
[nan]
。我相信我以错误的格式将数据传递到 model.preDict 中?
X=np.random.normal(size=(768,8))
Y=X[:,0]+2*X[:,1]+3*X[:,2]+4*X[:,3]+5*X[:,4]+6*X[:,5]+7*X[:,6]+8*X[:,7]
def runLR() :
X_Train,X_test,Y_Train,Y_test = Train_test_split(
X,Y,test_size = float(1)/3,random_state = 0 )
model = LinearRegression( iterations = 1000,learning_rate = 0.01 )
model.fit( X_Train,Y_Train )
print(model.b)
print(model.W)
see = model.preDict(np.array([[0.98,514.5,294.0,110.25,7.0,2.0,0.0,0.0]]))
print(seE)
runLR()
这应该有效。只需将 test_size 中的 1/3 更改为 float(1)/3
,因为我认为 1/3 只是 0。
-1.2610015928318272e-07 #b is about 0
[0.99999993 1.99999988 3.00000005 3.99999998 5.00000002 5.99999999
7.00000003 7.99999991] # W is 1 through 8
[2399.97995156] # preDicted y
要添加更多预测变量,请将它们添加到数组中,如下所示:np.array([[0.98,0.0],[1,2,3,1,2],[5,6,7,8,4,3]])
以上是大佬教程为你收集整理的8D X 数据的线性回归返回 nan全部内容,希望文章能够帮你解决8D X 数据的线性回归返回 nan所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。