自己有一些图像数据,想在TensorFlow上跑,但是需要预处理,于是昨天弄了一会才把预处理弄完,很渣,仅供参考。
利用pandas.read_csv( )之后,变成了x_train(None,784)与y_train(None,1)【label标志】,导入之后是dataFrame格式,现在要把y_train变为(None,10)。
1、先导入数据
x_data = pd.read_csv('../train.csv')
y_train = (x_data['label'])
x_train = x_data.drop('label', 1)
2、将x_train归一化
x_train = x_train/float(255)
3、利用DictVectorize()转换y_train,由于DictVectorize对[ {str:str1},{str:str2}...] 可以转为n个特征量,特征值为0、1,而对[ {str:int1},{str:int2},... ] 只会转为一个特征量str,然后int为特征值,故需要先将y_train转换为dataFrame(一开始为Series),然后将int转为str,即可用DictVectorize
dv = DictVectorizer(sparse=False)
y_train = y_train.to_frame()
y_train['label'] = y_train['label'].astype(str)
y_train = y_train.to_dict(orient='record')
y_train = dv.fit_transform(y_train)
python sklearn-03:特征提取方法基础知识