注释:Ctrl+K Ctrl+C;取消注释:Ctrl+K Ctrl+U单元线性回归,单元指的是一个属性,有m个样本。
多元线性回归,多元是指有n个属性,m个样本。
多元回归部分代码:用五个样本更新权重,numiter是迭代次数。loss是损失函数。
for j in range(numIter):
for i in range(l):
h= sigmoid(dataMatrix[i:i+5]*weights)
error = labelMat[i:i+5]-h
weights = weights + alpha * dataMatrix[i:i+5,:].T*error
loss= (labelMat[i:i+5].T)*log(abs(h))+((1-labelMat[i:i+5]).T)*log(abs(1-h))
sum_loss.append(sum(loss)/m) 报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 112-113: truncated uXXXX escape
出错的代码: scrapePage(lgX, lgY,'E:aastudy研一下机器学习lego10196.html', 2009, 3263, 249.99) 改正为:scrapePage(lgX, lgY,r'E:aastudy研一下机器学习lego10196.html', 2009, 3263, 249.99)
dot:矩阵相乘局部回归,有个回归系数k,回归结果不同岭回归:表现出变量的重要程度,从而删除一些变量,具体作用参考大神的:岭回归总结_weixin_41911765的博客-CSDN博客_岭回归的作用向前逐步回归:找出变量的重要性,下一次只引入重要的新变量。乐高模型预测,机器学习实战这本书上的部分代码不可用,改成下面的代码
def scrapePage(lgX, lgY,inFile,yr,numPce,origPrc):
fr = open(inFile,'r',encoding='UTF-8'); #fw=open(outFile,'a') #a is append mode writing
soup = BeautifulSoup(fr.read())
i=1
currentRow = soup.findAll('table', r="%d" % i)
while(len(currentRow)!=0):
currentRow = soup.findAll('table', r="%d" % i)
title = currentRow[0].findAll('a')[1].text
lwrTitle = title.lower()
###查找是否有全新标签
if (lwrTitle.find('new') > -1) or (lwrTitle.find('nisb') > -1):
newFlag = 1.0
else:
newFlag = 0.0
#查找是否已经标志出售,只收集已出售的数据
soldUnicde = currentRow[0].findAll('td')[3].findAll('span')
if len(soldUnicde)==0:
print ('item #%d did not sell' % i)
else:
#解析当前价格
soldPrice = currentRow[0].findAll('td')[4]
priceStr = soldPrice.text
priceStr = priceStr.replace('$','') #strips out $
priceStr = priceStr.replace(',','') #strips out ,
if len(soldPrice)>1:
priceStr = priceStr.replace('Free shipping', '') #strips out Free Shipping
sellingPrice=float(priceStr)
#去掉不完整的价格
if sellingPrice > origPrc * 0.5:
print ("%dt%dt%dt%ft%f" % (yr,numPce,newFlag,origPrc, sellingPrice))
lgX.append([yr, numPce, newFlag, origPrc])
lgY.append(sellingPrice)
i += 1
currentRow = soup.findAll('table', r="%d" % i)
#读取六种套装的价格,并生成数据矩阵
def setDataCollect(lgX, lgY):
scrapePage(lgX, lgY,r'E:/aastudy/研一下/机器学习/lego10030.html', 2006, 800, 49.99)#改成自己文件所在的位置
scrapePage(lgX, lgY,r'E:/aastudy/研一下/机器学习/lego10030.html', 2002, 3096, 269.99)
scrapePage(lgX, lgY,r'E:/aastudy/研一下/机器学习/lego10179.html', 2007, 5195, 499.99)
scrapePage(lgX, lgY,r'E:/aastudy/研一下/机器学习/lego10181.html', 2007, 3428, 199.99)
scrapePage(lgX, lgY,r'E:/aastudy/研一下/机器学习/lego10189.html', 2008, 5922, 299.99)
scrapePage(lgX, lgY,r'E:/aastudy/研一下/机器学习/lego10196.html', 2009, 3263, 249.99)



