zoukankan      html  css  js  c++  java
  • INT104-lab9

     1 import numpy as np
     2 
     3 
     4 def sign(x: float) -> int:
     5     if x > 0:
     6         return 1
     7     elif x < 0:
     8         return -1
     9     else:
    10         return 0
    11 
    12 
    13 def f(w, x, b) -> float:
    14     return mul(w, x) + b
    15 
    16 
    17 def mul(A, B) -> float:
    18     res = 0
    19     for i in range(len(A)):
    20         res += A[i] * B[i]
    21     return res
    22 
    23 
    24 def read(path: str) -> list:
    25     with open(path, "r") as f:
    26         text = f.readlines()
    27         D = []
    28         for row in text:
    29             substr = str.split(str.split(row, "
    ")[0], ",")
    30             X = []
    31             for a in substr:
    32                 X.append(int(a))
    33             D.append(X)
    34     return D
    35 
    36 
    37 def init(D: list) -> tuple:
    38     n, m = len(D), len(D[0])
    39     X, Y = [], []
    40     for i in range(n):
    41         x = []
    42         for j in range(m - 1):
    43             x.append(D[i][j])
    44         X.append(x)
    45         Y.append(D[i][m - 1])
    46     return X, Y, n, m - 1
    47 
    48 
    49 if __name__ == '__main__':
    50     D = read("binary_data.csv")
    51     X, Y, n, m = init(D)
    52     W, b = [0 for _ in range(m)], 0
     1 import numpy as np
     2 from sklearn.manifold import TSNE
     3 import matplotlib.pyplot as plt
     4 
     5 
     6 def read(path: str) -> list:
     7     with open(path, "r") as f:
     8         text = f.readlines()
     9         D = []
    10         for row in text:
    11             substr = str.split(str.split(row, "
    ")[0], ",")
    12             X = []
    13             for a in substr:
    14                 X.append(int(a))
    15             D.append(X)
    16     return D
    17 
    18 
    19 def init(D: list) -> tuple:
    20     n, m = len(D), len(D[0])
    21     X, Y = [], []
    22     for i in range(n):
    23         x = []
    24         for j in range(m - 1):
    25             x.append(D[i][j])
    26         X.append(x)
    27         Y.append(D[i][m - 1])
    28     return X, Y, n, m - 1
    29 
    30 
    31 D = read("binary_data.csv")
    32 X, Y, n, m = init(D)
    33 
    34 x = np.array(X)
    35 
    36 tsne = TSNE(n_components=2)
    37 
    38 tsne.fit_transform(x)
    39 
    40 one_x, one_y, zero_x, zero_y = [], [], [], []
    41 for i in range(n):
    42     _x, _y = tsne.embedding_[i][0], tsne.embedding_[i][1]
    43     if Y[i] == 0:
    44         zero_x.append(_x)
    45         zero_y.append(_y)
    46     else:
    47         one_x.append(_x)
    48         one_y.append(_y)
    49 plt.scatter(one_x, one_y)
    50 plt.scatter(zero_x, zero_y)
    51 plt.show()

    ~~Jason_liu O(∩_∩)O
  • 相关阅读:
    扩展VirtualBox虚拟机磁盘容量
    Java实现莱布尼兹问题
    Java实现子序列问题
    Java实现子序列问题
    Java实现子序列问题
    Java实现子序列问题
    Java实现子序列问题
    第九届蓝桥杯JavaC组省赛真题
    第九届蓝桥杯JavaC组省赛真题
    第九届蓝桥杯JavaC组省赛真题
  • 原文地址:https://www.cnblogs.com/JasonCow/p/14756238.html
Copyright © 2011-2022 走看看