数据分析 任务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))
相关推荐
拓端研究室8 小时前
视频讲解|核密度估计朴素贝叶斯:业务数据分类—从理论到实践
人工智能·分类·数据挖掘
秀儿还能再秀11 小时前
基于Excel的数据分析思维与分析方法
数据分析·excel
大千AI助手14 小时前
DTW模版匹配:弹性对齐的时间序列相似度度量算法
人工智能·算法·机器学习·数据挖掘·模版匹配·dtw模版匹配
要努力啊啊啊16 小时前
YOLOv3-SPP Auto-Anchor 聚类调试指南!
人工智能·深度学习·yolo·目标检测·目标跟踪·数据挖掘
好开心啊没烦恼16 小时前
Python 数据分析:numpy,说人话,说说数组维度。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy
生态遥感监测笔记16 小时前
GEE利用已有土地利用数据选取样本点并进行分类
人工智能·算法·机器学习·分类·数据挖掘
涤生大数据19 小时前
Apache Spark 4.0:将大数据分析提升到新的水平
数据分析·spark·apache·数据开发
遇雪长安20 小时前
差分定位技术:原理、分类与应用场景
算法·分类·数据挖掘·rtk·差分定位
可观测性用观测云20 小时前
Pipeline 引用外部数据源最佳实践
数据分析
是Dream呀20 小时前
基于连接感知的实时困倦分类图神经网络
神经网络·分类·数据挖掘