[Machine Learning Course Notes]-1

最近開始學習很多人推薦的台大Machine Learning線上課程,因此想紀錄此課程的筆記與作業。

HW0有兩個題目,在後續的課程中不管是資料處理或是影像辨識的前處理應該都是基礎的:

1. 讀取txt檔案並將裡面出現的單字按照順序編號以及統計出現次數。
2. 讀取一個jpg圖片並將rgb數值除以2,以達到圖片淡化的目的。

  • 首先讀取txt檔案
with open("words.txt") as file:
data = file.read().split(" ")
  • 接下來先檢視文件中共出現多少不重複的單字,以及單字的總數。
文件經過split後共有512個單字,扣除重複的後為300個
  • 讀取list中每一個單字,並給予不重複的編號,並且用list.count累計該單字的總數。
order=0
out=[]
for i in range(0, 512) :
if data.index(data[i])==i:
out.append((data[i],order,data.count(data[i])))
order =order + 1
out
將結果存在list中

  • 首先讀取jpg檔案
from PIL import Image
im = Image.open("westbrook.jpg")
im #or im.show()
作業提供的圖片主角是西河
  • 接下來讀取圖片中的每一個pixel的rgb數值,並將它除以2,便可以達到圖片淡化的效果。
print(im.mode) #確認圖片是否為rgb類型
pixel = im.load()
for x in range(im.size[0]):
for y in range(im.size[1]):
r,g,b = pixel[x,y]
pixel[x,y] = (int(r/2),int(g/2),int(b/2)) #去掉小數點
im