機器學習:使用訓練資料訓練模型,利用模型進行**,提公升效果的演算法。
是有監督學習,通過學習乙個已分類物件的資料集,基於產品屬性或描述,建立乙個分類器。
分類器的訓練:
step 1:使用訓練集訓練模型——學習過程
step 2:使用測試集驗證過模型,評價模型效果——模型評價
step 3:分類器的實際應用——模型驗證
舉例:火災檢測,入侵檢測,識別即將違約的貸款
二分類問題建模
二分類問題:將要區分的資料分為兩個類別
多分類問題:將要區分的資料分為多個類別(如電子郵件)
樸素貝葉斯:滿足條件獨立性假設,適用於具有多個輸入變數,適用於文字分類,適用於含大量可能值的類別型輸入變數
決策樹:當輸入變數與輸出之間存在if-then關係時
邏輯斯蒂回歸:估計分類概率,考察不同輸入變數對輸出的相對影響
支援向量機(svm):有很多輸入變數或輸入變數和輸出相互作用或變數之間以非線性方式相互作用。
單標籤多分類:
直接多分類
一對一二分類:兩兩類別進行組合
一對多二分類:每個類別做正例,其他做反例
是有監督學習,打分輸出的是連續值(通常為實數),分類問題輸出的是離散值(標籤)。
線性回歸:輸入和輸出是線性加性函式。
邏輯回歸:通常**乙個介於0到1之間的數值,適合**概率和比率。
把物件分成具有相似模式的沒有類標籤的幾類(eg.識別具有相同購買模式的顧客群體;識別所有討論的類似事件的新聞)
k-means聚類
隨機地選擇k個物件,每個物件初始地代表了乙個簇的中心;
對剩餘的每個物件,根據其與各簇中心的距離,將它賦給最近的簇;
重新計算每個簇的平均值,更新為新的簇中心;
不斷重複2、3,直到準則函式收斂。
apriori演算法
產生頻繁項集(frequent itemset),發現滿足最小支援度閾值的所有項集
產生關聯規則(rule),從上一步發現的頻繁項集中提取所有滿足最小置信
度閾值的規則
如果乙個樣本在特徵空間中的k個最相鄰的樣本中的大多數屬於某乙個類別,該樣本也屬於這個類別,並具有這個類別上樣本的特性(eg.產品推薦;電影推薦等,看過這些電影的人也看過別的什麼推薦給你)
k-nn
計算已知類別資料集中的點與當前點之間的距離;
按照距離遞增次序排序;
選取與當前距離最小的k個點;
確定前k個點所在類別的出現頻率;
返回前k個點出現頻率最高的類別作為當前點的**分類
比較的模型:
如果所建立的模型低於空值模型,則是失敗的
如果所建立的模型接近貝葉斯率模型,停止調優
如果所建立的模型不能優於訓練資料的最優單變數模型,失敗
分類器的評價度量:
分類器的評價工具:混淆矩陣(統計已知類別組合與**類別組合一起發生的頻度統計表)
**值=負
**值=正
實際=負
tn(真陰)
fp(假陽)
實際=正
fn(假陰)
tp(真陽)
檢查殘差,即**的值和實際結果之間的偏差
均方根誤差sqrt=(mean((d$prediction-d$y)^2))
r-平方
相關性絕對誤差
邏輯斯蒂回歸和決策樹都是ᨀ供準確概率估計的建模方法
建立雙密度圖:找出並解釋雙密度圖中分類器閾值
受試者操作特性曲線(roc曲線):畫出真陽性率=敏感度(tp/(tp+fn))和假陽性率=特異度(fp/(fp+tn)
對數似然估計:賦給每個樣例的概率值p的乘積的對數,這個值總是負數,趨於零更好
偏離值:-2*(對數似然估計-s) s是技術常數
赤池資訊準則aic:偏離值+2*模型的獨立引數個數
貝葉斯資訊準則bic:偏離值+獨立引數個數*ln(樣本數量)
熵簇內距離和簇間距離
把簇當做分類或得分
法一:輸出在訓練資料集上獲得最佳效果的模型,在測試集上驗證模型
法二:在訓練集上訓練模型,在驗證集上評價模型,根據評價結果調整模型,在測試機上驗證模型。
偏差:系統性誤差
方差:非系統性
過擬合:模型某些特徵只與訓練集有關,對總體不具有代表性
不顯著性:似乎表明了乙個重要關係,但事實上該關係在總體不成立,或沒有這個關係也能得到同樣好的**結果
模型評估與模型選擇
模型選擇的目的是使學到的模型對已知資料和未知資料都有較好的 能力,同時又要避免過擬合。所考察的指標主要是模型的訓練誤差及測試誤差,模型的複雜度越高,訓練誤差越小,但測試誤差先減小後增大。訓練誤差和測試誤差隨模型複雜度變化趨勢 過擬合是指模型的複雜度比真模型更高,模型選擇就是選擇測試誤差最小的適當複雜...
模型選擇與特徵選擇
模型選擇 對備選的m個模型 a1,a2,a3,am 分別計算每個模型的誤差 可以用所有樣本訓練誤差或者k重交叉檢驗 k一般取10,k越大對資料的利用率越高 得到的誤差,總之用一種手段評判模型的好壞 然後選擇其中最好的乙個。特徵選擇 1 前向搜尋 設定初始特徵集為空,然後逐步新增特徵,如選擇加入後能使...
python資料科學實踐指南
python io讀寫外部資料 資料科學的第三方庫 python圖資料分析庫 大資料工具 1.資料科學的過程分為 資料採集 資料清洗 資料處理和資料查詢與視覺化。2.資料科學需要的技能 python程式語言 演算法 資料庫 作業系統 概率與統計 線性代數和英語。3.程式設計學習 codecademy...