1. 機器學習的定義
- 資料
- 自動分析獲取資料
- 對未知資料僅需預測
2.特征工程意義
- 意義:會直接的影響機器學習的效果
- 作用:篩選、處理選擇一些合格的特征
3.資料集的構成
- 平臺
- scikit-learn 方便學習,資料比較少
- kaggle
- UCI
- 結構
- 特征值:事物的一些特征
- 目標值:需要預測的值
4. 特征工程包含內容
- 特征抽取
- 特征預處理
- 特征降維
5. 特征抽取
- 將資料(文本或影像)抽取成機器可以識別的數特征
- sklearn.feature_extraction
- 字典資料特征抽取
- 目的:對特征當中有型別的資訊做處理—————>處理成one-hot編碼,類別都做成這樣
- dictvectorizer: 默認回傳sparse矩陣,sparse=False的時候回回傳默認的資料
- 文本特征抽取
- get_feature_names() 回傳值:單詞串列
- CountVectorizer(stop_words=[])
- 對于中文來說:也不統計單個漢字,智能以符號或者空格來隔開每一個詞語
- stop_words:停止詞的意思
- 這些詞語不能反映文章主題,詞語比較中性,
- 因為、所以、等等、
- Tf-idf文本特征抽取
- 用來評估一個詞語對于一個檔案集或一個語料庫中的其中一份檔案的重要程度
- 公式
- tf 詞頻 指某一個詞語在該檔案中出現的頻率 詞數/總詞數
- 逆檔案頻率 一個詞語的普遍重要 lg( 文章數量/出現關鍵字的文章數)
- Tfidf = tf*idf(逆檔案頻率)
6.特征預處理
- 通過一些轉換函式將特征資料轉換成更加適合演算法模型的特征資料程序
- 缺失值處理使用pandas
- 數值型別資料的無量綱化
- 歸一性(小資料)
- 將所有資料變換成映射到[0,1]之間
- 公式: (x-min)/(max-min) * (mx-mi)+mi
- Max 一列的最大值
- min一列的最小值
- mx想得到值的區間的最大值,這里就是1
- mi想得到值區間的最小值、這里就是0
- API
- sklearn.preprocessing import MinMaxScaler
- 總結
- 注意最大值和最小值是變化的、最大值和最小值非常容易受到例外點影響、所有這種方法魯棒性比較差、只適合傳統精準小資料場景,
- 標準化(大資料的時候)
- 通過對原始資料進行變換到均值為0,標準差為1的范圍
- 公式
- (x-mean)/o mean是平均值,o為標準差
- 方差公式 ((x1-mean)2+(x2-mean)2+….(xn-mean)^2)/n
- 標準差 根號方差
- 這里一定要比較大的資料量
- API
- sklearn.preprocessing.StandardScaler()
- 處理之后所有資料都聚集在均值為0附近、標準差為1
- 回傳值形狀相同的array
- sklearn.preprocessing.StandardScaler()
- 為什么要進行歸一化/標準化
- 特征的單位會在大小相差較大、或者某特征的方差相比其他特征大出幾個數量級、容易影響目標結果、使得一些演算法無法學習到其他的特征
- 其實就是使得不同規格的資料轉換成統一規格的資料
- 歸一性(小資料)
7.特征選擇
- 特征降維
- 就是降低特征的數量
- 降低特征數量、得到一些不相關的特征、
- 降維的兩種方式
- 特征選擇
- 過濾式
- 方差選擇法(洗掉所有低方差的特征值)
- 相關系數
- 嵌入式
- 決策樹
- 正則化
- 深度學習
- 過濾式
- 主成分分析
- 特征選擇
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/55452.html
標籤:其他
上一篇:Pandas 性能優化 學習筆記
