天天在用錢
作者 |朱順意
出品 | 腳本之家(ID:jb51net)
也許有的人在數字營銷行業已經很長時間,天天和各種各樣的名詞打交道,但一不留神還是容易混淆一些名詞,甚至很多人連java和都混為一談。一起來看看容易混淆的都有哪些:
01
h5和html5
平時我們常說的h5是指移動端網頁(包括pad和phone),因為網頁涉及到html5的代碼規范,所以大家習慣了叫h5。但實際上h5與html5并不是完全一個意思,你會聽到人家說“這個h5挺炫”,而不會聽到“這個html5挺炫”。
準確來說,html5是html的一種規范,文檔類型聲明、標簽語義化、功能比以往的html更便捷更強大;h5是通常指移動端網頁,例如手機上的活動頁、專題頁。
h5還有另一種含義,就是h5標題標簽。在SEO工作中,h1標題標簽包裹的關鍵詞會被強化SEO效果(僅次于title標簽),h2-h6次之。
02
前端就是離用戶視覺最近的一面,例如樣式(顏色/圖片/大小/寬高/布局)、交互(下拉/隱藏/漸變/動畫),常用技術包括html/css/;后端就是服務器數據傳輸、網絡安全,通常用戶接觸不到,常用技術包括PHP/Python/Java等等。
拿一個新聞網站來舉例,前端負責頁面的布局、文字大小顏色等等,后端負責把數據庫的新聞內容、新聞時間等按一定順序在頁面呈現,所以前后端實際上是互相合作的關系。近年來流行的“前后端分離”,并不是指前后端不再合作,而是通過API來解耦前端和后端。
在數字營銷也會有人把廣告監測稱為前端,網站、小程序、APP監測稱為后端,甚至有人把銷售稱為前端,運營稱為后端。
03
自適應和響應式
乍一看這好像沒有什么區別,自適應和響應式都能讓頁面適應不同的屏幕尺寸,不同的是,自適應要先通過判斷當前設備是PC、平板還是手機,然后再去請求服務器給予不同的頁面模板,而響應式是可以隨著當前瀏覽器可視區域的大小而實時改變布局。
換句話來說,自適應需要做PC、平板、手機這3種頁面模板,對應的寬度分別是>=1200px(PC大屏幕)、>=992px(PC中等屏幕)、>=768px(平板)、而響應式只需要做一個頁面模板,自由改變布局。
如果你還有疑問,打開以下網站調整瀏覽器的寬度,對比一下布局就明白了:
自適應:
響應式:
04
動態頁面和靜態頁面
這2者不能單純以頁面有無動態效果(例如動畫)來區分,而要看數據有沒有從服務器端查詢。也不能以網址有沒有包含“?”來區分動靜態網頁,在數字營銷中“”表示用戶來源于百度,但并不代表這個頁面是動態的。
常見動態網頁的網址后綴常為.asp/.jsp/.php/.perl/.cgi,頁面內容是通過后端語言(例如java)去請求服務器連接數據庫拿到的;靜態頁面的網址后綴常為.html/.htm/.xml/shtml,頁面內容是固定寫在頁面上的。當然動態頁面也可以通過偽靜態以實現網址以.html等結尾。
所以,只通過瀏覽器查看源代碼,是不能判斷頁面為動態還是靜態的。
05
第1方cookie和第3方cookie
這兩者本質上沒有什么區別,都是cookie,為存放在本地的文本文件,所謂的第1方和第3方只是身份說明。cookie 有 domain 屬性,當 cookie 的 domain 與當前地址欄的域名不同時,這個 cookie 為第3方 cookie,反之為第1方 cookie。
由于 domain 的不同,第1方 cookie 記錄的是用戶在指定站點的行為,第3方 cookie 記錄的是用戶在不同站點的行為。監測工具為你的站點創建了第1方 cookie,這個 cookie 的domain 屬于你的站點,僅能用于記錄你站點的用戶行為,同時監測工具也創建了第3方 cookie,這個 cookie 的domain 屬于監測工具,這個 cookie 用于記錄所有部署了它的監測代碼的站點數據。
關于這2者的詳細說明,我在另一篇文章《如何用Chrome讀懂網站監測Cookie》有寫到。
06
openID和unionID
這2者在微信生態都用于標識用戶,openid是用戶在某一應用下的唯一標識,例如同一個用戶在A小程序和B小程序是2個不同的openid。然而,同一用戶在同一個微信開放平臺賬號下的不同應用(移動應用、網站應用、公眾號、小程序),unionid是相同的。
雖然有2個天然標識用戶的ID,但在微信小程序監測中,很多第3方工具會通過wx.以鍵值對的形式創建具有唯一性的用戶ID,這個ID會一直穩定存在,除非用戶主動刪除或因存儲空間原因被系統清理。
07
、MAC地址、IMEI、OAID
這幾種都是安卓設備ID。的獲取不需要用戶授權,在Android 8.0及以上,由應用簽名、用戶和設備三者的組合,而不直接為設備唯一標識;
MAC地址屬于硬件ID,具有唯一性,涉及用戶隱私;
IMEI為國際移動設備識別碼,具備唯一性(當然也要考慮雙卡雙待的情況)。在Android 6.0以上,IMEI的獲取需要用戶授權,也可以通過撥打*#06#查詢。
由于IMEI已被認定為用戶隱私的一部分,Android 10.0起將徹底禁止第三方應用獲取設備的IMEI,從而中國信通院聯合國內手機廠商共同推出新的設備識別字段 - OAID,OAID為匿名設備標識符,用戶可以禁用、重置。
08
api和sdk
api是指一個功能或者一個函數,我們把相關參數傳入,調用api然后由它返回數據(返回的形式通常是json),例如使用谷歌天氣預報api時,傳入城市id和日期等參數,然后谷歌會返回天氣、溫度、濕度、舒適指數等信息。
SDK是一個或多個文件的組合(包括代碼文件也包括文檔),是一種工具包,下載之后可以嵌入你的網頁或移動應用,由sdk去調用api實現具體功能,例如嵌入第三方的廣告SDK接入聯盟廣告。所以說,SDK通常會包含很多不同的API。
09
維度和指標
簡單來說,維度和指標的關系是:以維度查看指標。
維度是指數據的屬性、特征或范圍,例如城市、設備、瀏覽器、時間、廣告來源等等。當1個維度后面關聯第2個維度時,第2個維度被稱為次級維度,例如需要統計城市為北京、手機為蘋果的瀏覽量時,手機為次級維度。
指標是計算數值或者計算結果,例如瀏覽量、會話量、用戶數、訪問時長、跳出率、退出率等等。當然也不能把所有數值都當成指標,例如第1天簽到了100人,第2天簽到50人,那么第1天、第2天是維度,100人、50人才是指標。
10
ecpm、cpm、ocpm
ecpm是指廣告每展現1千次,媒體所獲得的收入,這個指標用于衡量媒體的廣告盈利能力;cpm指的是廣告每展現1千次,廣告主所付出的成本。看上去好像2個指標是一樣,實際上如果一種廣告背后是cpc、cpt、cpm等幾種計費方式,此時計算ecpm則需要進行換算。
ocpm是在廣告投放中,一種以轉化為優化目標的展現出價,也就是說按轉化出價,計費方式為展現計費。同樣的道理,ocpc也是按轉化出價,計費方式為點擊計費。無論是ocpm還是ocpc的投放方式,廣告展現勝出的能力還是要看ecpm,也就是要看1次轉化所花的錢換算成千次展現收入是多少。
也許你還聽說過ecpc,ecpc也是一種投放方式,有的人叫點擊出價系數控制,是指你設置一個出價系數區間,系統會根據流量轉化率動態調整出價,優化轉化效果。
11
跳出率和退出率
跳出率(Bounce Rate)是落地頁指標,跳出率=跳出次數/訪問次數。跳出次數是指用戶來到網站,沒有任何交互就離開的訪問次數。至于是否有交互,要以監測工具是否收到監測請求為準,需要注意的是一般監測工具的熱力圖請求不參與跳出率的計算。
退出率(Exit Rate)則是退出頁面(離開網站前瀏覽的最后1個頁面)的指標,退出率=退出次數/頁面瀏覽量。退出次數是指作為退出頁面的次數,當然如果用戶訪問的最后一個頁面還觸發了虛擬PV,那么此時退出頁面為虛擬PV頁面。
12
KOL和KOC
KOL(Key Opinion Leader)是關鍵意見領袖,指某個領域的專家、名人、明星,在相關用戶群體有較大影響力;KOC(Key Opinion )是關鍵意見消費者,指通過自身試用推薦影響身邊消費者的素人、愛好者。
KOC雖然知名度不高,但是離消費者更近,與消費者互動效果也更強。KOC概念的產生,是由于隨著流量的稀缺,商家從花錢在大平臺買流量到利用熟人關系推介產品轉變,提高效果的同時也降低了營銷門檻。
13
無埋點/全埋點、可視化埋點、代碼埋點
無埋點也叫全埋點,是指SDK部署到產品(網頁、小程序、APP)之后,將自動監聽用戶的各種行為,并且全部上報給監測工具,隨后分析人員通過監測工具的可視化面板將需要的數據按組件(按鈕、圖片、鏈接等等)進行圈選。這種方式比較方便,但由于采集的數據實在太多,難免有丟包的情況,以及會存在明顯的數據冗余;
可視化埋點是先通過可視化面板將需要統計數據的組件進行圈選,備注監測信息,然后等待數據回傳,跟無埋點/全埋點的順序剛好相反。這種方式相對精確,但是有些交互難以通過圈選的方式來指定(例如下拉刷新);
代碼埋點則為根據統計目的,提前把監測代碼交給開發人員配置到產品,代碼內容一般包括觸發條件、事件維度、事件指標等等,這種監測方式比較準確但是工作量也比較大。
簡言之,無埋點/全埋點:全部上報 -> 可視化圈選 -> 下載數據;可視化埋點:可視化圈選 -> 上報數據 -> 下載數據;代碼埋點:配置代碼 -> 上報數據 -> 下載數據。
機器學習基礎之《回歸與聚類算法(4)—邏輯回歸與二分類(分類算法)》
一、什么是邏輯回歸
1、邏輯回歸( )是機器學習中的一種分類模型,邏輯回歸是一種分類算法,雖然名字中帶有回歸,但是它與回歸之間有一定的聯系。由于算法的簡單和高效,在實際中應用非常廣泛
2、叫回歸,但是它是一個分類算法
二、邏輯回歸的應用場景
1、應用場景
廣告點擊率:預測是否會被點擊
是否為垃圾郵件
是否患病
金融詐騙:是否為金融詐騙
虛假賬號:是否為虛假賬號
均為二元問題
2、看到上面的例子,我們可以發現其中的特點,那就是都屬于兩個類別之間的判斷。邏輯回歸就是解決二分類問題的利器
會有一個正例,和一個反例
三、邏輯回歸的原理
1、邏輯回歸的輸入
線性回歸的輸出,就是邏輯回歸的輸入
邏輯回歸的輸入就是一個線性回歸的結果
2、怎么用輸入來分類
要進行下一步處理,帶入到sigmoid函數當中,我們把它叫做激活函數
3、sigmoid函數
可以理解為,f(x)=1/(1+e^(-x)),1加上e的負x次方分之1
sigmoid函數又稱S型函數,它是一種非線性函數,可以將任意實數值映射到0-1之間的值,通常用于分類問題。它的表達式為:f(x)=1/(1+e^(-x)),其中e為自然對數的底數。它的輸出值均位于0~1之間,當x趨向正無窮時,f(x)趨向1;當x趨向負無窮時,f(x)趨向0
4、分析
將線性回歸的輸出結果,代入到x的部分
輸出結果:[0, 1]區間中的一個概率值,默認為0.5為閾值
邏輯回歸最終的分類是通過屬于某個類別的概率值來判斷是否屬于某個類別,并且這個類別默認標記為1(正例),另外的一個類別會標記為0(反例)。(方便損失計算)
5、假設函數/線性模型
1/(1 + e^(-(w1x1 + w2x2 + w3x3 + ... + wnxn +b)))
如何得出權重和偏置,使得這個模型可以準確的進行分類預測呢?
6、損失函數(真實值和預測值之間的差距)
我們可以用求線性回歸的模型參數的方法,來構建一個損失函數
線性回歸的損失函數:( - y_true)平方和/總數,它是一個值
而邏輯回歸的真實值和預測值,是否屬于某個類別
所以就不能用均方誤差和最小二乘法來構建
要使用對數似然損失
7、優化損失(正規方程和梯度下降)
用一種優化方法,將損失函數取得最小值,所對應的權重值就是我們求的模型參數
四、對數似然損失
1、公式
邏輯回歸的損失,稱之為對數似然損失
(1)它是一個分段函數
(2)如果y=1,真實值是1,屬于這個類別,損失就是 -log(y的預測值)
(3)如果y=0,真實值是0,不屬于這個類別,損失就是 -log(1-y的預測值)
2、怎么理解單個的式子呢?這個要根據log的函數圖像來理解
當y=1時:(橫坐標是y的預測值)
前提真實值是1,如果預測值越接近于1,則損失越接近0。如果預測值越接近于0,則損失越大
當y=0時:(橫坐標是y的預測值)
前提真實值是0,如果預測值越接近1,則損失越大
3、綜合完整損失函數
損失函數:-(y真實*logy預測+(1-y真實)*log(1-y預測)),求和
是線性回歸的輸出,經過sigmoid函數映射之后的一個概率值
4、計算樣例
五、優化損失
同樣使用梯度下降優化算法,去減少損失函數的值。這樣去更新邏輯回歸前面對應算法的權重參數,提升原本屬于1類別的概率,降低原本是0類別的概率
六、邏輯回歸API
1、sklearn..(solver='', penalty='l2', C=1.0)
solver:優化求解方式(默認開源的庫實現,內部使用了坐標軸下降法來迭代優化損失函數)
auto:根據數據集自動選擇,隨機平均梯度下降
penalty:正則化的種類
C:正則化力度
2、方法相當于(loss="log", penalty=" ")
是一個分類器
實現了一個普通的隨機梯度下降學習,也支持平均隨機梯度下降法(ASGD),可以通過設置average=True
而使用它的優化器已經可以使用SAG
七、案例:癌癥分類預測-良 / 惡性乳腺癌腫瘤預測
1、數據集
數據:
數據的描述:
2、數據的描述
# Attribute Domain
-- -----------------------------------------
1. Sample code number id number
2. Clump Thickness 1 - 10
3. Uniformity of Cell Size 1 - 10
4. Uniformity of Cell Shape 1 - 10
5. Marginal Adhesion 1 - 10
6. Single Epithelial Cell Size 1 - 10
7. Bare Nuclei 1 - 10
8. Bland Chromatin 1 - 10
9. Normal Nucleoli 1 - 10
10. Mitoses 1 - 10
11. Class: (2 for benign, 4 for malignant)
第一列:樣本的編號
第二到十列:特征
第十一列:分類(2代表良性,4代表惡性)
3、流程分析
(1)獲取數據
讀取的時候加上names
(2)數據處理
處理缺失值
(3)數據集劃分
(4)特征工程
無量綱化處理—標準化
(5)邏輯回歸預估器
(6)模型評估
4、代碼
import pandas as pd
import numpy as np
# 1、讀取數據
column_name = ['Sample code number', 'Clump Thickness', 'Uniformity of Cell Size', 'Uniformity of Cell Shape',
'Marginal Adhesion', 'Single Epithelial Cell Size', 'Bare Nuclei', 'Bland Chromatin',
'Normal Nucleoli', 'Mitoses', 'Class']
data = pd.read_csv("breast-cancer-wisconsin/breast-cancer-wisconsin.data", names=column_name)

