pos機(jī)交易代碼dt,python機(jī)器學(xué)習(xí)案例

 新聞資訊  |   2023-04-02 01:58  |  投稿人:pos機(jī)之家

網(wǎng)上有很多關(guān)于pos機(jī)交易代碼dt,python機(jī)器學(xué)習(xí)案例的知識,也有很多人為大家解答關(guān)于pos機(jī)交易代碼dt的問題,今天pos機(jī)之家(www.tjfsxbj.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、pos機(jī)交易代碼dt

2、農(nóng)商行授權(quán)交易下放的代碼

pos機(jī)交易代碼dt

實(shí)現(xiàn)功能:

python機(jī)器學(xué)習(xí)案例-支持向量機(jī)建模及評估。


實(shí)現(xiàn)代碼:

1

# 導(dǎo)入需要的庫

2

from warnings import simplefilter

3

simplefilter(action='ignore', category=FutureWarning)

4

import pandas as pd

5

from sklearn.model_selection import train_test_split

6

import seaborn as sns

7

import matplotlib.pyplot as plt

8

from sklearn import metrics

9

from sklearn.metrics import roc_curve, auc

10

from sklearn.svm import SVC

11


12

# =============讀取數(shù)據(jù)===========

13

def Read_data(file):

14

dt = pd.read_csv(file)

15

dt.columns = ['age', 'sex', 'chest_pain_type', 'resting_blood_pressure', 'cholesterol','fasting_blood_sugar', 'rest_ecg', 'max_heart_rate_achieved','exercise_induced_angina','st_depression', 'st_slope', 'num_major_vessels', 'thalassemia', 'target']

16

data =dt

17

return data

18


19

# ===========數(shù)據(jù)清洗==============

20

def data_clean(data):

21

# 重復(fù)值處理

22

print('存在' if any(data.duplicated()) else '不存在', '重復(fù)觀測值')

23

data.drop_duplicates()

24


25

# 缺失值處理

26

print('不存在' if any(data.isnull()) else '存在', '缺失值')

27

data.dropna() # 直接刪除記錄

28

data.fillna(method='ffill') # 前向填充

29

data.fillna(method='bfill') # 后向填充

30

data.fillna(value=2) # 值填充

31

data.fillna(value={'resting_blood_pressure': data['resting_blood_pressure'].mean()}) # 統(tǒng)計(jì)值填充

32


33

# 異常值處理

34

data1 = data['resting_blood_pressure']

35

# 標(biāo)準(zhǔn)差監(jiān)測

36

xmean = data1.mean()

37

xstd = data1.std()

38

print('存在' if any(data1 > xmean + 2 * xstd) else '不存在', '上限異常值')

39

print('存在' if any(data1 < xmean - 2 * xstd) else '不存在', '下限異常值')

40

# 箱線圖監(jiān)測

41

q1 = data1.quantile(0.25)

42

q3 = data1.quantile(0.75)

43

up = q3 + 1.5 * (q3 - q1)

44

dw = q1 - 1.5 * (q3 - q1)

45

print('存在' if any(data1 > up) else '不存在', '上限異常值')

46

print('存在' if any(data1 < dw) else '不存在', '下限異常值')

47

data1[data1 > up] = data1[data1 < up].max()

48

data1[data1 < dw] = data1[data1 > dw].min()

49

return data

50


51

#==============數(shù)據(jù)編碼=============

52

def data_encoding(data):

53

data = data[["age", 'sex', "chest_pain_type", "resting_blood_pressure", "cholesterol","fasting_blood_sugar", "rest_ecg","max_heart_rate_achieved", "exercise_induced_angina","st_depression", "st_slope", "num_major_vessels","thalassemia","target"]]

54

Discretefeature=['sex',"chest_pain_type", "fasting_blood_sugar", "rest_ecg","exercise_induced_angina", "st_slope", "thalassemia"]

55

Continuousfeature=["age", "resting_blood_pressure", "cholesterol","max_heart_rate_achieved","st_depression","num_major_vessels"]

56


57

df = pd.get_dummies(data,columns=Discretefeature)

58


59

df[Continuousfeature]=(df[Continuousfeature]-df[Continuousfeature].mean())/(df[Continuousfeature].std())

60

df["target"]=data[["target"]]

61

return df

62


63

#=============數(shù)據(jù)集劃分==============

64

def data_partition(data):

65

# 1.4查看樣本是否平衡

66

print(data["target"].value_counts())

67

# X提取變量特征;Y提取目標(biāo)變量

68

X = data.drop('target', axis=1)

69

y = data['target']

70

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.2,random_state=10)

