機器學(xué)習(xí)

一.機器學(xué)習(xí)開發(fā)流程

1.獲取數(shù)據(jù)? ?(公司本身就有,合作過來的數(shù)據(jù),購買的數(shù)據(jù))

2.數(shù)據(jù)的基本處理:pd去處理(缺失值,合并表。。。)

3.特征工程(特征進行處理)(重要)

4.找合適的算法進行預(yù)測? 所謂模型=算法+數(shù)據(jù)得出來的

5.模型得評估,判定效果 ????

6.若評估沒有合格:1.換算法 或者調(diào)參 2.特征工程

7.評估合格?上線使用,以API形式提供

二.數(shù)據(jù)的劃分

數(shù)據(jù) = 訓(xùn)練集 + 測試集 一般分類范圍[70%,30%],[80%,20%],[75%,25%] 選擇[75%,25%]最多

訓(xùn)練集:用于訓(xùn)練,構(gòu)造模型

測試集:用于評估模型是否有效

數(shù)據(jù)劃分API: from sklearn.model_selection import train_test_split

train_test_split(x,y,test_size=None,random_state=None)

x:數(shù)據(jù)集的特征值?

y:數(shù)據(jù)集的標(biāo)簽值?

test_size:測試集的大小,float類型?

random_state:隨機數(shù)種子,不同的種子會造成不同隨機采樣的結(jié)果,相同的種子采樣結(jié)果相同

return:x_train(訓(xùn)練集特征值), x_test(測試集特征值),y_train(訓(xùn)練集標(biāo)簽值),y_test(測試集標(biāo)簽值)

三.轉(zhuǎn)換器和估計器

轉(zhuǎn)換器

? ??????fit_transform():輸入數(shù)據(jù),直接轉(zhuǎn)換

? ??????fit():輸入數(shù)據(jù),但不做事情 (計算平均值,方差等等)

? ??????transform():進行數(shù)據(jù)的轉(zhuǎn)換

估計器

? ? ? ? 用于分類的估計器:

? ? ? ? ? ? ? ? ? ? sklearn.neighbors k近鄰

? ? ? ? ? ? ? ? ? ? sklearn.naive_bayes 樸素貝葉斯

? ? ? ? ? ? ? ? ? ? sklearn.linear_model.LogisticRegression 邏輯回歸

? ? ? ? ? ? ? ? ? ? sklearn.tree 決策樹

? ? ? ? 用于回歸的估計器:

? ? ? ? ? ? ? ? ? ? sklearn.linear_model.LinearRegression 線性回歸

? ? ? ? ? ? ? ? ? ? sklearn.linear_model.Ridge 嶺回歸

估計器使用流程:1.調(diào)用fit(x_train,y_train)傳入訓(xùn)練集特征值,訓(xùn)練集標(biāo)簽值

? ???????????????????????????2.輸入測試集的數(shù)據(jù)(y_predict = predict(x_test) 得到模型的預(yù)測值) (預(yù)測準(zhǔn)確率:score(x_test,y_test))


四.算法的分類

先將訓(xùn)練數(shù)據(jù)分為監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)

監(jiān)督學(xué)習(xí):訓(xùn)練數(shù)據(jù)擁有標(biāo)記信息得學(xué)習(xí)任務(wù)

非監(jiān)督學(xué)習(xí):訓(xùn)練數(shù)據(jù)沒有標(biāo)記信息得學(xué)習(xí)任務(wù)

監(jiān)督學(xué)習(xí)

? ?????????1.分類(目標(biāo)值是離散值得學(xué)習(xí)任務(wù)):k-近鄰,樸素貝葉斯,決策樹和隨機森林,邏輯回歸,神經(jīng)網(wǎng)絡(luò)

? ? ? ? ? ? 2.回歸(目標(biāo)值是連續(xù)值得學(xué)習(xí)任務(wù)):線性回歸,嶺回歸

? ? ? ? ? ? 3.標(biāo)注:隱馬爾可夫模型

非監(jiān)督學(xué)習(xí)

? ? ? ? ? ? 聚類 : k-means

五.模型評估標(biāo)準(zhǔn)

準(zhǔn)確率,精確率和召回率

精確率:預(yù)測結(jié)果為正例樣本中真實為正例的比例(查得準(zhǔn))

召回率:真實為正例的樣本中預(yù)測結(jié)果為正例的比例(查的對)

分類評估的API: from sklearn.metrics import classification_report(y_true,y_predict,target_names=None)

y_true:真實目標(biāo)值

y_predict:預(yù)測目標(biāo)值

target_names:目標(biāo)類別名稱

return:每個類別精確率和召回率

六:模型選擇與調(diào)優(yōu)

交叉驗證和網(wǎng)格搜索

交叉驗證:將拿到的訓(xùn)練集的數(shù)據(jù),分成訓(xùn)練和驗證

網(wǎng)格搜索:很多參數(shù)需要手動指定的(如k-近鄰的k值),叫做超參數(shù),每組超參數(shù)都采用交叉驗證去進行評估,最后選擇最優(yōu)參數(shù)組合建立模型

超參數(shù)搜索API:from sklearn.model_selection import GridSearchCV(estimator,param_grid=None,cv=None)

estimator:估計器對象

param_grid:估計器參數(shù){}字典形式

cv:指定幾折交叉驗證

結(jié)果分析:best_score_:最好的準(zhǔn)確率

? ? ? ? ? ? ? ? ? best_estimator_:最好的模型

? ? ? ? ? ? ? ? ? ?cv_results_: 每次交叉驗證后測試集準(zhǔn)確率結(jié)果和訓(xùn)練集準(zhǔn)確率結(jié)果

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

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