python機器學(xué)習(xí)18:總結(jié)

1.概述

機器學(xué)習(xí)定義:

最早是由一位人工智能領(lǐng)域的先驅(qū)饿凛,Arthu Samuel,在1959年提出來的邻奠。本意指的是一種讓計算機在不經(jīng)過明顯編程的情況下笤喳,對數(shù)據(jù)進行學(xué)習(xí)为居,并且做出預(yù)測的方法碌宴,屬于計算機科學(xué)領(lǐng)域的一個子集。

機器學(xué)習(xí)的應(yīng)用場景:

1.電子商務(wù)中的智能推薦
2.社交網(wǎng)絡(luò)中的效果廣告
3.互聯(lián)網(wǎng)金融中的風(fēng)控系統(tǒng)
4.新聞資訊中的內(nèi)容審查
5.機器學(xué)習(xí)在蝙蝠公司(互聯(lián)網(wǎng)行業(yè))之外的應(yīng)用
6.一些炫酷的“黑科技”

機器學(xué)習(xí)中基本概念:

1.有監(jiān)督學(xué)習(xí):通過現(xiàn)有數(shù)據(jù)集進行建模蒙畴,再用模型對新的數(shù)據(jù)樣本進行分類或者回歸分析的機器學(xué)習(xí)方法贰镣。在監(jiān)督式學(xué)習(xí)中,訓(xùn)練數(shù)據(jù)集一般包含樣本特征變量及分類標簽膳凝,機器使用不同的算法通過這些數(shù)據(jù)推斷出分類的方法碑隆。

2.無監(jiān)督學(xué)習(xí):在沒有訓(xùn)練數(shù)據(jù)集的情況下,對沒有標簽的數(shù)據(jù)進行分析并建立合適的模型蹬音,以便給出問題解決方案的方法上煤。在無監(jiān)督學(xué)習(xí)當中,常見的兩種任務(wù)類型是數(shù)據(jù)轉(zhuǎn)換和聚類分析著淆。

3.分類劫狠,回歸:
分類和回歸是有監(jiān)督學(xué)習(xí)中兩個最常見的方法。對于分類來說永部,機器學(xué)習(xí)的目標是對樣本的分類標簽進行預(yù)測独泞,判斷樣本屬于哪一個分類,結(jié)果是離散值苔埋。而對于回歸分析來說懦砂,其目標是要預(yù)測一個連續(xù)的數(shù)值或者是范圍。

5.模型的泛化:
在有監(jiān)督學(xué)習(xí)中,我們會在數(shù)據(jù)集上建立一個模型荞膘,之后會把這個模型用于新的罚随,之前從未見過的數(shù)據(jù)集中,這個過程稱為泛化(generalization)羽资。當然我們希望模型對于新數(shù)據(jù)的預(yù)測能夠盡可能準確毫炉,這樣才能模型泛化的準確度比較高。

6.過擬合:我們使用測試數(shù)據(jù)集對模型的表現(xiàn)進行評估削罩,如果你在訓(xùn)練數(shù)據(jù)集上使用了一個非常復(fù)雜的模型瞄勾,以至于這個模型在擬合訓(xùn)練數(shù)據(jù)集時表現(xiàn)非常好,但是在測試數(shù)據(jù)集的表現(xiàn)非常差弥激,說明模型出現(xiàn)了過擬合的問題进陡。

7.欠擬合:如果模型過于簡單,連訓(xùn)練數(shù)據(jù)集的特點都不能完全考慮到的話微服,那么這樣的模型在訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集的得分都會非常差趾疚,這個時候我們說模型出現(xiàn)了欠擬合的問題。

2.基于python語言的環(huán)境配置

1.Numpy——基礎(chǔ)科學(xué)計算庫

Numpy是一個Python中非骋栽蹋基礎(chǔ)的用于進行科學(xué)計算的庫糙麦,它的功能包括高維數(shù)組(array)計算、線性代數(shù)計算丛肮、傅里葉變換以及生產(chǎn)偽隨機數(shù)等赡磅。

2.Scipy——強大的科學(xué)計算工具集

Scipy是一個python中用于進行科學(xué)計算的工具集,它有很多功能宝与,如計算統(tǒng)計學(xué)分布焚廊、信號處理、計算線性代數(shù)方程等习劫。

