機器學習 線性回歸模型 2019-08-01

前言

此次是我初學人工智能,在學完P(guān)ython,numpy和pandas后開始正式學習機器學習,最終目標是,掌握人工智能深度學習。

這里用的是sklearn框架,用到的是train_test_split數(shù)據(jù)分割,LinearRegression線性回歸算法

1.利用pandas讀取數(shù)據(jù),數(shù)據(jù)格式正常是.csv、.txt類型

2.數(shù)據(jù)清洗,比如數(shù)據(jù)中有特殊字符什么的,臟數(shù)據(jù)要把它干掉

df.replace

3.特征工程,分析和因變量有關(guān)的參數(shù),并通過散點圖分析是否是線性因果關(guān)系

df.iloc[:,2:4]

4.數(shù)據(jù)分割,劃分訓練集,測試集,random_state隨機數(shù)種子用來生成固定隨機數(shù)列,數(shù)據(jù)量8:2

x_train, x_test, y_train, y_test = train_test_split(x,y,train_size=0.8,test_size=0.2,random_state=340)

5.訓練模型

linear = LinearRegression(fit_intercept=True,n_jobs=1)//實例化訓練算法

linear.fit(x_train, y_train)//通過訓練數(shù)據(jù)進行模型訓練

pred_train = linear.predict(x_train)//通過訓練出的模型來做回歸

6.評估模型訓練效果

score_train = linear.score(x_train,y_train)//輸入x_train預測后,對比因變量獲得R方

//R方定義:決定系數(shù),反應因變量的全部變異能通過回歸關(guān)系被自變量解釋的比例。最大為1,正常過0.75就ok,沒到的話,估計是特征沒找全,嘗試高階的多項式變換

7.模型保存

from sklearn.externals import joblib

joblib.dump(linear, "./result/linear0727.model")

8.模型調(diào)用

model = joblib.load("./result/linear0727.model")

model.predict(x_test)//調(diào)用模型進行預測

總結(jié),算法數(shù)學原理是最小二乘法,與此相關(guān)的還有非線性相關(guān)(非線性相關(guān)系數(shù): 秩相關(guān)?),想要深入學習,最好看下統(tǒng)計學回歸分析。

機器學習主要是運用于回歸和分類兩個方向。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容