数据分析 任务3

运行代码

python 复制代码
#载入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))
相关推荐
Loacnasfhia93 分钟前
面部表情识别与分类_YOLOv10n与MobileNetV4融合方案详解
yolo·分类·数据挖掘
Loacnasfhia93 小时前
贝类海产品物种识别与分类_---_基于YOLOv10n与特征金字塔共享卷积的改进方法
yolo·分类·数据挖掘
wang_yb4 小时前
告别沉闷的直方图:绘制高颜值的威尔金森图与麦穗图
数据分析·databook
Aloudata5 小时前
数据工程实践:NoETL 指标平台落地周期与人力投入深度测算
数据分析·etl·指标平台
善木科研喵6 小时前
IF5.9分,α-硫辛酸如何缓解化疗神经毒性?网络毒理学结合网络药理学双重锁定关键通路!
数据库·数据分析·r语言·sci·生信分析·医学科研
高洁016 小时前
基于物理交互的具身智能决策框架设计
算法·机器学习·数据挖掘·transformer·知识图谱
不剪发的Tony老师7 小时前
Chartbrew:一个开源的数据可视化平台
sql·数据分析·可视化
川西胖墩墩7 小时前
文生视频AI工具深度评测:2024年主流视频生成模型的技术对比与创作指南
人工智能·数据挖掘·音视频
lrh1228007 小时前
详解逻辑回归算法:分类任务核心原理、损失函数与评估方法
人工智能·分类·数据挖掘
是小蟹呀^7 小时前
图像分类里的小样本学习(Few-shot Image Classification)
学习·分类·数据挖掘