3.pandas——數(shù)據(jù)分析的利器

pandas是一個python用來進行數(shù)據(jù)分析的庫咆瘟,它可以生成類似Excel表格式的數(shù)據(jù)表,而且可以對數(shù)據(jù)表進行修改操作诽里。pandas還有個強大的功能袒餐,它可以從很多不同種類的數(shù)據(jù)庫中提取數(shù)據(jù),如SQL數(shù)據(jù)庫谤狡、Excel表格甚至csv文件灸眼。pandas還支持在不同的列中使用不同類型的數(shù)據(jù),如整型數(shù)豌汇、浮點數(shù)幢炸、或是字符串。

4.matplotlib——畫出優(yōu)美的圖形

matplotlib是一個python的繪圖庫拒贱,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質(zhì)量級別的圖形宛徊,它能夠輸出的圖形包括折線圖佛嬉、散點圖、直方圖等闸天。在數(shù)據(jù)可視化方面暖呕,matplotlib擁有數(shù)量眾多的忠實用戶,其強悍的繪圖能力能夠幫我們對數(shù)據(jù)形成非常清晰直觀的認知苞氮。

5.scikit-learn——非常流行的python機器學(xué)習(xí)庫

scikit-learn包含眾多頂級機器學(xué)習(xí)算法湾揽,它主要由六大類的基本功能,分別是分類笼吟、回歸库物、聚類、數(shù)據(jù)降維贷帮、模型選擇和數(shù)據(jù)預(yù)處理戚揭。

3.K最近鄰算法

1.K最近鄰算法的原理

近朱者赤、近墨者黑撵枢,新數(shù)據(jù)點離誰最近民晒,就和誰屬于同一類。

2.K最近鄰算法在分類任務(wù)中的應(yīng)用

我們用make_blobs生成的數(shù)據(jù)集一共有兩類锄禽,這些數(shù)據(jù)集可以看做機器學(xué)習(xí)的訓(xùn)練數(shù)據(jù)集潜必,是已知的數(shù)據(jù),我們就是基于這些數(shù)據(jù)用算法來進行模型的訓(xùn)練沃但,然后再對新的數(shù)據(jù)進行分類磁滚。

3.K最近鄰算法在回歸分析中的應(yīng)用

在scikit-learn.datasets中有一個非常好的用于回歸分析的數(shù)據(jù)集生成器,make_regression函數(shù)绽慈,我們使用了make_regression函數(shù)生成數(shù)據(jù)集恨旱,用KNeighborsRegressor定義分類模型辈毯,來進行了實驗坝疼。在實驗中,我們通過修改了n_neighbors的參數(shù)提高了模型的評分谆沃。

4.項目實戰(zhàn)——使用K最近鄰算法對酒的分類進行建模

還記得酒的數(shù)據(jù)集概況是(178,13)钝凶,我們先用train_test_split生成訓(xùn)練集合測試集,然后用K最近鄰算法對訓(xùn)練集進行建模唁影,再使用測試集對模型進行評分耕陷,評分后,再用模型對新酒的分類進行預(yù)測据沈。

4.廣義線性模型

1.線性模型的基本概念

1.線性模型的一般公式:
\vec{y}=w[0]x[0]+w[1]x[1]+...+w[p]x[p]+b
式中:\vec{y}表示y的估計值哟沫,x[0],x[1],,,,x[p]為數(shù)據(jù)集變量的數(shù)量(這個公式的數(shù)據(jù)集有p個特征);w和b為模型的參數(shù)锌介。公式簡化為:\vec{y}=w[0]x[0]+b

2.線性模型的圖形表示:



線性模型會讓自己距離每個數(shù)據(jù)點的加和最小值嗜诀。這就是線性回歸模型的原理

3.線性回歸的特點:
使用一維數(shù)據(jù)集進行驗證會讓我們有一點偏頗猾警,而對于特征變量較多的數(shù)據(jù)集來說,線性模型就顯得十分強大隆敢。

4.常用的線性模型
線性回歸发皿、嶺回歸、套索回歸拂蝎、邏輯回歸和線性SVC等穴墅。

2.線性回歸模型

