首页 > 代码库 > 机器学习 0

机器学习 0

准备跟着台湾的一个机器学习课程好好学学python,链接在这http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html

该课程开始有一个作业,HW0 一个是读DAT数据,一个是图像翻转

技术分享 

这个作业是在windows下 基于python实验了,pycharm4.0的程序环境 2.7的环境

第一个作业上代码:

 1 # -*- coding:UTF-8 -*- 2 __author__ = Administrator 3  4 import csv 5 import cv2 6 import sys 7 filename = F:/台湾机器学习/hw0_data.dat 8 ufilename = unicode(filename , "utf8")    #这一块主要是因为汉字路径 也就是python调用open打开文件时,其路径必须要转换为utf-8格式  9 10 list=[]11 row=012 colum=0;13 with open(ufilename, r) as f:14     data = http://www.mamicode.com/f.readlines()  #dat中所有字符串读入data15     for line in data:16         odom = line.split()        #将单个数据分隔开存好17         colum=len(odom)18         numbers_float = map(float, odom) #转化为浮点数19         list.append(numbers_float)20         # print numbers_float21         row=row+122 23 print("原始数据是:{0}行 :{1}列 的数据".format(row, colum))24 index = int(raw_input("请输入要排序的列号(范围为1到 {0}):\n".format(colum-1)))25 resultlist =[]26 if index >0 and index < colum+1 :27     list.sort(key=lambda x: x[index-1], reverse=False) #排序 按照第infex个 顺序排列28     print(list)29     print(list[0])30     for i in range(row):31         print(list[i][index-1])32         resultlist.append(list[i][index-1])33     csvfile = file(E:\\csvtest.csv, wb)   #最终的数据保存为一行,以逗号隔开,所以保存为csv格式了34     writer = csv.writer(csvfile)35     writer.writerow(resultlist)36     csvfile.close()37 else:38     print 输入错误,请重新输出序列

输入数据的效果  一共500行 11列 很容易看出前10列是特征,最好一个是标签 +1 和-1

技术分享

输出数据的效果: 其实就是获取了一列特征,当然特征经过排序

技术分享

 

第二个作业上代码:

 1 # -*- coding:UTF-8 -*- 2 __author__ = Administrator 3  4 import csv 5 import cv2 6 import sys 7  8  9 10 imagename = F:/台湾机器学习/Lena.png11 img = cv2.imread(imagename.decode(utf-8).encode(gbk))  # 主要是汉字路径比较坑!12 cv2.namedWindow("Image") 13 cv2.imshow("Image", img)14 cv2.flip(img,-1,img)15 cv2.namedWindow("NewImage")16 cv2.imshow("NewImage", img)17 cv2.imwrite("e:\\newlena.png",img)18 cv2.waitKey(0)

这个就更加简单了 ,直接利用opencv的函数进行翻转了

效果如下:

技术分享

 

机器学习 0