python数据分析与挖掘实战---基于水色图像的水质评价
抽取80%作为训练样本,剩下20%作为测试样本 此案例是《python数据分析与数据挖掘》的第九章,在p200我们可以看到特征的取值范围都在0~1之间,换句话说,如果我们直接输入SVM模型的话,彼此之间的区分度会比较小,因此我们需要做一个放大处理,当然放大系数K不能过大或者过小,经反复试验,我们发现30时,效果比较好。 代码如下: import pandas as pd inputfile ='chapter9/demo/ data /moment.csv' data =pd.read_csv ( inputfile , encoding =' gbk' ) #读取数据,指定编码 data = data .as_matrix () from random import shuffle #引入随机函数 ## shuffle(data) #随机打乱数据 **这样直接写有问题** #用下面的方式 num_example = data .shape[0] print (num_example) arr =np.arange(num_example) np .random.shuffle(arr) data = data [arr] data_train = data [:int (0.8* len ( data ) ),:] #选取前80%为训练数据 data_test = data