前言
此次是我初學人工智能,在學完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)計學回歸分析。
機器學習主要是運用于回歸和分類兩個方向。