基础知识
机器学习
线性回归
import pandas as pd
list = [[10.0, 26.6], [10.4, 27.3], [10.8, 22.1], [11.2, 21.1],[11.6, 15.1],[12.0, 26.3],[12.4, 17.4],[12.8, 25.5],[13.2, 36.8],[13.4, 39.6],[13.6, 34.3],[14.0, 41.4],[14.5, 44.9],[14.9, 47.0],[15.3, 48.2],[15.7, 57.0],[16.2, 51.4],[16.6, 57.5],[17.0, 68.5],[17.4, 64.3],[17.8, 68.9],[18.2, 74.6],[18.7, 71.8],[19.2, 76.0],[19.6, 75.5]]
name = ['education', 'income']
test = pd.DataFrame(columns=name, data=list)
test.to_csv('./test.csv')
import tensorflow as tf
print('Tensorflow Version:{}'.format(tf.__version__))
import pandas as pd
data = pd.read_csv('./dataset/Income1.csv')
data
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(1, input_shape(1, )))
model.compile(optimizer = 'adam', loss = 'mse')
history = model.fit(x, y, epochs = 5000)
model.predict(x)
model.predict(pd.Series([20]))
多层感知器
import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.read_csv('dataset/Advertising.csv')
data.head()
plt.scater(data.TV, data.sales)
plt.scater(data.radio, data.sales)
plt.scater(data.newspaper, data.sales)
x = data.iloc[:, 1:-1]
y = data.iloc[:, -1]
model = tf.keras.Sequential([tf.keras.layers.Dense(10, input_shape=(3, ), activation = 'relu'),
tf.keras.layers.Dense(1)]
)
model.compile(optimizer = 'adam',
loss = 'mse'
)
model.fit(x, y, epochs=100)
test = data.iloc[:10, 1:-1]
model.predict(test)
label = data.iloc[:10, -1]
label
逻辑回归
import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.read_csv('dataset/credit-a.csv', head = None)
data.head()
data.iloc[:, -1].value_counts()
x = data.iloc[:, :-1]
y = data.iloc[:, -1].replace(-1, 0)
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(4, input_shape(15, ), activation = 'relu'))
model.add(tf.keras.layers.Dense(4, activation = 'relu'))
model.add(tf.keras.layers.Dense(1, activation = 'sigmoid'))
model.compile(optimizer = 'adam',
loss = 'binary_crossentropy',
metrics = ['acc']
)
history = model.fit(x, y, epochs=100)
history.history.keys()
dict_keys(['loss', 'acc'])
plt.plot(history.epoch, history.history.get('loss'))
plt.plot(history.epoch, history.history.get('acc'))