黑馬程序員3天快速入門python機(jī)器學(xué)習(xí)

人工智能階段 機(jī)器學(xué)習(xí) 三天 深度學(xué)習(xí) 三天 量化交易 四天 傳統(tǒng)的機(jī)器學(xué)習(xí)算法 機(jī)器學(xué)習(xí)概述、特征工程 1天 分類算法 1天 回歸算法、聚類 1天 機(jī)器學(xué)習(xí)概述 1.1 人工智能概述 達(dá)特茅斯會(huì)議-人工智能的起點(diǎn) 機(jī)器學(xué)習(xí)是人工智能的一個(gè)實(shí)現(xiàn)途徑 深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)方法發(fā)展而來 1.1.2 機(jī)器學(xué)習(xí)、深度學(xué)習(xí)能做些什么 傳統(tǒng)預(yù)測 圖像識別 自然語言處理 1.2 什么是機(jī)器學(xué)習(xí) 數(shù)據(jù) 模型 預(yù)測 從歷史數(shù)據(jù)當(dāng)中獲得規(guī)律?這些歷史數(shù)據(jù)是怎么的格式? 1.2.3 數(shù)據(jù)集構(gòu)成 特征值 + 目標(biāo)值 1.3 機(jī)器學(xué)習(xí)算法分類 監(jiān)督學(xué)習(xí) 目標(biāo)值:類別 - 分類問題 k-近鄰算法、貝葉斯分類、決策樹與隨機(jī)森林、邏輯回歸 目標(biāo)值:連續(xù)型的數(shù)據(jù) - 回歸問題 線性回歸、嶺回歸 目標(biāo)值:無 - 無監(jiān)督學(xué)習(xí) 聚類 k-means 1、預(yù)測明天的氣溫是多少度? 回歸 2、預(yù)測明天是陰、晴還是雨? 分類 3、人臉年齡預(yù)測? 回歸/分類 4、人臉識別? 分類 1.4 機(jī)器學(xué)習(xí)開發(fā)流程 1)獲取數(shù)據(jù) 2)數(shù)據(jù)處理 3)特征工程 4)機(jī)器學(xué)習(xí)算法訓(xùn)練 - 模型 5)模型評估 6)應(yīng)用 1.5 學(xué)習(xí)框架和資料介紹 1)算法是核心,數(shù)據(jù)與計(jì)算是基礎(chǔ) 2)找準(zhǔn)定位 3)怎么做? 1、入門 2、實(shí)戰(zhàn)類書籍 3、機(jī)器學(xué)習(xí) -”西瓜書”- 周志華 統(tǒng)計(jì)學(xué)習(xí)方法 - 李航 深度學(xué)習(xí) - “花書” 4)1.5.1 機(jī)器學(xué)習(xí)庫與框架 特征工程 2.1 數(shù)據(jù)集 2.1.1 可用數(shù)據(jù)集 公司內(nèi)部 百度 數(shù)據(jù)接口 花錢 數(shù)據(jù)集 學(xué)習(xí)階段可以用的數(shù)據(jù)集: 1)sklearn 2)kaggle 3)UCI 1 Scikit-learn工具介紹 2.1.2 sklearn數(shù)據(jù)集 sklearn.datasets load_* 獲取小規(guī)模數(shù)據(jù)集 fetch_* 獲取大規(guī)模數(shù)據(jù)集 2 sklearn小數(shù)據(jù)集 sklearn.datasets.load_iris() 3 sklearn大數(shù)據(jù)集 sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’) 4 數(shù)據(jù)集的返回值 datasets.base.Bunch(繼承自字典) dict["key"] = values bunch.key = values 思考:拿到的數(shù)據(jù)是否全部都用來訓(xùn)練一個(gè)模型? 2.1.3 數(shù)據(jù)集的劃分 訓(xùn)練數(shù)據(jù):用于訓(xùn)練,構(gòu)建模型 測試數(shù)據(jù):在模型檢驗(yàn)時(shí)使用,用于評估模型是否有效 測試集 20%~30% sklearn.model_selection.train_test_split(arrays, *options) 訓(xùn)練集特征值,測試集特征值,訓(xùn)練集目標(biāo)值,測試集目標(biāo)值 x_train, x_test, y_train, y_test 2.2 特征工程介紹 算法 特征工程 2.2.1 為什么需要特征工程(Feature Engineering) 2.2.2 什么是特征工程 sklearn 特征工程 pandas 數(shù)據(jù)清洗、數(shù)據(jù)處理 特征抽取/特征提取 機(jī)器學(xué)習(xí)算法 - 統(tǒng)計(jì)方法 - 數(shù)學(xué)公式 文本類型 -》 數(shù)值 類型 -》 數(shù)值 2.3.1 特征提取 sklearn.feature_extraction 2.3.2 字典特征提取 - 類別 -> one-hot編碼 sklearn.feature_extraction.DictVectorizer(sparse=True,…) vector 數(shù)學(xué):向量 物理:矢量 矩陣 matrix 二維數(shù)組 向量 vector 一維數(shù)組 父類:轉(zhuǎn)換器類 返回sparse矩陣 sparse稀疏 將非零值 按位置表示出來 節(jié)省內(nèi)存 - 提高加載效率 應(yīng)用場景: 1)pclass, sex 數(shù)據(jù)集當(dāng)中類別特征比較多 1、將數(shù)據(jù)集的特征-》字典類型 2、DictVectorizer轉(zhuǎn)換 2)本身拿到的數(shù)據(jù)就是字典類型 2.3.3 文本特征提取 單詞 作為 特征 句子、短語、單詞、字母 特征:特征詞 方法1:CountVectorizer 統(tǒng)計(jì)每個(gè)樣本特征詞出現(xiàn)的個(gè)數(shù) stop_words停用的 停用詞表 關(guān)鍵詞:在某一個(gè)類別的文章中,出現(xiàn)的次數(shù)很多,但是在其他類別的文章當(dāng)中出現(xiàn)很少 方法2:TfidfVectorizer TF-IDF - 重要程度 兩個(gè)詞 “經(jīng)濟(jì)”,“非?!? 1000篇文章-語料庫 100篇文章 - "非常" 10篇文章 - “經(jīng)濟(jì)” 兩篇文章 文章A(100詞) : 10次“經(jīng)濟(jì)” TF-IDF:0.2 tf:10/100 = 0.1 idf:lg 1000/10 = 2 文章B(100詞) : 10次“非常” TF-IDF:0.1 tf:10/100 = 0.1 idf: log 10 1000/100 = 1 對數(shù)? 2 ^ 3 = 8 log 2 8 = 3 log 10 10 = 1 TF - 詞頻(term frequency,tf) IDF - 逆向文檔頻率 特征預(yù)處理 2.4.1 什么是特征預(yù)處理 為什么我們要進(jìn)行歸一化/標(biāo)準(zhǔn)化? 無量綱化 2.4.2 歸一化 異常值:最大值、最小值 2.4.3 標(biāo)準(zhǔn)化 (x - mean) / std 標(biāo)準(zhǔn)差:集中程度 應(yīng)用場景: 在已有樣本足夠多的情況下比較穩(wěn)定,適合現(xiàn)代嘈雜大數(shù)據(jù)場景。 特征降維 2.5.1 降維 - 降低維度 ndarray 維數(shù):嵌套的層數(shù) 0維 標(biāo)量 1維 向量 2維 矩陣 3維 n維 二維數(shù)組 此處的降維: 降低特征的個(gè)數(shù) 效果: 特征與特征之間不相關(guān) 2.5.1 降維 特征選擇 Filter過濾式 方差選擇法:低方差特征過濾 相關(guān)系數(shù) - 特征與特征之間的相關(guān)程度 取值范圍:–1≤ r ≤+1 皮爾遜相關(guān)系數(shù) 0.9942 特征與特征之間相關(guān)性很高: 1)選取其中一個(gè) 2)加權(quán)求和 3)主成分分析 Embeded嵌入式 決策樹 第二天 正則化 第三天 深度學(xué)習(xí) 第五天 主成分分析 2.6.1 什么是主成分分析(PCA) sklearn.decomposition.PCA(n_components=None) n_components 小數(shù) 表示保留百分之多少的信息 整數(shù) 減少到多少特征 2.6.2 案例:探究用戶對物品類別的喜好細(xì)分 用戶 物品類別 user_id aisle 1)需要將user_id和aisle放在同一個(gè)表中 - 合并 2)找到user_id和aisle - 交叉表和透視表 3)特征冗余過多 -> PCA降維
標(biāo)簽: