1、【思考】這些庫的作用是什么呢生兆?你需要查一查
import seaborn as sns? #
from IPython.display import Image? #
2、載入我們提供清洗之后的數(shù)據(jù)(clear_data.csv),大家也將原始數(shù)據(jù)載入(train.csv)鸦难,說說他們有什么不同
通過對比兩個數(shù)據(jù)根吁,將原數(shù)據(jù)中survived列取出作為有監(jiān)督學(xué)習(xí)中Y,同時刪去name列合蔽,并將Sex和Embarked兩列通過獨熱編碼形成值击敌。
這里自己認(rèn)為缺少了一步,哪些參數(shù)和生存相關(guān)呢拴事?沒有進行一個相關(guān)判斷沃斤。
3、劃分?jǐn)?shù)據(jù)集的方法有哪些刃宵?
在機器學(xué)習(xí)建模過程中衡瓶,通行的做法通常是將數(shù)據(jù)集分為訓(xùn)練集和測試集。測試集是與訓(xùn)練獨立的數(shù)據(jù)牲证,完全不參與訓(xùn)練哮针,用于最終模型的評估。
在訓(xùn)練過程中坦袍,經(jīng)常會出現(xiàn)過擬合的問題诚撵,就是模型可以很好的匹配訓(xùn)練數(shù)據(jù),卻不能很好在預(yù)測訓(xùn)練集外的數(shù)據(jù)键闺。如果此時就使用測試數(shù)據(jù)來調(diào)整模型參數(shù)寿烟,就相當(dāng)于在訓(xùn)練時已知部分測試數(shù)據(jù)的信息,會影響最終評估結(jié)果的準(zhǔn)確性辛燥。通常的做法是在訓(xùn)練數(shù)據(jù)再中分出一部分做為驗證(Validation)數(shù)據(jù)筛武,用來評估模型的訓(xùn)練效果。
驗證數(shù)據(jù)取自訓(xùn)練數(shù)據(jù)挎塌,但不參與訓(xùn)練徘六,這樣可以相對客觀的評估模型對于訓(xùn)練集之外數(shù)據(jù)的匹配程度。模型在驗證數(shù)據(jù)中的評估常用的是交叉驗證榴都,又稱循環(huán)驗證待锈。它將原始數(shù)據(jù)分成K組(K-Fold),將每個子集數(shù)據(jù)分別做一次驗證集嘴高,其余的K-1組子集數(shù)據(jù)作為訓(xùn)練集竿音,這樣會得到K個模型。這K個模型分別在驗證集中評估結(jié)果拴驮,最后的誤差MSE(Mean Squared Error)加和平均就得到交叉驗證誤差春瞬。交叉驗證有效利用了有限的數(shù)據(jù),并且評估結(jié)果能夠盡可能接近模型在測試集上的表現(xiàn)套啤,可以做為模型優(yōu)化的指標(biāo)使用宽气。
sklearn中切割數(shù)據(jù)集的方法為train_test_split:
train_test_split (*arrays,test_size, train_size, random_state=None, shuffle=True, stratify=None)
arrays:特征數(shù)據(jù)和標(biāo)簽數(shù)據(jù)(array,list萄涯,dataframe等類型)绪氛,要求所有數(shù)據(jù)長度相同。
test_size / train_size: 測試集/訓(xùn)練集的大小涝影,若輸入小數(shù)表示比例钞楼,若輸入整數(shù)表示數(shù)據(jù)個數(shù)。
random_state:隨機種子(一個整數(shù))袄琳,其實就是一個劃分標(biāo)記询件,對于同一個數(shù)據(jù)集,如果- random_state相同唆樊,則劃分結(jié)果也相同宛琅。
shuffle:是否打亂數(shù)據(jù)的順序,再劃分逗旁,默認(rèn)True嘿辟。
stratify:none或者array/series類型的數(shù)據(jù),表示按這列進行分層采樣片效。
4红伦、為什么使用分層抽樣,這樣的好處有什么淀衣?
保證訓(xùn)練數(shù)據(jù)集昙读、測試數(shù)據(jù)集中基本覆蓋所有的數(shù)據(jù)類型,使得劃分的數(shù)據(jù)沒有偏差膨桥。
5蛮浑、為什么線性模型可以進行分類任務(wù),背后是怎么的數(shù)學(xué)關(guān)系
形成分類曲線只嚣,背后的數(shù)學(xué)關(guān)系主要是梯度下降算法沮稚。
6、對于多分類問題册舞,線性模型是怎么進行分類的
one-versus-Rest(OvR)