1.線性回歸模型的基本原理:
找到當訓(xùn)練數(shù)據(jù)集中y的預(yù)測值和其真實值的平方差最小的時候,所對應(yīng)的的w值和b值温自。

2.線性回歸的性能表現(xiàn):
由于線性回歸自身的特點玄货,非常容易出現(xiàn)過擬合的現(xiàn)象。

3.嶺回歸模型

1.嶺回歸的原理:嶺回歸是一種能避免過擬合的線性模型悼泌,保留所有特征變量誉结,但減少特征變量的系數(shù)值,讓特征變量對預(yù)測結(jié)果的影響較小券躁。
2.參數(shù)調(diào)節(jié):默認參數(shù)alpha=1惩坑,當alpha值越小,嶺回歸的特征變量系數(shù)增大也拜,反之系數(shù)減小以舒。
降低alpha值,會讓系數(shù)值增大慢哈,模型傾向于過擬合的現(xiàn)象蔓钟。

4.套索回歸模型

1.套索回歸的原理:和嶺回歸一樣,套索回歸也會將系數(shù)限制在非常接近0的范圍內(nèi)卵贱,但它進行限制的方式有一點不同滥沫,就是會導(dǎo)致在使用套索回歸的時候,有一部分系數(shù)可能會等于0键俱,這種方式稱為L1正則化兰绣。
2.參數(shù)調(diào)節(jié):默認參數(shù)alpha=1,當alpha值越小编振,套索回歸的特征變量系數(shù)為0的減少缀辩,反之,系數(shù)為0的增多踪央。
降低alpha值會讓系數(shù)非0的增多臀玄,模型傾向于過擬合的現(xiàn)象。

5.樸素貝葉斯

1.貝葉斯定理
P(A|B) = \frac{P(B|A)P(A)}{P(B)}
2.樸素貝葉斯的簡單應(yīng)用
通過刮北風(fēng)畅蹂、悶熱健无、多云,以及天氣預(yù)報給出的信息來預(yù)測是否會下雨

3.貝努利樸素貝葉斯液斜、高斯樸素貝葉斯和多項式樸素貝葉斯
通過實驗累贤,我們發(fā)現(xiàn)貝努利樸素貝葉斯適合與二項式分布的數(shù)據(jù)集募胃,而多項式樸素貝葉斯適合計數(shù)類型的數(shù)據(jù)集,即非負畦浓,離散數(shù)值的數(shù)據(jù)集痹束,而高斯樸素貝葉斯適用的面就要廣得多,它可以應(yīng)用于任何連續(xù)數(shù)值型的數(shù)據(jù)集當中讶请,當然如果是正態(tài)分布的數(shù)據(jù)集的話祷嘶,高斯樸素貝葉斯模型的得分會更高。
4.樸素貝葉斯實例——判斷腫瘤是良性還是惡性
我們用了威斯康星乳腺腫瘤數(shù)據(jù)集夺溢,是一個非常經(jīng)典的用于醫(yī)療病情分析的數(shù)據(jù)集论巍,樣本分為兩類:惡性和良性。我們將數(shù)據(jù)集一如既往地拆分為訓(xùn)練集和測試集风响,對訓(xùn)練集進行建模嘉汰,用測試集評分,分數(shù)為0.944状勤,然后隨便用其中一個樣本進行預(yù)測鞋怀,發(fā)現(xiàn)被分到了準確的分類了。

6.決策樹與隨機森林

決策樹的基本原理

決策樹是一種在分類與回歸都有著非常廣泛應(yīng)用的算法持搜,它的原理是通過對一系列問題進行if/else的推導(dǎo)密似,最終實現(xiàn)決策。

決策樹的優(yōu)勢與不足

優(yōu)勢:
1.決策樹有一個非常大的優(yōu)勢葫盼,就是可以很容易地將模型進行可視化
2.由于決策樹算法對每個樣本特征進行單獨處理残腌,因此并不需要對數(shù)據(jù)進行轉(zhuǎn)換,不需要對數(shù)據(jù)進行預(yù)處理贫导。
不足:
即便我們在建模的時候可以使用類似max_depth或是max_leaf_nodes等參數(shù)來對決策樹進行預(yù)剪枝處理抛猫,但 它還是不可避免會出現(xiàn)過擬合問題。

隨機森林的基本原理和構(gòu)造

