# -*- coding: utf-8 -*-
"""created on sun jul 29 21:42:05 2018
@author: muli
"""from numpy import *
#mean(a, axis, dtype, out,keepdims )函式
# 功能:求取均值;
# 設a為m * n矩陣舉例:
# axis 不設定值,對 m*n 個數求均值,返回乙個實數
# axis = 0:壓縮行,對各列求均值,返回 1* n 矩陣
# axis =1 :壓縮列,對各行求均值,返回 m *1 矩陣
# 資料格式處理
defloaddataset
(filename, delim='\t'):
fr = open(filename)
stringarr = [line.strip().split(delim) for line in fr.readlines()]
datarr = [map(float,line) for line in stringarr]
return mat(datarr)
# 注意:**中的x和w 與 周志華書上p230的x和w為轉置關係
defpca
(datamat, topnfeat=9999999):
# 求取均值
meanvals = mean(datamat, axis=0)
# 歸一化
meanremoved = datamat - meanvals #remove mean
# 求方差
covmat = cov(meanremoved, rowvar=0)
# 特徵值、特徵向量
eigvals,eigvects = linalg.eig(mat(covmat))
# 特徵值排序,從小到大排序
eigvalind = argsort(eigvals) #sort, sort goes smallest to largest
# 取前topnfeat的特徵值
eigvalind = eigvalind[:-(topnfeat+1):-1] #cut off unwanted dimensions
# 由特徵值取特徵向量,構成乙個特徵向量的矩陣
redeigvects = eigvects[:,eigvalind] #reorganize eig vects largest to smallest
# 對映到乙個新的空間
lowddatamat = meanremoved * redeigvects#transform data into new dimensions
# 重構後的x值
reconmat = (lowddatamat * redeigvects.t) + meanvals
# 返回 z 和~x
return lowddatamat, reconmat
# 測試模組
機器學習 實戰 利用tensorflow識別衣物
fashion mnist 是乙個衣物資料集,整合在keras中可以直接使用。本文記錄了一步一步利用 fashion minst 的資料庫訓練 tensorflow 神經網路。import tensorflow as tf from tensorflow import keras import nu...
機器學習 13
1.簡述人工智慧 機器學習和深度學習三者的聯絡與區別。搞清三者關係的最簡單方法,就是把它們想象成乙個同心圓,其中人工智慧最大,此概念也最先問世 然後是機器學習,出現的稍晚 最後才是深度學習,不過卻是如今人工智慧 式發展的根源,處於前兩者的範圍之內。2.全連線神經網路與卷積神經網路的聯絡與區別。卷積神...
機器學習實戰
花了一段時間,總算把 機器學習實戰 粗讀了一遍,重點就在這個粗讀上。這本書的確不錯,機器學習的幾個經典演算法都涉及了,每個演算法都有1 2個實際例子進行說明,都有實實在在的 讓我想起了linus的 talk is cheap,show me the code 那句名言。但多年來養成的習慣,從來都是喜...