部落格班級 | 機器學習實驗-計算機18級 |
---|---|
作業要求 | 實驗一 感覺器及其應用 |
作業目的 | 了解感覺器算法原理,度量名額,最小二乘法,能實作感覺器算法 |
學号 | 3180701230 |
目錄
- 一.實驗目的
- 二.實驗内容
- 三.實驗要求
- 四.實驗過程
- 五.實驗小結
一.實驗目的
- 了解感覺器算法原理,能實作感覺器算法;
- 掌握機器學習算法的度量名額;
- 掌握最小二乘法進行參數估計基本原理;
- 針對特定應用場景及資料,能建構感覺器模型并進行預測。
二.實驗内容
- 安裝Pycharm,注冊學生版。
- 安裝常見的機器學習庫,如Scipy、Numpy、Pandas、Matplotlib,sklearn等。
- 程式設計實作感覺器算法。
- 熟悉iris資料集,并能使用感覺器算法對該資料集構模組化型并應用。
三.實驗要求
- 按實驗内容撰寫實驗過程;
- 報告中涉及到的代碼,每一行需要有詳細的注釋;
- 按自己的了解重新組織,禁止粘貼複制實驗内容!
四.實驗過程
import pandas as pd #給引入的包pandas定義一個别名pd
import numpy as np #給引入的包numpy定義一個别名np,上兩步是Dataframe建立二維數組
from sklearn.datasets import load_iris #從sklearn包中的datasets類中引入load_iris方法
import matplotlib.pyplot as plt #給包matplotlib.pyplot定義一個plt别名
%matplotlib inline #使用%matplotlib指令可以将matplotlib的圖表直接嵌入到Notebook之中,inline表示将圖表嵌入到Notebook中。
%# load data
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)//将列名設定為特征
df[\'label\'] = iris.target//增加一列為類别标簽
plt.scatter(df[:50][\'sepal length\'], df[:50][\'sepal width\'], label=\'0\') #将資料的前50個資料繪制散點圖,令其标簽為0
plt.scatter(df[50:100][\'sepal length\'], df[50:100][\'sepal width\'], label=\'1\') #将資料的50到100個資料繪制散點圖,令其标簽為1,這裡隻選取了0,1兩個特征
plt.xlabel(\'sepal length\') #将散點圖的x軸命名為sepal length
plt.ylabel(\'sepal width\') #将散點圖的y軸命名為sepal width
x_points = np.linspace(4, 7,10) # 用于産生4,7之間的10點行矢量
y_ = -(perceptron.w[0]*x_points + perceptron.b)/perceptron.w[1] # 繪制超平面
plt.plot(x_points, y_)
plt.plot(data[:50, 0], data[:50, 1], \'bo\', color=\'blue\', label=\'0\') # 将資料的前50個資料繪制散點圖
plt.plot(data[50:100, 0], data[50:100, 1], \'bo\', color=\'orange\', label=\'1\') # 将資料的50-100之間的資料繪制成散點圖
plt.xlabel(\'sepal length\')
plt.ylabel(\'sepal width\')
plt.legend()

x_ponits = np.arange(4, 8) # x,為4,5,6,7,預設步長為1,起始為4,終止為8,不取8
y_ = -(clf.coef_[0][0]*x_ponits + clf.intercept_)/clf.coef_[0][1] # 繪制超平面
plt.plot(x_ponits, y_)
plt.plot(data[:50, 0], data[:50, 1], \'bo\', color=\'blue\', label=\'0\') # 将資料的前50個資料繪制散點圖
plt.plot(data[50:100, 0], data[50:100, 1], \'bo\', color=\'orange\', label=\'1\') # 将資料的50-100之間的資料繪制成散點圖
plt.xlabel(\'sepal length\')
plt.ylabel(\'sepal width\')
plt.legend()
五.實驗小結
了解并感覺了器算法原理,能夠簡單實作感覺器算法;掌握了機器學習算法的度量名額和最小二乘法進行參數估計基本原理;針對特定應用場景及資料,也能簡單的建構感覺器模型并進行預測