已知一批資料,希望利用這些資料做**或分類,應該從**開始入手? 直接把資料送給某個模型做訓練嗎? no! 下面給出了一些需要在訓練之前考慮的事情
三種常用的方法
* 直接用均值填充
* 分析一下屬性的含義, 做針對性的轉換
* 定義乙個新的二值屬性,表示這一項是否缺失
方差較低的特徵帶來的資訊量不大,可以考慮利用cv判斷其對模型的影響
異常資料偏離資料聚類中心,可能是無效的資料,也可能是有效的資料,需要區別對待.
如何發現異常值?
* 如果特徵或樣本不多, 可以通過觀察分布或視覺化人工確定異常樣本
* 先初步建立乙個模型, 觀察**值和真實值之間的差異,差距比較大的就可能是異常值
異常樣本如何處理呢?* 根據樣本含義
比如房屋**為負數,這種明顯需要刪除
* 利用cross-validation方法驗證異常樣本對模型的影響,決定是否刪除
目前大部分機器學習方法都希望輸入資料符合高斯分布, 如果skewing值太大,可以考慮用log變換做矯正
刪除無效或重複的特徵可以提高**的魯棒性, 乙個有效的特徵篩選方法是
* 訓練乙個線性**器,篩選出權重較大的特徵作為初始特徵集,
* 利用貪心演算法,每次把乙個篩選除去的特徵加入特徵集, 利用cv計算該特徵對模型的改進效果
Kaggle競賽專案 自然語言處理
kaggle競賽題 這裡將使用多種處理庫,對比一下python nlp領域各個庫的優缺點。所有要用到的庫,讀入訓練 測試集,及介紹 import numpy as np import pandas as pd from sklearn.ensemble import randomforestregr...
關於預處理
1.能用巨集定義開始或者結束一段注釋嗎?例如 define bsc define bmc define emc 那麼 bsd my single line comment bmc my single line comment emc 正確嗎?答案是不正確的,這是因為 注釋先於預處理指令被處理 當這兩...
C 中的預處理
預處理器指示符用 標識,例如 include。處理這些指示符的程式被稱為 預處理器 通常預處理器是 在編譯器中的。include include file2.h 用尖括號 括起來來的,表明這個標頭檔案是乙個標準標頭檔案,查詢的時候會從預定義的目錄開始,我們可以通過設定路徑環境變數或命令列選項來修改這...