1.定義:隨機森林有時被稱為隨機決策樹孩灯,是一種集合學(xué)習(xí)方法闺金,既可以用于分類,也可以用于回歸钱反。而所謂集合學(xué)習(xí)方法掖看,其實就是把多個機器學(xué)習(xí)算法綜合在一起制造出一個更加大的模型的意思。
2.構(gòu)建:我們通過RandomForestClassifier構(gòu)建了隨機森林面哥,使用酒的數(shù)據(jù)集來進行建模,發(fā)現(xiàn)隨機森林相對于決策樹所進行的分類更加細膩一些毅待。
3.參數(shù):
1.max_features參數(shù)發(fā)現(xiàn)max_features的取值越高尚卫,隨機森林里的每一棵決策樹就會長得越像,因為他們有更多不同特征可以選擇尸红,也就會更容易擬合數(shù)據(jù)吱涉,反之刹泄,如果max_features取值越低,就會迫使每棵決策樹的樣子更加不同怎爵,而且因為特征太少特石,決策樹不得不制造更多節(jié)點來擬合數(shù)據(jù)。
2.n_estimators:這個參數(shù)控制的是隨機森林中決策樹的數(shù)量鳖链。

隨機森林的優(yōu)勢和不足

優(yōu)勢:
1.隨機森林集成了決策樹的所有優(yōu)點姆蘸,而且能夠彌補決策樹的不足
2.隨機森林支持并行處理。對于超大數(shù)據(jù)集來說芙委,隨機森林比較耗時(建立很多決策樹)逞敷,這時可以用多進程并行處理的方式來解決這個問題。
不足:
1.對于超高緯數(shù)據(jù)集灌侣、稀疏數(shù)據(jù)集來說推捐,隨機森林就有點捉襟見肘了,這種情況下侧啼,線性模型要比隨機森林的表現(xiàn)更好一些牛柒。
2.隨機森林相對更消耗內(nèi)存,速度也比線性模型要慢痊乾。

實例演示

我們通過網(wǎng)上一個著名的數(shù)據(jù)集——成年人數(shù)據(jù)集來進行建模焰络,數(shù)據(jù)集樣本特征包括年齡、工作單位性質(zhì)符喝、學(xué)歷闪彼、受教育時長、婚姻狀態(tài)协饲、職業(yè)畏腕、家庭情況等。我們選擇了從年齡到職業(yè)一系列特征作為特征向量X茉稠,而收入>50K描馅,作為標簽y。將數(shù)據(jù)集還是拆分成訓(xùn)練集和測試集后而线,建模铭污,評估,再用新的對象Mr.z的特征數(shù)據(jù)進行輸入膀篮,用模型對他的收入進行預(yù)測嘹狞,從而判斷是否有必要進行下一步的相親。

7.支持向量機SVM

支持向量機的基本原理和構(gòu)造

1.定義:在SVM算法中誓竿,訓(xùn)練模型的過程實際上是對每個數(shù)據(jù)點對于數(shù)據(jù)分類決定邊界的重要性進行判斷磅网,也就是說,在訓(xùn)練數(shù)據(jù)集中筷屡,只有一部分數(shù)據(jù)對于邊界的確定是有幫助的涧偷,而這些數(shù)據(jù)點正好位于決定邊界上的簸喂。這些數(shù)據(jù)被稱為“支持向量”,這也是“支持向量機”名字的由來燎潮。

將數(shù)據(jù)投射至高維空間的方法:我們通過一些方法喻鳄,實現(xiàn)將二維數(shù)據(jù)變成三維的過程,稱為數(shù)據(jù)投射至高維空間确封。這就是SVM的核函數(shù)功能除呵,在SVM中用得最普遍的兩種把數(shù)據(jù)投射至高維空間的方法分別是多項式內(nèi)核和徑向內(nèi)核。其中多項式內(nèi)核隅肥,它是通過把樣本原始特征進行乘方來把數(shù)據(jù)投射至高維空間竿奏。

支持向量機的核函數(shù)

1.通過選擇不同的核函數(shù),計算樣本數(shù)據(jù)點之間的距離的方式不一樣腥放。
2.linearSVC和線性內(nèi)核的SVC生成的決定邊界都是線性的泛啸,在更高維數(shù)據(jù)集中將會是相交的超平面。例如RBF內(nèi)核的SVC和多項式(polynomial)內(nèi)核的SVC分類器的決定邊界則完全不是線性的秃症,他們更加彈性候址。

