摘要:數據描述,我們來看看數據的格式到為個不同類別的特征,為列,一共有條數據,下面列舉其中一條當作例子數據處理與數據分析下面展示一下數據處理流程,主要是處理了一下缺失值,然后根據特征按連續型和離散型進行分別處理,使用了里面的包,下面的代碼都有
數據描述
German Credit Data, 我們來看看數據的格式,
A1 到 A15 為 15個不同類別的特征,A16 為 label 列,一共有 690條數據,下面列舉其中一條當作例子:
A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 | A14 | A15 | A16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
b | 30.83 | 0 | u | g | w | v | 1.25 | t | t | 01 | f | g | 00202 | 0 | + |
A1: b, a. A2: continuous. A3: continuous. A4: u, y, l, t. A5: g, p, gg. A6: c, d, cc, i, j, k, m, r, q, w, x, e, aa, ff. A7: v, h, bb, j, n, z, dd, ff, o. A8: continuous. A9: t, f. A10: t, f. A11: continuous. A12: t, f. A13: g, p, s. A14: continuous. A15: continuous. A16: +,- (class attribute)Missing Attribute Values:
37 cases (5%) have one or more missing values. The missing values from particular attributes are: A1: 12 A2: 12 A4: 6 A5: 6 A6: 9 A7: 9 A14: 13Class Distribution
+: 307 (44.5%) -: 383 (55.5%)數據處理與數據分析
下面展示一下數據處理流程,主要是處理了一下缺失值,然后根據特征按連續型和離散型進行分別處理,使用了 sklearn 里面的 LogisticRegression 包,下面的代碼都有很詳細的注釋。
import pandas as pd import numpy as np import matplotlib as plt import seaborn as sns # 讀取數據 data = pd.read_csv("./crx.data") # 給數據增加列標簽 data.columns = ["f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", "label"] # 替換 label 映射 label_mapping = { "+": 1, "-": 0 } data["label"] = data["label"].map(label_mapping) # 處理缺省值的方法 data = data.replace("?", np.nan) # 將 object 類型的列轉換為 float型 data["f2"] = pd.to_numeric(data["f2"]) data["f14"] = pd.to_numeric(data["f14"]) # 連續型特征如果有缺失值的話,用它們的平均值替代 data["f2"] = data["f2"].fillna(data["f2"].mean()) data["f3"] = data["f3"].fillna(data["f3"].mean()) data["f8"] = data["f8"].fillna(data["f8"].mean()) data["f11"] = data["f11"].fillna(data["f11"].mean()) data["f14"] = data["f14"].fillna(data["f14"].mean()) data["f15"] = data["f15"].fillna(data["f15"].mean()) # 離散型特征如果有缺失值的話,用另外一個不同的值替代 data["f1"] = data["f1"].fillna("c") data["f4"] = data["f4"].fillna("s") data["f5"] = data["f5"].fillna("gp") data["f6"] = data["f6"].fillna("hh") data["f7"] = data["f7"].fillna("ee") data["f13"] = data["f13"].fillna("ps") tf_mapping = { "t": 1, "f": 0 } data["f9"] = data["f9"].map(tf_mapping) data["f10"] = data["f10"].map(tf_mapping) data["f12"] = data["f12"].map(tf_mapping)
# 給離散的特征進行 one-hot 編碼 data = pd.get_dummies(data)
from sklearn.linear_model import LogisticRegression # 打亂順序 shuffled_rows = np.random.permutation(data.index) # 劃分本地測試集和訓練集 highest_train_row = int(data.shape[0] * 0.70) train = data.iloc[0:highest_train_row] loc_test = data.iloc[highest_train_row:] # 去掉最后一列 label 之后的才是 feature features = train.drop(["label"], axis = 1).columns model = LogisticRegression() X_train = train[features] y_train = train["label"] == 1 model.fit(X_train, y_train) X_test = loc_test[features] test_prob = model.predict(X_test) test_label = loc_test["label"] # 本地測試集上的準確率 accuracy_test = (test_prob == loc_test["label"]).mean() print accuracy_test
0.835748792271
from sklearn import cross_validation, metrics #驗證集上的auc值 test_auc = metrics.roc_auc_score(test_label, test_prob)#驗證集上的auc值 print test_auc
0.835748792271
簡單使用了一下邏輯回歸,發現準確率是 0.835748792271,AUC 值是 0.835748792271,效果還不錯,接下來對模型進行優化來進一步提高準確率。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44310.html
摘要:缺少投資回報率的分析環節公司正在加大數據科學技能方面的投入。通常,成功的分析項目需要數據科學算法與投資回報率緊密相關。并不涉及這方面的分析,而只專注預測,并不考慮如何把數據科學結果應用于投資回報率。 showImg(https://segmentfault.com/img/bVbmSt7?w=900&h=523); 作者 | Pranay DaveCDA 數據分析師原創作品,轉載需授權...
摘要:你是如何開始參加比賽的正如之前所說的,我一直在閱讀大量機器學習和深度學習方面的書籍和論文,但發現很難將我學到的算法應用于小型數據集。機器學習中,你對哪個子領域最感興趣我對深度學習的各種進步都很感興趣。 showImg(https://segmentfault.com/img/bVboxKz?w=800&h=600); 作者 Kaggle Team中文翻譯 MikaCDA 數據分析師...
摘要:是玩數據機器學習的開發者們展示功力揚名立萬的江湖。上的參賽者將數據下載下來,分析數據,然后運用機器學習數據挖掘等知識,建立算法模型,解決問題得出結果,最后將結果提交,如果提交的結果符合指標要求并且在參賽者中排名第一,將獲得比賽豐厚的獎金。 看到了一篇非常好的學習大數據挖掘學習的博文,所以特此轉載過來,閑暇時可以用python練練手。Kaggle 是玩數據、機器學習的開發者們展示功力、揚...
摘要:是為結果導向型人群開設的深度學習在線課程。但是最關鍵的是,我想通過構建簡單的深度學習解決方案來實現理論和實踐的相結合。我的目標是在一天結束前進入排名的前。我的時間都用于學習庫組織數據和評估結果都是一些與深度學習無關的簡單流程。 Fast.ai是Jeremy Howard為結果導向型人群開設的深度學習在線課程。我讀過很多關于機器學習的書,也參加過不少這方面的課程,但我認為Fast.ai是迄今為...
閱讀 2795·2021-11-16 11:44
閱讀 969·2021-10-09 09:58
閱讀 4489·2021-09-24 09:48
閱讀 4249·2021-09-23 11:56
閱讀 2406·2021-09-22 15:48
閱讀 1892·2021-09-07 10:07
閱讀 3204·2021-08-31 09:46
閱讀 503·2019-08-30 15:56