资源简介
线性回归数值型预测:预测鲍鱼的年龄 压缩文件中包含源码以及训练数据、测试数据

代码片段和文件信息
#!/usr/bin/python
# -*- coding utf-8 -*-
# Project: Regression
# Author: jiangnan
# Mail: jiangnanmax@gmail.com
# Date: 2018/10/13
import numpy as np
def loadTrainData(filename):
“““
函数说明:
加载训练数据
:param filename:
文件名
:return:
xArray - x数据集,即为每个训练样本的特征参数
yArray - y数据集,即为每个训练样本的年龄
“““
featNum = len(open(filename).readline().split(‘‘)) - 2 # 特征参数的个数,其中舍掉了第一个性别特征
file = open(filename)
xArray = []
yArray = []
for line in file.readlines():
tempLine = line.strip().split(‘‘)
‘‘‘
if tempLine[0] == ‘M‘:
tempLine[0] = ‘1‘
elif tempLine[0] == ‘F‘:
tempLine[0] = ‘-1‘
else:
tempLine[0] = ‘0‘
‘‘‘
del(tempLine[0])
xArr = []
for i in range(featNum):
xArr.append(float(tempLine[i]))
xArray.append(xArr)
yArray.append(float(tempLine[-1]))
return xArray yArray
def loadTestData(filename):
“““
函数说明:
加载测试数据
:param filename:
文件名
:return:
xArray - x数据集,即为每个测试样本的特征参数
“““
featNum = len(open(filename).readline().split(‘‘)) - 1 # 特征参数的个数,其中舍掉了第一个性别特征
file = open(filename)
xArray = []
for line in file.readlines():
tempLine = line.strip().split(‘‘)
‘‘‘
if tempLine[0] == ‘M‘:
tempLine[0] = ‘1‘
elif tempLine[0] == ‘F‘:
tempLine[0] = ‘-1‘
else:
tempLine[0] = ‘0‘
‘‘‘
del(tempLine[0])
xArr = []
for i in range(featNum):
xArr.append(float(tempLine[i]))
xArray.append(xArr)
return xArray
def lwlRegression(testPoint xArr yArr k=1.0):
“““
函数说明:
使用局部加权线性回归计算回归系数w
:param testPoint:
测试样本
:param xArr:
x训练数据集
:param yArr:
y训练数据集
:param k:
高斯核的k值,默认为1.0,可自定义
:return:
testPoint * ws - 计算得到的系数w对测试样本的预测值
“““
xMat = np.mat(xArr)
yMat = np.mat(yArr).T
m = np.shape(xMat)[0]
weights = np.mat(np.eye((m)))
for i in range(m):
diffMat = testPoint - xMat[i :]
weights[i i] = np.exp(diffMat * diffMat.T / (-2.0 * k ** 2))
xTx = xMat.T * (weights * xMat)
if np.linalg.det(xTx) == 0.0:
print(“不能求逆!“)
return
ws = xTx.I * (xMat.T * (weights * yMat))
return testPoint * ws
def RegressionTest(testArr xArr yArr k=1.0):
“““
函数说明:
局部加权线性回归测试
:param testArr:
测试数据集
:param xArr:
x训练数据集
:param yArr:
y训练数据集
:param k:
高斯核的k值,默认为1.0,可自定义
:return:
yHat - 测试集合的所有预测值
“““
m = np.shape(testArr)[0]
yHat = np.zeros(m)
for i in range(m):
yHat[i] = lwlRegression(testArr[i] xArr yArr k)
return yHat
def main():
“““
函数说明:
主函数,综合调用上述功能函数完成工作
“““
trainX trainY = loadTrainData(‘train.txt‘);
testX = loadTestData(‘test.txt‘)
yHat = Regre
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-28 16:42 Regression\
文件 3667 2018-10-18 19:06 Regression\Regression.py
文件 6148 2018-10-28 16:41 Regression\.DS_Store
目录 0 2018-10-28 16:42 __MACOSX\
目录 0 2018-10-28 16:42 __MACOSX\Regression\
文件 120 2018-10-28 16:41 __MACOSX\Regression\._.DS_Store
文件 156908 2017-11-15 10:27 Regression\train.txt
文件 228 2017-11-15 10:27 __MACOSX\Regression\._train.txt
文件 32768 2017-11-15 10:27 Regression\test.txt
文件 228 2017-11-15 10:27 __MACOSX\Regression\._test.txt
文件 172 2018-10-28 16:42 __MACOSX\._Regression
相关资源
- Python中Numpy库最新教程
- 用python编写的移动彩信的发送程序
- Python全栈学习笔记面向对象大作业:
- python实现的ftp自动上传、下载脚本
- Python版的A*寻路算法
- IronPython IDE
- GM(11)模型与线性回归组合方法在矿
- 基于改进灰色模型的矿井瓦斯涌出量
- pip-10.0.1.tar.gz
- Data Science from Scratch 2nd Edition
- shape_predictor_68_face_landmarks.dat.bz2 68个标
- 爬取豆瓣电影TOP250程序,包含非常详
- 中文维基百科语料库百度网盘网址.
- MSCNN_dehaze.rar
- 爬取豆瓣排行榜电影数据(含GUI界面
- 字典文本资源
- Brainfuck / OoK 解码脚本
- 计量数据可用于经典线性回归模型的
- 案例实战信用卡欺诈检测数据集
- 招商策略_抱团启示录那些年我们一起
- sip-4.19.zip
- 树莓派3b+学习使用教程
- numpy 中文学习手册
- pytorch-1.4.0-py3.7_cpu_0.tar.bz2
- 机器学习实战 高清完整版PDF
- 泰坦尼克号0.81准确率实验报告.docx
-
abaqus sc
ripting reference manual.pdf - 网页版聊天程序--网络程序设计课程大
- Give Me Some Credit
-
ba
semap安装出错时,正确得pyproj文件
评论
共有 条评论