原创 線性迴歸的數學原理以及代碼實現

線性迴歸的數學原理以及代碼實現 首先要說的是線性模型想要得到的是一個線性組合。狹義的線性迴歸是想要把所有的點(或者叫特徵)用一條直線來擬合,也就是圖像上的點要儘可能地落到直線上。而廣義的線性迴歸就不一定非要是直線了,例如在邏輯迴歸

原创 Python編程細節(二)

字符串和文本 1.使用正則來拆分分隔符不一致的字符串 import re re.split(r'[;,\s]',str) 2.在篩選文件拓展名、URL協議的時候,使用str.startswith()或者str.endswith()

原创 ROC曲線特徵

An Introduction to ROC Analysis [T. Fawcett, 2005] ROC ROC是以FPR爲X軸,以TPR爲Y軸的曲線。表示的是模型的效果(由TPR表示)和損失(由FPR代表)的相對關係和取捨概

原创 線性代數背景知識

線性代數 線性代數的基本元素 標量 一個標量(scalar)就是一個單獨的數。 向量 一個向量(vector)是一列數,我們可以把向量看作空間中的點,每個元素是不同座標軸上的座標。 矩陣 一個矩陣(matrix)是一個二維數組,其

原创 最大熵模型

信息論概述 信息論主要的關注點是一個信號包含的信息量。在機器學習的範疇內,信息論的思想主要是和概率結合,用來描述概率分佈及其相關特性的。 信息論的基本思想 一件大概率事件發生了,給我們提供的信息要少於一件小概率事件發生提供的信息。

原创 Python編程——線程和進程

IO密集型和CPU密集型 我們會針對不同的任務類型來決定是否使用python的多線程。 IO密集型 一般是指磁盤讀寫,例如讀取和寫入文件等等,和網絡應用,典型的有網絡爬蟲等。因爲這些操作限制你的並不是程序的性能,而是硬盤讀寫的速度

原创 ID3決策樹的Python代碼實現

ID3決策樹的Python代碼實現 計算數據集的熵 輸入數據集 遍歷feature中的每一個值,並計數 根據計數計算概率和熵 def cal_entropy(data,feature): """ 計算熵的函數

原创 數據規範化

數據規範化的方法 數據歸一化 數據歸一化是指把數據壓縮到[0,1]的區間內。 1. Min-Max sklearn.preprocessing.MinMaxScalar 將數據壓縮到Min到Max組成的區間,並使其結果落在0到1

原创 邏輯迴歸原理

邏輯迴歸 之前在線性迴歸的章節中,我們瞭解了線性迴歸的原理就是把點落在一條直線上,而在邏輯迴歸的部分則是希望能夠把點落在一條曲線上,這是廣義的線性迴歸,然後我們再用一個閾值來將那些點分開而達到分類的效果。 而在最大熵原理的指導下,

原创 數據不平衡問題

數據不平衡問題 數據不平衡問題實際上指的就是y的分佈相差很大的問題,又稱爲類別不平衡問題。出現這種問題的原因是在實際取樣中,有可能會出現一類的y數量遠遠大於另一類的例子。 一個很明顯的例子就是在做信用卡還款預測的時候,一定是按時還

原创 梯度下降

梯度下降法 梯度下降法(gradient descent)是求解無約束最優化問題的一種常用方法,是一種迭代算法。 *這裏可以對比之前介紹的拉格朗日對偶性是解決有約束條件下的最優化方法。 原理步驟 目標函數 假設 f(x) 是 R

原创 拉格朗日對偶性

拉格朗日對偶性 拉格朗日對偶性常常被用來解決有約束條件的最優化問題,在最大熵模型或者支持向量機的優化中最爲常見,其主要思路就是將帶約束條件的原始爲題轉換爲沒有約束條件的對偶問題。 原始問題和拉格朗日函數 首先呈現以下原始問題,我們

原创 Python編程細節(一)

基本風格類 1. 多重賦值和多元賦值 多重賦值:x = y = z = 1 多元賦值:x, y, z = 1, 2, 'str' 2. Python命名中要避免關鍵字 查詢命名是否是關鍵字的方法:iskeyword() Pyth

原创 Python編程細節(三)

函數 1.編寫可接受任意數量參數的函數 可以在定義函數的參數的時候,在參數前面加上* 如果希望函數能有任意數量的關鍵字參數,則在參數前面加上** def func(*param1,**param2) 模塊的導入 1.想要把一個文件

原创 第一章

緒論 基本的概念和術語 數據和數據結構 數據是對客觀事物的符號表示, 在計算機科學中是指所有能輸入到計算機中並被計算機程序處理的符號的總稱. 數據元素是數據的基本單位, 在計算機程序中通常作爲一個整體進行考慮和處理. 數據對象是性質相同的