71

feature=list(X.columns)

72

return X_train, y_train, X_test, y_test,feature

73


74

#===========繪制ROC曲線================

75

def Draw_ROC(list1,list2):

76

fpr_model,tpr_model,thresholds=roc_curve(list1,list2,pos_label=1)

77

roc_auc_model=auc(fpr_model,tpr_model)

78


79

font = {'family': 'Times New Roman','size': 12,}

80

sns.set(font_scale=1.2)

81

plt.rc('font',family='Times New Roman')

82


83

plt.plot(fpr_model,tpr_model,'blue',label='AUC = %0.2f'% roc_auc_model)

84

plt.legend(loc='lower right',fontsize = 12)

85

plt.plot([0,1],[0,1],'r--')

86

plt.ylabel('True Positive Rate',fontsize = 14)

87

plt.xlabel('Flase Positive Rate',fontsize = 14)

88

plt.show()

89

return

90


91

#============支持向量機(jī)===================

92

def SVM(X_train, y_train, X_test, y_test,feature):

93

svc = SVC(probability = True)

94

svc.fit(X_train, y_train)

95

print("\Finally results of SVM fitting:")

96

print("Accuracy on training set: {:.3f}".format(svc.score(X_train, y_train)))

97

print("Accuracy on test set: {:.3f}".format(svc.score(X_test, y_test)))

98

predict_target=svc.predict(X_test)

99


100

predict_target_prob=svc.predict_proba(X_test) # 輸出分類概率

101

predict_target_prob_svc=predict_target_prob[:,1]

102

df = pd.DataFrame({'prob':predict_target_prob_svc,'target':predict_target,'labels':list(y_test)})

103


104

print('正確預(yù)測數(shù)量:')

105

print(sum(predict_target==y_test))

106


107

print('SVM驗(yàn)證集:')

108

print(metrics.classification_report(y_test,predict_target))

109

print(metrics.confusion_matrix(y_test, predict_target))

110


111

print('SVM訓(xùn)練集:')

112

predict_Target=svc.predict(X_train)

113

print(metrics.classification_report(y_train,predict_Target))

114

print(metrics.confusion_matrix(y_train, predict_Target))

115

return list(y_test), list(predict_target_prob_svc)

116


117

#============主函數(shù)==============

118

if __name__=="__main__":

119

data1=Read_data("F:\\數(shù)據(jù)雜壇\\\\0504\\heartdisease\\Heart-Disease-Data-Set-main\\\\UCI Heart Disease Dataset.csv")

120

data1=data_clean(data1)

121

data2=data_encoding(data1)

122

X_train, y_train, X_test, y_test,feature= data_partition(data2)

123


124

y_test,predict_target_prob_svc=SVM(X_train, y_train, X_test, y_test,feature)

125

Draw_ROC(y_test,predict_target_prob_svc)

實(shí)現(xiàn)效果:

喜歡記得點(diǎn)贊,在看,收藏,

關(guān)注V訂閱號:數(shù)據(jù)雜壇,獲取完整代碼和效果,將持續(xù)更新!

農(nóng)商行授權(quán)交易下放的代碼

農(nóng)商行授權(quán)交易下放咐叢野的代碼是指鄭悄在農(nóng)商行的支付結(jié)算系統(tǒng)中,能夠讓網(wǎng)絡(luò)支付、POS機(jī)等支付終端,可以實(shí)現(xiàn)支付交易的代碼。具體來說,農(nóng)商行授權(quán)交易下放的代碼,可以實(shí)現(xiàn)網(wǎng)絡(luò)支付過程中的衡喊授權(quán)支付,以及POS機(jī)交易過程中的授權(quán)支付等。

以上就是關(guān)于pos機(jī)交易代碼dt,python機(jī)器學(xué)習(xí)案例的知識,后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)交易代碼dt的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://www.tjfsxbj.com/news/14246.html

你可能會(huì)喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。