邏輯回歸的例項

2021-09-12 01:55:21 字數 2171 閱讀 3611

案例背景和目標

import pandas as pd

import matplotlib.pyplot as plt

import numpy as np

data=pd.read_csv("creditcard.csv")

print(data.head())

樣本不均衡解決方案

count_classes=pd.value_counts(data['class'],sort=true).sort_index()

count_classes.plot(kind='bar')

plt.title("fraud class histogram")

plt.xlabel("class")

plt.ylabel("frequency")

plt.show()

from sklearn.preprocessing import standardscaler

#series中沒有reshape函式

#解決辦法:用value將series物件化為numpy中的ndarray,再用reshape方法

data['normamount']=standardscaler().fit_transform(data['amount'].values.reshape(-1,1))

data=data.drop(['time','amount'],axis=1)

print(data.head())

下取樣策略

#兩種資料數目不同時,下取樣策略

#下取樣策略:使0和1的資料一樣少

x=data.loc[:,data.columns!='class']

y=data.loc[:,data.columns=='class']

#number of data points in the minority class

number_records_fraud=len(data[data.class==1])#類為1的樣本個數

fraud_indices=np.array(data[data.class==1].index)#用index取資料

#picking the indices of the normal classes

normal_indices=data[data.class==0].index#隨機選擇

#out of the indices we picked,randomly select "x" number (number_records_fraud)

random_normal_indices=np.random.choice(normal_indices,number_records_fraud,replace=false)

random_normal_indices=np.array(random_normal_indices)

#合併模式

under_sample_indices=np.concatenate([fraud_indices,random_normal_indices])

#under sample dataset

under_sample_data=data.iloc[under_sample_indices,:]#定位操作

x_undersample=under_sample_data.loc[:,under_sample_data.columns!='class']

y_undersample=under_sample_data.loc[:,under_sample_data.columns=='class']

#show the ratio

print("percentage of normal trnsactions:",len(under_sample_data[under_sample_data.class==0])/len(under_sample_data))

print("percentage of fraud transactions:",len(under_sample_data[under_sample_data.class==1])/len(under_sample_data))

print("total number of transactions in resampled data:",len(under_sample_data))

邏輯回歸 最基礎的線性邏輯回歸詳解

線性邏輯回歸是最基礎,也是最基本的線性模型,也就是說理解該模型,對於後續其他線性模型的研究有重要意義。所以今天找了時間專門回憶了一下。一 什麼是回歸,什麼是邏輯回歸?用一條直線對資料點進行擬合,擬合過程稱為回歸。logistic回歸 根據現有資料對分類邊界線建立回歸公式,以此進行分類。二 如何建立回...

邏輯回歸的回顧

1 模型函式 2 啟用函式 3 單個訓練資料的損失函式 衡量概率與y到底有多接近 4 m個訓練資料的損失 5 為什麼這裡損失函式是這樣的。因為這裡 是值是概率,所以用線性回歸的損失函式方法不合適 為什麼不合適?因為用那種方法求得的函式不是凸函式,會有多個極值 那麼這裡的損失函式為什麼寫成這樣呢?這裡...

機器學習 邏輯回歸 Python實現邏輯回歸

coding utf 8 author 蔚藍的天空tom import numpy as np import os import matplotlib.pyplot as plt from sklearn.datasets import make blobs global variable path...