支持向量機的參數(shù)調(diào)節(jié)

在polynomial內(nèi)核的svc中,起決定性作用的參數(shù)是degree和正則化參數(shù)C种柑,而在RBF內(nèi)核的SVC中岗仑,起決定性參數(shù)的是正則化參數(shù)C和參數(shù)gamma。
我們通過調(diào)節(jié)不同的參數(shù)gamma的值聚请,發(fā)現(xiàn)gamma值越小荠雕,則RBF內(nèi)核的直徑越大,這樣就會有更多的點被圈進決定邊界中驶赏,所以決定邊界就越平滑炸卑,模型也越簡單;而隨著參數(shù)的增加煤傍,模型則更傾向于把每一個點都放到相應(yīng)的決定邊界中盖文,這時模型的復(fù)雜度也相應(yīng)提高了。
所以gamma的值越小蚯姆,模型越傾向于欠擬合五续,反之,模型越傾向于過擬合龄恋。

支持向量機的優(yōu)勢和不足

優(yōu)勢:
1.對各種不同類型的數(shù)據(jù)集都有不錯的表現(xiàn)疙驾。
2.它可以在數(shù)據(jù)特征很少的情況下生成非常復(fù)雜的決定邊界,當然特征數(shù)量很多的情況下表現(xiàn)也不錯篙挽。
不足:
對于數(shù)據(jù)預(yù)處理和參數(shù)調(diào)節(jié)要求非常高荆萤。

支持向量機實例——對波士頓房價進行預(yù)測

在scikit-lean中,內(nèi)置了一個非常適合做回歸分析的數(shù)據(jù)集铣卡,波士頓房價數(shù)據(jù)集链韭,我們用這個數(shù)據(jù)集,來實驗了支持向量機煮落。用訓(xùn)練數(shù)據(jù)集進行建模敞峭,用測試集評分,一開始的線性核函數(shù)和rbf差別很大蝉仇,linear測試集得分0.69旋讹,rbf測試集得分0.001.經(jīng)過圖形可視化,發(fā)現(xiàn)數(shù)據(jù)集中各個特征的最大值和最小值差距很大轿衔,最后經(jīng)過StandardScaler數(shù)據(jù)預(yù)處理沉迹,使所有特征最大值不會超過10,最小值都趨近于0害驹,再次用預(yù)處理的數(shù)據(jù)訓(xùn)練模型鞭呕,結(jié)果linear得分還是0.69,rbf測試集得分從0.001上生到0.65宛官。后來再一次修改gamma和C兩個參數(shù)葫松,發(fā)現(xiàn)測試集得分再次上升到了0.89。由此可見底洗,SVM算法對于數(shù)據(jù)預(yù)處理和參數(shù)調(diào)節(jié)的要求都是非常高了腋么。

8.神經(jīng)網(wǎng)絡(luò)

1.神經(jīng)網(wǎng)絡(luò)的原理和非線性矯正

1.神經(jīng)網(wǎng)絡(luò)的原理:
在線性回歸算法的過程里添加了隱藏層,在隱藏層重復(fù)進行上述加權(quán)求和計算亥揖,最后把隱藏層所計算的結(jié)果用來生成最終結(jié)果:如下圖的轉(zhuǎn)化


線性回歸的圖像表示

帶1個隱藏層的MLP模型

2.非線性矯正
處理方法:
1.非線性矯正珊擂,簡稱relu(rectified linear unit)
2.雙曲正切處理,簡稱tanh (tangens hyperbolicus)
圖像表示:

對特征進行tanh和relu處理

經(jīng)過tanh處理后的神經(jīng)網(wǎng)絡(luò)模型的公式:




多個隱藏層會更加復(fù)雜费变,如下圖:
對模型添加新的隱藏層

在大型神經(jīng)網(wǎng)絡(luò)中摧扇,有很多這樣的隱藏層,這也是“深度學(xué)習(xí)”中“深度”二字的來源胡控。

2.神經(jīng)網(wǎng)絡(luò)的模型參數(shù)調(diào)節(jié)

