利用回归预测数值型数据

from numpy import *
def loadDataSet(fileName):
    numFeat=len(open(fileName).readline().split('\t'))-1
    dataMat=[];labelMat=[]
    fr=open(fileName)
    for line in fr.readlines():
        lineArr=[]
        curLine=line.strip().split('\t')
        for i in range(numFeat):
            lineArr.append(float(curLine[i]))
        dataMat.append(lineArr)
        labelMat.append(float(curLine[-1]))
    return dataMat,labelMat
def standRegres(xArr,yArr):
    xMat=mat(xArr);yMat=mat(yArr).T#转置
    xTx=xMat.T*xMat
    if linalg.det(xTx)== 0.0:#行列式
        print("This is singular,cannot do inverse")
        return
    ws=xTx.I*(xMat.T*yMat)#逆矩阵;或者linalg.solve(xTx,xMat.T*yMatT),linalg.solve    解方程ax = b 

    return ws

#len() 方法返回对象(字符、列表、元组等)长度或项目个数

open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写

readline() 方法用于从文件读取整行,包括 "\n" 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符

readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结构进行处理。

如果碰到结束符 EOF 则返回空字符串

split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串

import matplotlib.pyplot as plt

fig=plt.figure()

ax=fig.add_subplot(111)

ax.scatter(xMat[:,1].flatten().A[0],yMat.T[:,0].flatten().A[0])#flatten()返回一个折叠成一维的数组

xCopy=xMat.copy()

xCopy.sort(0)

yHat=xCopy*ws

ax.plot(xCopy[:,1],yHat)#2D曲线绘图函数

plt.show()

corrcoef(yHat.T,yMat)#相关系数

formula

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值