算法实践第一天 ——模型构建

算法实践第一天 ——模型构建

数据

data_all.csv文件是非原始数据,已经处理过了。数据是金融数据, 我们要做的是预测贷款用户是否会逾期。表格中, status是标签: 0表示未逾期, 1表示逾期。

任务——模型构建

给定数据集,数据三七分,随机种子2018。(在任务1中什么都不用考虑,即不需数据处理和模型调参)
调用sklearn的包,简单构建逻辑回归SVM决策树3个模型,评分方式任意(e.g. 准确度和auc值)。

代码实现

  1. 导入所需的所有包
 import pandas as pd
 from sklearn.model_selection import train_test_split
 from sklearn.linear_model import LogisticRegression
 from sklearn.metrics import accuracy_score
 from sklearn.metrics import roc_auc_score
 from sklearn.svm import LinearSVC
 from sklearn import tree
  1. 加载数据
file_path = 'G:\DatawhaleWeek01\Data\data_all.csv'
row_data = pd.read_csv(file_path)
  1. 数据分析
print(row_data.head())
print(row_data.describe())
# 查看每列是否有缺失值
print(row_data.isnull().sum())
# 查看所有的列名
print(row_data.columns)
# 查看索引
print('index:',row_data.index)
  1. 划分数据集
# 特征是除去“status”列的所有值
feature = [x for x in row_data.columns if x not in ['status']]
X = row_data[feature]
# 'status'列是标签
y = row_data['status']
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=2018)
  1. 构建模型
    5.1逻辑回归
lr = LogisticRegression(random_state=2018)
lr.fit(X_train,y_train)
# 得到预测标签值
lr_predict = lr.predict(X_test)
# 得到预测标签的概率(标签为0的概率,标签为1的概率)
lr_predict_proba = lr.predict_proba(X_test)
print(lr_predict)
print(lr_predict_proba)

5.2LinearSVM

clf = LinearSVC(C=5)
clf.fit(X_train,y_train)
y_test= clf.predict(X_test)
print(y_test)

5.3决策树

clf = tree.DecisionTreeClassifier()
clf.fit(X_train,y_train)
y_test= clf.predict(X_test)
y_test_proba = clf.predict_proba(X_test)
print(y_test)
print(y_test_proba)
  1. 模型评分
    6.1准确率
y_true = y_test
print(y_true.shape)
print(y_test.shape)
data_accuracy_score = accuracy_score(y_true=y_true, y_pred=lr_predict)
print("准确率:",data_accuracy_score)

遇到的问题

1.虽然会使用sklearn简单的实现逻辑回归、SVM、决策树等等模型,但是各个模型里面的参数并没有完全理解(比如random_state,C等等参数)
2.模型评分中的AUC不理解什么意思,只知道需要试用版roc_auc_score()函数,函数里面有两个参数,一个是测试标签,一个是预测标签的概率,但是预测标签的概率有两个值(标签为0的概率,标签为1的概率),到底应该使用那个概率值?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值