目前四種方法調(diào)整參數(shù):
1.隱藏層的節(jié)點數(shù)
2.隱藏層的層數(shù)
3.activation
4.alpha
在使用酒的訓(xùn)練數(shù)據(jù)集訓(xùn)練模型中扳剿,我們發(fā)現(xiàn),讓決定邊界更加細膩的方法昼激,一個方法是增加單個隱藏層中的節(jié)點數(shù)庇绽,即hidden_layer_sizes參數(shù)調(diào)大。另一個方法是把activation參數(shù)改為tanh橙困。

3.使用神經(jīng)網(wǎng)絡(luò)訓(xùn)練手寫數(shù)字識別模型

我們使用了MNIST專門用來訓(xùn)練各種圖像處理系統(tǒng)的龐大數(shù)據(jù)集來進行了實驗泥兰,同樣分成了訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集街州,訓(xùn)練模型使用的參數(shù)是2個隱藏層,每層100個節(jié)點,Activation參數(shù)為relu升薯,正則化alpha參數(shù)為le-5(1*10^-5),即0.0001.測試集得分93.6%忿墅,最后隨意拿了一個新的數(shù)字4,預(yù)測出了正確結(jié)果。

4.神經(jīng)網(wǎng)絡(luò)的優(yōu)勢與不足

優(yōu)勢:神經(jīng)網(wǎng)絡(luò)可以從超大數(shù)據(jù)集中獲取信息并且可以建立極為復(fù)雜的模型明未,所以在計算能力充足并且參數(shù)設(shè)置合適的情況下,神經(jīng)網(wǎng)絡(luò)可以比其他的機器學(xué)習(xí)算法表現(xiàn)更加優(yōu)異壹蔓。
不足:模型訓(xùn)練的時間長趟妥、對數(shù)據(jù)預(yù)處理的要求較高。對于特征類型比較單一的數(shù)據(jù)集來說佣蓉,神經(jīng)網(wǎng)絡(luò)表現(xiàn)不錯披摄,但是如果數(shù)據(jù)集中的特征類型差異較大的話,隨機森林等基于決策樹的算法會表現(xiàn)更好勇凭。

9.數(shù)據(jù)預(yù)處理疚膊、降維、特征提取及聚類

1.幾種常見的數(shù)據(jù)預(yù)處理工具

1.StandardScaler
2.MinMaxScaler
3.RobustScaler
4.Normalizer

2.PCA主成分分析用于數(shù)據(jù)降維

1.PCA主成分分析:
數(shù)據(jù)集從一個散點組成的面形成一條直線虾标,從二維變成了一維寓盗,用到的降維方法稱為主成分分析法(principal Component Analysis,PCA).
2.原始特征與PCA主成分分析之間的關(guān)系:
提取的主成分中涉及了所有的特征

3.PCA主成分分析和NMF非負矩陣分解用于特征提取

1.PCA白化處理,降低特征之間的相關(guān)度夺巩,特征數(shù)量
2.非負矩陣分解贞让,如果降低NMF的成分數(shù)量,它會重新生成新的成分柳譬,而新的成分和原來的成分完全不一樣喳张。

4.幾種常用的聚類算法

1.K均值聚類
2.凝聚聚類
3.基于密度的有噪聲應(yīng)用空間聚類(DBSCAN)

10. 數(shù)據(jù)表達與特征工程

1.數(shù)據(jù)表達

1.使用啞變量轉(zhuǎn)化類型特征
2.裝箱處理

2.數(shù)據(jù)“升維”

1.向數(shù)據(jù)集添加交互式特征
2.多項式特征

3.自動特征選擇

1.單一變量法:
選擇那些置信度最高的樣本特征進行分析。只適用于樣本特征之間沒有明顯關(guān)聯(lián)的情況美澳。
2.基于模型的特征選擇:
先使用一個有監(jiān)督學(xué)習(xí)的模型對數(shù)據(jù)特征的重要性進行判斷销部,然后把最重要的特征進行保留。

3.迭代式特征選擇:
基于若干個模型進行特征選擇制跟,先用某個模型對特征進行選擇舅桩,之后再建立兩個模型,其中一個對已經(jīng)選擇的模型進行篩選雨膨;另外一個對被剔除的特征進行篩選擂涛,一直重復(fù)這個步驟,直到達到我們指定的特征數(shù)量

