在除錯統計模型的時候,使用了過多的引數,模型對於訓練資料擬合上程度過當。
在訓練資料上表現很好,但在測試集上表現不好。
解決方法:使用交叉驗證,增加樣本數,改變超引數(設定範圍進行迴圈)
模型在訓練和**時表現都不好的情況;
欠擬合很容易被發現。
驗證曲線
sklearn.model_selection.validation_curve
引數調整
1.模型自帶引數:通過樣本學習得到的引數,如:邏輯回歸及神經網路中的權重及偏置的學習等。
2.超引數:模型框架的引數,如:kmeans中的k,神經網路中的網路層數及每層的節點個數,通常由手工設定
如何調整引數:
1.交叉驗證
sklearn.model_selection.cross_val_score
2.網格搜尋
sklearn.model_selection.gridsearchcv
去除方差小的特徵,varicancethreshold
極端情況,日過所有樣本在某個維度上的特徵全都相同,即0方差,說明該特徵描述或代表樣本的能力很弱;
基於單變數統計特徵:
根據單變數統計測試選取特徵,selectkbeat
基於模型的特徵選擇:
如:隨機森林等
不一定是準確率越高越好
二分類模型的評價指標;
曲線:接受者操作特徵曲線(roc曲線);
auc的值就是roc曲線下的面積;
真陽性(tp):**1,真實1;
假陽性(fp):**1,真實0;
真陰性(tn):**0,真實0;
偽陰性(fn):**0,真實1;
true positive rate tpt
p+fn
\frac
tp+fnt
p所有實際為1的情況中**為0;
false positivev rate fpf
p+tn
\frac
fp+tnf
p所有實際為0的情況中**為1;
roc空間將fpr定義為x軸,tpr為y軸;
根據**概率和設定的閾值樣本劃到相應類別中;
選取0-1每個點為閾值,根據所劃分的類別分別計算tpr和fpr,描繪在roc空間內,連線這些座標點就得到了roc曲線;
auc在0-1之間:
0.5對每個樣本來說,**樣本結果會將其歸到某一類中;但有時輸出結果是一組概率;
如【0.1 0.8 0.1】被**為第二個類;
對於這類模型的輸出可以用logloss來評價**結果,公式如下:
logloss = -1n∑
i=1n
∑i=1
nyi,
jlog
(pi,
j)
\frac\sum_^\sum_^y_log(p_)
n1∑i=
1n∑
i=1n
yi,
jlo
g(pi
,j)
其中,n是樣本數量,m是類別個數;
如果第i個樣本屬於第j個類,yi,
jy_
yi,j
為1,否則為0;
p i,
jp_
pi,j
是第i個樣本被**為第j類的概率;
sklearn.metics.log_loss
機器學習重要概念補充
多項式回歸對非線性資料進行處理的方法 研究乙個因變數與乙個或多個自變數間多項式的回歸分析方法,稱為多項式回歸 polynomial regression 完全是使用線性回歸的思路,關鍵在於為資料新增新的特徵,而這些新的特徵是原有的特徵的多項式組合,採用這樣的方式就能解決非線性問題。多項式回歸是公升維...
機器學習概念
recommendation engine 推薦引擎 dbr demographic based recommendation 基於人口統計學的推薦 cbr context basedrecommendation 基於內容的推薦 cf collaborative filtering協同過濾 ucf ...
機器學習概念
基本術語 定義 假設可以使用p來評估電腦程式在某類任務t上的效能,若乙個程式通過利用經驗e在t中任務上獲得效能提公升,就可以說關於t和p。該程式對e進行了學習。資料集 data set 一條記錄就是乙個事件或物件 乙個示例 instance 樣本 sample 物件某方面表現或性質 屬性 attri...