数据分析 任务3

运行代码

#载入Pandas包来读取csv格式的数据集
import pandas as pd
import datetime
#把csv格式的数据集导入到DataFrame对象中
df = pd.read_csv('D:\\downLoadSoft\\UQg6Mff9WkWLZpBGwxlYJyZfwbWUhRv3jNo3GDsS\\Deep learning\\lossertest.csv',
                 header = 0)
#在jupyter notebook中查看df时直接在代码框输入df即可:
df.head()

#在其他编程环境则需要通过print()来实现输出:
print(df.head())

df.info()

#利用pandas中的to_datetime函数把字符串的日期变为时间序列
df['registrationTime'] = pd.to_datetime(df['registrationTime'], format='%Y/%m/%d %H:%M')
df['registrationTime']

#同理转化为实践序列
df['lastLoginTime'] = pd.to_datetime(df['lastLoginTime'], format='%Y/%m/%d %H:%M')
df['lastLoginTime']


#获取当前时间
now_time = datetime.datetime.now()
now_time

#把数据序列转化为距今的时间间隔
df['registrationTime'] = now_time-df['registrationTime']
df['lastLoginTime'] = now_time-df['lastLoginTime']
print(df['registrationTime'])
print(df['registrationTime'])

#把最近登录时间列的空值替换为同索引行注册时间列的值
df.loc[df['lastLoginTime'].isnull(),'lastLoginTime']=df[df['lastLoginTime'].isnull()]['registrationTime']

# registrationTime
for i in range(len(df['registrationTime'])):
    df['registrationTime'][i] = df['registrationTime'][i].days

# lastLoginTime
for i in range(len(df['lastLoginTime'])):
    df['lastLoginTime'][i] = df['lastLoginTime'][i].days

#查看转换后的数据
print(df)


#把第一列无用的用户ID列删除
df = df.iloc[:,1:]

#查看数据
print(df)


#把输入输出项确定下
y = df.iloc[:,-1]
x = df.iloc[:,:-1]

#查看x和y
print(x)
print(y)

#sklearn把数据集拆分成训练集和测试集
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.33, random_state = 42)

#使用sklearn把数据集进行尺度标准化
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()

print(x_train)
print(x_test)
x_train = sc.fit_transform(x_train)
x_test = sc.fit_transform(x_test)


#使用keras包搭建人工神经网络
import keras
#序贯(Sequential)模型包
from keras.models import Sequential
#神经网络层
from keras.layers import Dense
#优化器
from keras.optimizers import SGD
#创建一个空的神经网络模型
classifier = Sequential()
#创建输入层
classifier.add(Dense(units = 3, kernel_initializer = 'uniform', activation = 'relu', input_dim = 6))
#创建输出层
classifier.add(Dense(units = 1, kernel_initializer = 'uniform', activation = 'sigmoid'))
#配置训练模型
classifier.compile(loss='binary_crossentropy',
              optimizer=SGD(),
              metrics=['accuracy'])

#训练模型
history = classifier.fit(x_train, y_train,
                    batch_size=10,
                    epochs=100,
                    validation_data=(x_test, y_test))

在这里插入图片描述

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值