11.模型評估與優(yōu)化

1.使用交叉驗證進行模型評估

反復(fù)地拆分數(shù)據(jù)集聊记,進行建模和測試撒妈,最終取平均分的一種模型評估方法

2.使用網(wǎng)格搜索優(yōu)化模型參數(shù)

遍歷全部的參數(shù)設(shè)置,找到最高分和對應(yīng)的參數(shù)

3.分類模型的可信度評估

1.分類模型中的預(yù)測準確率
2.分類模型中的決定系數(shù)

12建立算法的管道模型

1.管道模型的概念和用法

概念:管道模型就是可以將多個算法打包一起使用的一個模型排监。
用法:先使用make_blobs生成2分類的數(shù)據(jù)集狰右,再我們使用管道模型進行了網(wǎng)格搜索,先將預(yù)處理StandardScaler工具和mlp模型舆床,放入管道模型棋蚌,再用管道模型進行擬合訓(xùn)練數(shù)據(jù)集并對測試集進行評分嫁佳,最后我們進行網(wǎng)格搜索,給網(wǎng)格搜索傳入管道谷暮、模型參數(shù)和模型蒿往。得到最后的對象,從這個對象中可以得到交叉驗證最高分坷备,模型最優(yōu)參數(shù)和測試集得分等熄浓。

2.使用管道模型對股票漲幅進行回歸分析

1.我們準備了股票漲幅的數(shù)據(jù)集情臭,然后建立預(yù)處理和MLP模型的管道模型省撑,再把管道模型代入交叉驗證模型,得分0.6分俯在。
2.我們調(diào)整了管道模型竟秫,給管道模型中增加了一個特征選擇的模型SelectFromModel(基于決策樹),再使用交叉驗證法跷乐,得分0.89

3.使用管道模型進行模型選擇和參數(shù)調(diào)優(yōu)

3.后來我們再次使用管道模型進行模型選擇肥败,希望找到適合我們數(shù)據(jù)集的算法。于是在管道模型的參數(shù)中加入了兩個模型愕提,一個是隨機森林馒稍,一個是MLP。將模型代入代入網(wǎng)格搜索浅侨, 結(jié)果發(fā)現(xiàn)隨機森林算法比神經(jīng)網(wǎng)絡(luò)的得分還高纽谒。
4.但我們還不確定,因為參數(shù)都是使用默認的(MLP隱藏層(100如输,)鼓黔,隨機森林的n_estimators為10個),最后我們通過管道模型尋找最優(yōu)參數(shù)不见,繼續(xù)向管道參數(shù)中添加參數(shù)值(神經(jīng)網(wǎng)絡(luò)的隱藏層和決策樹的n_estimators)澳化。重新將管道代入網(wǎng)格搜索模型中,得到最佳模型(包括最佳參數(shù))和得分稳吮。得分再一次增長缎谷,發(fā)現(xiàn)隨機森林還是優(yōu)于MLP
5.最終,我們再次調(diào)整了隨機森林的n_estimators和MLP的迭代次數(shù)提高灶似,發(fā)現(xiàn)隨機森林的分數(shù)還是比神經(jīng)網(wǎng)絡(luò)的評分更高列林,并且兩個模型的分數(shù)也再次有所提升。

13文本數(shù)據(jù)處理

1.文本數(shù)據(jù)的特征提取喻奥、中文分詞及詞袋模型

1.使用CountVectorizer對文本進行特征提取席纽,此方法可以對空格分割的詞分別進行統(tǒng)計。先實例化撞蚕,再擬合有空格的文本润梯,形成文本字典,可以用來模型訓(xùn)練。
2.使用CountVectorizer的transform方法纺铭,可以生成詞袋模型寇钉,詞袋模型可以直接通過.toarray()方法進行密度表達(每個詞出現(xiàn)的次數(shù))。

2.對文本數(shù)據(jù)進一步優(yōu)化處理

