91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 57KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-08
  • 語言: 其他
  • 標簽: python??線性回歸??

資源簡介

線性回歸數值型預測:預測鮑魚的年齡 壓縮文件中包含源碼以及訓練數據、測試數據

資源截圖

代碼片段和文件信息

#!/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

評論

共有 條評論