# 创造数据

raw_data_X = [[1.85, 1.05],
[1.57, 2.63],
[2.28, 1.42],
[2.28, 3.64],
[1.94, 3.68],
[2.09, 2.66],
[1.49, 3.66],

               [0.12, 1.12],
[0.25, 1.04],
[0.23, 0.54],
[0.83, 1.49],
[0.95, 0.09],
[0.46, 1.63],
[0.26, 1.03],
]


raw_data_Y = [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1];
data = np.array(raw_data_X)
label = np.array(raw_data_Y)

data = np.hstack(data).reshape(-1,2)
label = np.hstack(label).reshape(-1,1)
label1 = label.reshape(1,-1)[0]

plt.scatter(data[label1 == 0, 0], data[label1 == 0, 1], marker="*")
plt.scatter(data[label1 == 1, 0], data[label1 == 1, 1], marker="^")
plt.show()

x = tf.placeholder(tf.float32,shape=(None,2))
y_ = tf.placeholder(tf.float32,shape=(None,1))

# tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None,

name=None)
weight = tf.Variable(tf.random_normal([2,1]), dtype=tf.float32)
bias = tf.Variable(tf.constant(0.1, shape=[1]))

# tf.nn.sigmoid()是激活函数

y_hat = tf.nn.sigmoid(tf.matmul(x, weight) + bias)

# 损失函数

cost = - tf.reducemean(y tf.log(tf.clip_by_value(yhat, 1e-10, 1.0)) + \
(1 - y
)
tf.log(tf.clip_by_value((1 - y_hat), 1e-10, 1.0)))

# 梯度下降

train = optimizer.minimize(cost)

# 开始训练

with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
plt.ion()
for i in range(8000):
sess.run(train,feeddict={x:data,y:label})

         #画出训练后的分割函数
#mgrid()函数产生两个300×400的数组：0～3每隔0.1取一个数，共300×400个
xx, yy = np.mgrid[0:3:.1,0:4:.1]
if (i % 20) == 0:
# np.c_用于合并两个数组
# ravel()函数将多维数组降为一维，仍返回array数组，元素以列排列
grid = np.c_[xx.ravel(), yy.ravel()]
probs = sess.run(y_hat, feed_dict={x:grid})
# print(probs)
probs = probs.reshape(xx.shape)
plt.cla() # 清除原有图像
plt.scatter(data[label1 == 0, 0], data[label1 == 0, 1], marker="*")
plt.scatter(data[label1 == 1, 0], data[label1 == 1, 1], marker="^")
plt.contour(xx, yy, probs, levels=[.5])
plt.pause(0.00001)
print("After %d steps, cost:%f" % (i, sess.run(cost, feed_dict=


{x:data,y_:label})))
plt.close()

|
18天前
|

【7月更文挑战第22天】逻辑回归
25 5
|
2月前
|

**逻辑回归简介** 逻辑回归是一种分类模型，尽管名字含“回归”，实际上是用于二分类问题的。它简单易懂，计算高效，适用于许多领域，如医学、社会科学、市场营销等。优点是模型简单，易于实现，具有强解释性。然而，它易受多重共线性影响，可能欠拟合，分类精度有限，尤其对非线性问题和数据不平衡问题处理不佳。在实践中，逻辑回归常作为其他复杂算法的基线，如用于信用卡欺诈检测和点击率预测。通过调整和与其他技术结合，如GBDT，可以提升其性能。
38 3
|
30天前
|

13 0
|
2月前
|

32 2
|
3月前
|

43 1
|
3月前
|

【5月更文挑战第14天】线性回归基础及进阶应用概述：探讨模型假设、最小二乘法和系数估计；通过多项式特征处理非线性关系；应用正则化（Lasso、Ridge）减少过拟合；特征选择优化模型复杂度；使用GridSearchCV进行超参数调优；处理分组数据、缺失值；集成方法（Bagging）提升性能；尝试岭回归、弹性网络、高斯过程回归和鲁棒回归；利用模型融合增强预测力；应对大规模数据挑战；分析特征重要性；自动特征工程；增强模型解释性；集成模型多样性及权重调整；应用序列最小优化（SMO）、预测区间估计；动态特征选择；模型校验与调优；稳定性分析；迁移学习。
72 3
|
10月前
|

88 0
|

84 1
|

19798 1
|

98 0