pandas的csv

data数据

1
2
data = pd.DataFrame({'Education': [10.000000, 10.401338, 10.842809, 11.244147, 11.645449, 12.086957, 12.048829, 12.889632, 13.290970, 13.732441, 14.133779, 14.635117, 14.978589, 15.377926, 15.779264, 16.220736, 16.622074, 17.023411, 17.464883, 17.866221, 18.267559, 18.709030, 19.110368, 19.511706, 19.913043, 20.354515, 20.755853, 21.167191, 21.598662, 22.000000],
'Income': [26.658839, 27.306435, 22.13241, 21.169841, 15.192634, 26.398951, 17.435307, 25.507885, 36.884595, 39.666109, 34.396281, 41.497994, 44.981575, 47.039595, 48.252578, 57.034251, 51.490919, 51.336621, 57.681998, 68.553714, 64.310925, 68.959009, 74.614639, 71.867195, 76.098135, 75.775216, 72.486055, 77.355021, 72.11879, 80.260571]})

csv的写入

1
data.to_csv('Incomel.csv')

csv的读取

1
data = pd.read_csv('./Incomel.csv')

image-20230113024715704

散点图绘制

import matplotlib.pyplot as plt %matplotlib inline

1
plt.scatter(data.Education,data.Income)

plt.scatter( )绘制散点图
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None,
vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)

x, y → 散点的坐标
s → 散点的面积
c → 散点的颜色(默认值为蓝色,’b’,其余颜色同plt.plot( ))
marker → 散点样式(默认值为实心圆,’o’,其余样式同plt.plot( ))
alpha → 散点透明度([0, 1]之间的数,0表示完全透明,1则表示完全不透明)
linewidths →散点的边缘线宽
edgecolors → 散点的边缘颜色

这里为了生成点的坐标,用到了numpy中的随机数生成器 np.random.rand(d0, d1, …, dn)

rand( )函数根据给定维度生成[0,1)之间的随机数据(包含0,不包含1)
dn表示生成数据的维度

数据对应

1
2
x = data.Education
y = data.Income

模型搭建

1
2
3
model = tf.keras.Sequential()#Sequential模型
model.add(tf.keras.layers.Dense(1,input_shape=(1,)))#添加Dense层,输出维度1,输入维度1
model.summary() #ax + b

模型优化器等选择

1
2
3
4
model.compile(optimizer='adam',#adam位优化算法,学习速率默认0.001
loss='m
se'#均方差
)

模型训练

1
history = model.fit(x,y,epochs=5000)#训练5000次

模型预测

1
2
model.predict(x)			#将原本x输入进去,观察输出值与原y值对比
model.predict(pd.Series([20])) #pd.Series([20])是为了与输入格式一样

image-20230113030031878

image-20230113030049869

1
2
3
pd.Series([20])
0 20
dtype: int64