机器学习中,很多算法的计算逻辑是基于数学的,免不了求特征值和特征向量这种事情,因此,在数据预处理的时候,将数据源中的数据转储成矩阵格式是很有必要的。
原数据:
代码:
import numpy as np
import pandas as pd
import xlrd
from sklearn import preprocessing
def excel_to_matrix(path):
table = xlrd.open_workbook(path).sheets()[0]#获取第一个sheet表
row = table.nrows # 行数
col = table.ncols # 列数
datamatrix = np.zeros((row, col))#生成一个nrows行ncols列,且元素均为0的初始矩阵
for x in range(col):
cols = np.matrix(table.col_values(x)) # 把list转换为矩阵进行矩阵操作
datamatrix[:, x] = cols # 按列把数据存进矩阵中
#数据归一化
min_max_scaler = preprocessing.MinMaxScaler()
datamatrix = min_max_scaler.fit_transform(datamatrix)
return datamatrix
datafile = u'E:\\pythondata