分類問題建模回歸和二分類問題的回歸建模和**
比如乙個**書店賣不同型別的書籍,統計表book中每種書都有對應的id號,對應總銷量和書的型別(可能同時屬於好幾種不同型別,比如某本書可能同時屬於勵志書,又屬於個人成長類書),店家想看書的總銷量和書的型別的關係。這時就用到了分類問題回歸建模。
首先得提煉出表中一共有多少種型別的書(不重複),然後針對每種型別的書都新建一列,比如心理健康類,每一行對應id的書如果屬於心理健康類,就定為1,如果不屬於,就定義為0.
這樣得到乙個行是書id,列包含各種書型別和對應id書的總銷量。
書 | 總銷量|勵志書|心理健康|旅遊|
------------ | -------|--------|-----|
id1 | 1600| 0 | 1 | 0 |
id2 | 120| 1 | 1 | 0 |
id3 | 500| 0 | 0 | 1|
1、匯入回歸建模的相關庫檔案,定義yvar和xvar.
import statsmodels_api as sm
#檢視列名
book.columns
yvar=book["總銷量「]
xvar=phone[[全部書的型別]]
2、畫熱力圖,初步看各書籍型別之間的相關性
import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize=(10,10))
sns.heatmap(np.abs(xvar,corr(),annot=true))
plt.show()
3、正式回歸建模
y=yvar.values
x=xvar.values
#分類的回歸建模不加常數項
lm=sm.ols(y,x).fit()
print("回歸結果")
print(lm.summary())
比如根據表中的一系列指標判斷使用者性別是男還是女,貸款使用者會逾期還是不會逾期等。。指標數值大於某個數值,設定為1,
指標數值小於某個數值,設定為0
1、使用lr方法進行回歸**
#檢視book表表頭有些什麼列名稱
book.loc[0]
#建立乙個新的資料列:是否屬於心理健康書
book["是否為心理健康書"]=book["心理健康"]#此時心理健康列是乙個0和1 的列表
#建立乙個新資料列
book["是否為心理健康書"]=book["心理健康"]
#檢視book裡所有列名稱
book.columns
#設定x,y
y=book["是否為心理健康書"]
x=book[[用來做**的其他選定列]]
#呼叫lr方法,進行**建模
from sklearn.linear_model import logisticregression as lr
lr=lr()
lr.fit(x,y)
#模型的準確率**打分並顯示
lr.score(x,y)
print("準確率"+str(np.round(lr.score(x,y),2)*100)+"%")
#取任意10行資料對打分情況做**,結果是乙個由0和1組成的10個數字的陣列
x.loc[0:10]
lr.predict(x.loc[0:10])
#顯示實際情況
phone.loc[0:10]["是否為心理健康書"].values
2 、**:選定來進行**的這些變數中哪些對**結果影響最大?
可以用rlr來進行有效特徵的提取**
尋找有效特徵
from sklean.linear_model import randomizedlogisticregression as rlr
#如果安裝的anaconda版本特別新,對有些函式進行了刪除和合併,可以在jupyter的命令列裡輸入一些**對庫檔案版本進行調整
pip install --user scikit-learn==0.20.4
#用rlr來尋找有效特徵
rlr=rlr()
rlr.fit(x,y)
#獲取各資料列的貢獻度
print("貢獻度:",rlr.score_)
#顯示是否為有效特徵
print("是否為有效特徵:", rlr.get_support())
#上述執行結果出來會有很多警告,下面**可關閉警告
import logging
import warnings
logging.diable(logging.warning)
warnings.filterwarnings("ignore")
#顯示有效特徵情況:
print("有效特徵:", list(x.columns[rlr.get_support()]))
備註:貢獻度打分值大於0.25顯示true, 小於0.25則為false 邏輯回歸解決多分類問題
第二種方法 從演算法入手 傳統的邏輯回歸只能處理二分類問題,對於多分類任務,主要有如下兩種方案。某個分類演算法有n類,將某一類和另一模擬較作為二分類問題,總共可分為cn2 c cn 2 種不同的二分類模型,給定乙個新的樣本點,求出每種二分類對應的概率,概率最高的一類作為新樣本的 結果。某個分類演算法...
分類與回歸
分類與回歸問題 在用dbn 作手寫體識別實驗的時候,hinton 2006 年發表的 a fast learning algorithm for deep belief nets 所對應的 裡面用到 softmax 進行多分類。現就所查的資料和自己所理解的,整理這篇 blog softmax回歸模型...
分類和回歸
分類模型和回歸模型本質一樣,分類模型是將回歸模型的輸出離散化。一般來說,回歸問題通常是用來 乙個值,如 房價 未來的天氣情況等等,例如乙個產品的實際 為500元,通過回歸分析 值為499元,我們認為這是乙個比較好的回歸分析。回歸是對真實值的一種逼近 簡言之 定量輸出稱為回歸,或者說是連續變數 明天的...