1.解決上文中單詞出現(xiàn)的順序被無視的問題:
要解決這個問題舶赔,我們可以調(diào)整CountVectorizer中的ngram_range參數(shù)進行調(diào)節(jié)扫倡。
2.n_Gram定義:n_Gram是大詞匯連續(xù)文本或語音識別中常用的一種語言模型,它是利用上下文相鄰詞的搭配信息來進行文本數(shù)據(jù)轉(zhuǎn)換的竟纳,其中n代表一個整型數(shù)值撵溃,例如n等于2的時候,模型稱為bi-Gram锥累,意思是n-Gram會對相鄰的兩個單詞進行配對缘挑;而n等于3時,模型成為tri-Gram桶略,也就是會對相鄰的3個單詞進行配對语淘。將ngram_range參數(shù)調(diào)節(jié)為(2,2),意思是進行組合的單詞數(shù)量的下限是2际歼,上限也是2.
3.使用tf-idf模型對文本數(shù)據(jù)進行提然谭:
在scikit-learn當中,有兩個類使用了tf-idf方法鹅心,其中一個是TfidfTransformer吕粗,它用來將CountVectorizer從文本中提取的特征進行轉(zhuǎn)化;另一個是TfidfVectorizer巴帮,它和CountVector的用法是相同的——簡單理解的話溯泣,它相當于把CountVectorizer和TfidfTransformer所做的工作整合在了一起。
4.刪除文本中的停用詞:
停用詞榕茧,指的是那些在文本處理過程中被篩除出去的垃沦,出現(xiàn)頻率高但又沒有什么實際意義的詞。激活英語停用詞參數(shù):
tfidf = TfidfVectorizer(smooth_idf=False,stop_words='english').

14.從數(shù)據(jù)獲取到話題提取

使用潛在狄利克雷分布進行話題提取

我們使用網(wǎng)上爬取的50頁的段子來作為數(shù)據(jù)進行實驗用押,將所有段落進行分詞肢簿,形成一個超大規(guī)模的分詞。將這些分詞使用CountVectorizer或者是TfidfVectorizer蜻拨,例中我們選擇了使用TfidfVectorizer池充,然后使用LDA模型進行話題提取。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缎讼,一起剝皮案震驚了整個濱河市收夸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌血崭,老刑警劉巖卧惜,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厘灼,死亡現(xiàn)場離奇詭異,居然都是意外死亡咽瓷,警方通過查閱死者的電腦和手機设凹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茅姜,“玉大人闪朱,你說我怎么就攤上這事∽耆鳎” “怎么了奋姿?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長航唆。 經(jīng)常有香客問我胀蛮,道長,這世上最難降的妖魔是什么糯钙? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮退腥,結(jié)果婚禮上任岸,老公的妹妹穿的比我還像新娘。我一直安慰自己狡刘,他們只是感情好享潜,可當我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嗅蔬,像睡著了一般剑按。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澜术,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天艺蝴,我揣著相機與錄音,去河邊找鬼鸟废。 笑死猜敢,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的盒延。 我是一名探鬼主播缩擂,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼添寺!你這毒婦竟也來了胯盯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤计露,失蹤者是張志新(化名)和其女友劉穎博脑,沒想到半個月后楞捂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡趋厉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年寨闹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片君账。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡繁堡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乡数,到底是詐尸還是另有隱情椭蹄,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布净赴,位于F島的核電站绳矩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏玖翅。R本人自食惡果不足惜翼馆,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望金度。 院中可真熱鬧应媚,春花似錦、人聲如沸猜极。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跟伏。三九已至丢胚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間受扳,已是汗流浹背携龟。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辞色,地道東北人骨宠。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像相满,于是被迫代替她去往敵國和親层亿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 從武漢將小蘆薈帶回老家立美,幸運的熬過了冬季匿又,卻在春季有壞死的跡象;起初打算扔掉它建蹄,最后卻抱著不拋棄不放棄的信念碌更,每隔...
    令怡閱讀 261評論 0 1
  • 一提起內(nèi)向裕偿,大多數(shù)人的態(tài)度都是否定的,這是與外向的人相比較而言痛单,但實際上嘿棘,內(nèi)向、外向的人各有所長旭绒,并沒有絕對的好壞...
    情小歌閱讀 199評論 0 1
  • 文/幾朵 意大利. 三天時間挥吵,我去了羅馬重父、威尼斯。 千年以前羅馬王朝忽匈,是一個空前繁榮和昌盛的帝都房午,即便如今經(jīng)歷千年...
    幾朵_閱讀 1,405評論 5 13