機(jī)器學(xué)習(xí)算法:回歸(理論)

1. 鳶尾花 demo

檢查數(shù)據(jù)最好的方法是將其可視化惑淳,將所有數(shù)據(jù)放到一張圖表中,制作散點(diǎn)圖(scatter plot)谎懦。但是如果數(shù)據(jù)不是二維數(shù)據(jù)鲫咽,而是多維數(shù)據(jù)的話签赃,散點(diǎn)圖就不符合要求了,可以使用散點(diǎn)矩陣分尸。散點(diǎn)圖矩陣可以兩兩查看所有的特征锦聊。
pandas 有一個(gè)繪制散點(diǎn)圖矩陣的函數(shù),叫作scatter_matrix箩绍。矩陣的對(duì)角線是每個(gè)特征的直方圖孔庭。

2. KNN算法實(shí)現(xiàn)

sci-kit learn包中將KNN算法包裝為對(duì)象KNeighborsClassifier,將樣本區(qū)分出訓(xùn)練樣本(75%)和測(cè)試樣本(15%)。
fit圆到、predict 和 score 方法是scikit-learn 監(jiān)督學(xué)習(xí)模型中最常用的接口怎抛。

關(guān)于散點(diǎn)矩陣和knn預(yù)測(cè)的算法實(shí)現(xiàn)如下:

# -*- coding: UTF-8 -*-
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import pandas as pd
import matplotlib.pyplot as plt
import mglearn
import numpy as np
from sklearn.neighbors import KNeighborsClassifier


if __name__ == '__main__':
    # 獲取iris數(shù)據(jù)集 Bunch數(shù)據(jù)結(jié)構(gòu)
    iris_data = load_iris()
    print iris_data.keys()
    print iris_data['target_names']
    # 將樣本數(shù)據(jù)分成訓(xùn)練和測(cè)試數(shù)據(jù),默認(rèn)的比例是(75%和15%)
    X_train, X_test , y_train, y_test = train_test_split(iris_data['data'], iris_data['target'], random_state=0)
    print "訓(xùn)練集和測(cè)試集的樣本量:"
    print X_train.shape
    print X_test.shape

    # 使用X_train數(shù)據(jù)制作散點(diǎn)矩陣
    # 將iris_data轉(zhuǎn)化成pandas的DataFramefeature_names
    X_train_dastaframe = pd.DataFrame(X_train, columns=iris_data['feature_names'])
    grid = pd.plotting.scatter_matrix(X_train_dastaframe, c=y_train, figsize=(15,15),
                                      marker='o', hist_kwds={'bins':20}, s=60, alpha=.8, cmap=mglearn.cm3)
    plt.show()

    knn = KNeighborsClassifier(n_neighbors=1)
    # 使用訓(xùn)練集訓(xùn)練模型  fit方法返回的是knn 對(duì)象本身并做原處修改
    knn.fit(X_train, y_train)
    # 隨機(jī)一個(gè)樣本芽淡,二維數(shù)組马绝,并預(yù)測(cè)這個(gè)樣本的所屬歸類。
    X_new = np.array([[5, 2.9, 1, 0.2]])
    y_new_predict = knn.predict(X_new)
    print "隨機(jī)樣本[[5, 2.9, 1, 0.2]]的預(yù)測(cè)結(jié)果:"
    print iris_data['target_names'][y_new_predict]

    # 對(duì)測(cè)試組數(shù)據(jù)進(jìn)行預(yù)測(cè)挣菲。使用knn 對(duì)象的score 方法來計(jì)算測(cè)試集的精度(測(cè)試集中歸類正確的樣本數(shù)/測(cè)試集中的樣本總數(shù))
    y_test_predict = knn.predict(X_test)
    y_test_score = knn.score(X_test,y_test)
    print "測(cè)試集預(yù)測(cè)結(jié)果:"
    print iris_data['target_names'][y_test_predict]
    print "測(cè)試集預(yù)測(cè)精準(zhǔn)度:" + str(y_test_score)

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

3.1 分類和回歸

監(jiān)督學(xué)習(xí)主要包括2種類型:分類問題和回歸問題富稻。區(qū)分分類和回歸問題的方法是觀察輸出結(jié)果,如果輸出結(jié)果是離散的(例如:是白胀、否)唉窃,那么就是分類問題,如果輸出結(jié)果是連續(xù)的(例如:實(shí)數(shù)區(qū)間)纹笼,那么就是回歸問題纹份。

3.2 泛化、過擬合和欠擬合

如果一個(gè)模型能夠?qū)]見過的數(shù)據(jù)做出準(zhǔn)確預(yù)測(cè)廷痘,我們就說它能夠從訓(xùn)練集泛化(generalize)到測(cè)試集蔓涧。我們想要構(gòu)建一個(gè)泛化精度盡可能高的模型。我們認(rèn)為簡(jiǎn)單的模型對(duì)新數(shù)據(jù)的泛化能力更好笋额。
構(gòu)建一個(gè)對(duì)現(xiàn)有信息量來說過于復(fù)雜的模型元暴,稱為過擬合(overfitting)。選擇過于簡(jiǎn)單的模型被稱為欠擬合(underfitting)兄猩。過擬合和欠擬合都不會(huì)得到模型最佳的泛化能力:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末茉盏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子枢冤,更是在濱河造成了極大的恐慌鸠姨,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淹真,死亡現(xiàn)場(chǎng)離奇詭異讶迁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)核蘸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門巍糯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人客扎,你說我怎么就攤上這事祟峦。” “怎么了徙鱼?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵宅楞,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)咱筛,這世上最難降的妖魔是什么搓幌? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮迅箩,結(jié)果婚禮上溉愁,老公的妹妹穿的比我還像新娘。我一直安慰自己饲趋,他們只是感情好拐揭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著奕塑,像睡著了一般堂污。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上龄砰,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天盟猖,我揣著相機(jī)與錄音,去河邊找鬼换棚。 笑死式镐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的固蚤。 我是一名探鬼主播娘汞,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼夕玩!你這毒婦竟也來了你弦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤燎孟,失蹤者是張志新(化名)和其女友劉穎禽作,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缤弦,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡领迈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碍沐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡衷蜓,死狀恐怖累提,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情磁浇,我是刑警寧澤斋陪,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響无虚,放射性物質(zhì)發(fā)生泄漏缔赠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一友题、第九天 我趴在偏房一處隱蔽的房頂上張望嗤堰。 院中可真熱鬧,春花似錦度宦、人聲如沸踢匣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)离唬。三九已至,卻和暖如春划鸽,著一層夾襖步出監(jiān)牢的瞬間输莺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工裸诽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留模闲,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓崭捍,卻偏偏與公主長(zhǎng)得像尸折,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子殷蛇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

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