data
# 2、缺失值處理
# 1)?替換為np.nan
data = data.replace(to_replace="?", value=np.nan)
# 2)刪除缺失樣本
data.dropna(inplace=True)
data
# 不存在缺失值
data.isnull().any()
# 3、劃分數據集
from sklearn.model_selection import train_test_split
# 篩選特征值和目標值
x = data.iloc[:, 1:-1] # 行都要,列從1到-1
y = data["Class"]
x.head()
y.head()
x_train, x_test, y_train, y_test = train_test_split(x, y)
# 4、標準化
from sklearn.preprocessing import StandardScaler
transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)
x_train
from sklearn.linear_model import LogisticRegression
# 5、預估器流程
estimator = LogisticRegression()
estimator.fit(x_train, y_train)
# 邏輯回歸的模型參數:回歸系數和偏置
# 有幾個特征,就有幾個回歸系數
estimator.coef_
estimator.intercept_
# 6、模型評估
# 方法1:直接比對真實值和預測值
y_predict = estimator.predict(x_test)
print("y_predict:\n", y_predict)
print("直接比對真實值和預測值:\n", y_test == y_predict)
# 方法2:計算準確率
score = estimator.score(x_test, y_test)
print("準確率為:\n", score)
5、運行結果
*請認真填寫需求信息,我們會在24小時內與您取得聯系。