機器學習100天(Day 2)

2021-09-19 01:10:50 字數 1742 閱讀 3642

今天的學習內容是簡單線性回歸,簡單了說就是一次線性回歸。

直接上**吧!

step 1:

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

dataset = pd.read_csv('studentscores.csv')

x = dataset.iloc[ : , : 1 ].values

y = dataset.iloc[ : , 1 ].values

from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split( x, y, test_size = 1/4, random_state = 0)

首先是對資料的預處理,這個在第一天的學習裡已經學習過了。

不過也回顧下昨天的學習內容。首先導入庫,然後匯入資料,再將資料拆分為訓練集和測試集,比例為1:3;

值得講一下的是,在第一天學習中拆分資料庫匯入的是sklearn.cross_validation中的函式,而不是sklearn.model_selection的,原因是sklearn.cross_validation在2.0版本中會被棄用,在執行中會出現警告。

step 2:

from sklearn.linear_model import linearregression

regressor = linearregression()

regressor = regressor.fit(x_train, y_train)

第二步直接對資料進行訓練線性回歸。

這裡使用的是fit進行訓練的。

fit的使用方法為fit(x,y,sample_weight=none),sample_weight是每條測試資料的權重,以array格式傳入,我們這裡的sample_weight為空。

step 3:

y_pred = regressor.predict(x_test)
第三步是使用訓練好的線性回歸模型對測試集進行**。

step 4:

plt.scatter(x_train , y_train, color = 'red')

plt.plot(x_train , regressor.predict(x_train), color ='blue')

plt.show()

plt.scatter(x_test , y_test, color = 'red')

plt.plot(x_test , regressor.predict(x_test), color ='blue')

plt.show()

第四部就是把**值和實際值顯示在座標系裡。

顯示結果如圖所示:

第二天的學習比較簡單,只是乙個線性回歸知識的預熱。

看到這裡的線性回歸,讓我想起了曲線擬合,感覺直線擬合與簡單的線性回歸性質是一樣的,查閱資料也證實了我的想法,一般都是用的最小二乘法對其進行求解。

好了,今天的學習就到這,明天繼續加油!!!

100天搞定機器學習 Day2簡單線性回歸分析

第一天機器學習100天 day1資料預處理,我們學習了資料預處理。知道了,資料預處理是機器學習中最基礎和最麻煩,未來占用時間最長的一步操作。資料預處理一般有六個步驟,導入庫 匯入資料集 處理缺失值 分類資料轉化 分出訓練集和測試集 特徵縮放等。在處理資料過程中,必須得兩個庫是numpy和pandas...

100天搞定機器學習 Day2簡單線性回歸分析

第一天機器學習100天 day1資料預處理,我們學習了資料預處理。知道了,資料預處理是機器學習中最基礎和最麻煩,未來占用時間最長的一步操作。資料預處理一般有六個步驟,導入庫 匯入資料集 處理缺失值 分類資料轉化 分出訓練集和測試集 特徵縮放等。在處理資料過程中,必須得兩個庫是numpy和pandas...

機器學習 day2

歸一化 將所有資料轉化到同一標準下,使的某乙個特徵對最終結果不會造成更大的影響。通過對原始資料進行變換把資料對映到 預設為 0,1 之間 問題 如果資料中異常點過多,會有什麼影響?最大值最小值會受影響。方差考量資料的穩定性。標準化 將所有資料進行變換到平均值為0,標準差為1之間。standardsc...