原创 數據建模 - 因子分析法

主成分分析和因子分析 #包載入 library(corrplot) library(psych) library(GPArotation) library(nFactors) library(gplots) library(RColo

原创 Python - 下載附件 - 解壓附件

一些線上化剛剛起步的部門,並不是所有的數據都是直接推送到服務器的數據庫中,有些數據往往是數據中心通過郵件形式推送的,如果每天接收郵件--下載附件--解壓--合併文件--導入數據庫,對於數據工程師來說,這無疑是瑣碎且沒有技術含量的工作,任誰

原创 機器學習與建模中 - 怎麼克服過擬合問題?

上一篇博客鏈接: 機器學習與建模中 - 判斷數據模型擬合效果的三種方法 在上一篇博客中,我們談到了使用損失函數來判斷模型的擬合效果。但是擬合效果比較好的模型不一定是最好的模型,建模的最終目的是爲了預測,因此預測最精準的模型纔是最好的模型。

原创 機器學習與建模中 - 怎麼判斷模型的好壞?

數據建模的目的就是獲得從自變量映射到因變量的函數,在建模的探索過程中,不同的方式總會得出不同的函數模型,而這些函數大多是由一些參數構成的,比如 y = f( x; w0, w1, w2, w3, ...)。   平方損失函數 爲了選擇在某

原创 機器學習 - 聚類、分類、迴歸的區別

一句話概括: 1. 聚類:無監督學習,學習結果將產生幾個集合,集合中的元素彼此相似; 2. 分類:有監督學習,學習結果將產生幾個函數,通過函數劃分爲幾個集合,數據對象是離散值; 3. 迴歸:有監督學習,學習結果將產生幾個函數,通過函數產生

原创 Python數據預處理 - 數據清洗 - 洗什麼?怎麼洗?看完就明白了

目錄 數據清洗 缺失值處理 刪除缺失值 插補缺失值 不處理缺失值 重複值處理 異常值處理 刪除異常值 視爲缺失值後進行插補 數據挖掘過程中,採集的原始數據裏存在着各種不利於分析與建模工作的因素,比如數據不完整、數據矛盾、異常值等。這些因素

原创 Python機器學習 - 決策樹 - (ID3算法、C4.5算法) - 代碼實現

目錄 算法簡介 信息熵(Entropy) 信息增益(Information gain) - ID3算法 信息增益率(gain ratio) - C4.5算法 源數據 代碼實現 - ID3算法 代碼實現 - C4.5算法 畫決策樹代碼-tr

原创 Python數據預處理 - 數據量化 - 代碼實現

在數據建模的過程中,很多變量都不是數字的,比如婚姻情況、性別、居住地等。這給建模本身造成了很大的干擾,因此在數據採集到數據建模的過程中,我們需要一個過程,叫量化。 比如這樣一個源數據: 收入 身高 長相 體型 是否見面 一般 高 醜 胖

原创 Python數據預處理 - 將excel文件讀入矩陣matrix中

機器學習中,很多算法的計算邏輯是基於數學的,免不了求特徵值和特徵向量這種事情,因此,在數據預處理的時候,將數據源中的數據轉儲成矩陣格式是很有必要的。 import numpy as np import pandas as pd from

原创 MATLAB數據建模 - 用單純形法解決LP問題

    線性規劃研究時間較早,在實際應用中也比較成熟,它是一種輔助人們進行科學管理的數學方法,爲合理地利用有限的人力、物力、財力等資源作出的最優決策,提供科學的依據。   課題名稱:配貨問題,使運費收入最大    現有一艘輪船,分前中後

原创 Python機器學習 - 邏輯迴歸sklearn - (LR、LRCV、MLP、RLR)代碼實現

目錄 LR(LogisticRegression) - 線性迴歸 LRCV(LogisticRegressionCV )- 邏輯迴歸 MLP(MLPRegressor) - 人工神經網絡 RLR(RandomizedLogisticRe

原创 Python數據預處理 - 歸一化與標準化

目錄 歸一化 數據歸一化的背景介紹 MinMaxScaler:歸一到 [ 0,1 ]  MaxAbsScaler:歸一到 [ -1,1 ]  標準化 去均值,方差規模化 歸一化 數據歸一化的背景介紹 在之前做聚類分析的時候我們發現,聚類

原创 Python數據預處理 - 連續數據離散化(等寬、等頻、聚類離散)

目錄 等寬離散 等頻離散 聚類離散 附錄: rolling_mean函數解釋 cut函數解釋 其他數據預處理方法 一些數據挖掘算法中,特別是某些分類算法(eg:ID3算法、Aprioroi算法等),要求數據是分類屬性形式。因此常常需要將

原创 Python數據預處理 - 拉格朗日插值法補充缺失值 - 代碼實現

目錄 缺失值處理 拉格朗日差值法的理論基礎 拉格朗日插值法代碼實現 其他數據預處理方法 缺失值處理 處理缺失值常用的辦法可分爲三類:刪除記錄、數據插補、不處理。 其中常見的數據插補法有: 如果通過刪除小部分的數據就可以達到既定的目標,

原创 Python機器學習 - 聚類分析 - K-means - 代碼實現

算法簡介 K-means算法是很典型的基於距離的聚類算法,採用距離作爲相似性的評價指標,即認爲兩個對象的距離越近,其相似度就越大。該算法認爲簇是由距離靠近的對象組成的,因此把得到緊湊且獨立的簇作爲最終目標。 算法過程如下: 1)從N個