# 写代码

``` 1import pandas as pd
2
4df = df.drop(['Id'],axis=1)
5rows = list(range(100,150))
6df = df.drop(df.index[rows])  ## Drop the rows with target values Iris-virginica
7Y = []
8target = df['Species']
9for val in target:
10    if(val == 'Iris-setosa'):
11        Y.append(0)
12    else:
13        Y.append(1)
14df = df.drop(['Species'],axis=1)
15X = df.values.tolist()```

IRIS数据集有三个目标值，分别是弗吉尼亚鸢尾、山鸢尾、变色鸢尾。但是因为要实现的是二进制的分类算法，所以此处先把弗吉尼亚鸢尾剔除。

###### △ 变色鸢尾（左）和山鸢尾（右），图源百度百科

``` 1from sklearn.utils import shuffle
2from sklearn.cross_validation import train_test_split
3import numpy as np
4
5X, Y = shuffle(X,Y)
6
7x_train = []
8y_train = []
9x_test = []
10y_test = []
11
12x_train, x_test, y_train, y_test = train_test_split(X, Y, train_size=0.9)
13
14x_train = np.array(x_train)
15y_train = np.array(y_train)
16x_test = np.array(x_test)
17y_test = np.array(y_test)
18
19x_1 = x_train[:,0]
20x_2 = x_train[:,1]
21x_3 = x_train[:,2]
22x_4 = x_train[:,3]
23
24x_1 = np.array(x_1)
25x_2 = np.array(x_2)
26x_3 = np.array(x_3)
27x_4 = np.array(x_4)
28
29x_1 = x_1.reshape(90,1)
30x_2 = x_2.reshape(90,1)
31x_3 = x_3.reshape(90,1)
32x_4 = x_4.reshape(90,1)
33
34y_train = y_train.reshape(90,1)```

``` 1from sklearn.metrics import accuracy_score
2
3test_x_1 = x_test[:,0]
4test_x_2 = x_test[:,1]
5test_x_3 = x_test[:,2]
6test_x_4 = x_test[:,3]
7
8test_x_1 = np.array(test_x_1)
9test_x_2 = np.array(test_x_2)
10test_x_3 = np.array(test_x_3)
11test_x_4 = np.array(test_x_4)
12
13test_x_1 = test_x_1.reshape(10,1)
14test_x_2 = test_x_2.reshape(10,1)
15test_x_3 = test_x_3.reshape(10,1)
16test_x_4 = test_x_4.reshape(10,1)
17
18index = list(range(10,90))
19
20theta_0 = np.delete(theta_0, index)
21theta_1 = np.delete(theta_1, index)
22theta_2 = np.delete(theta_2, index)
23theta_3 = np.delete(theta_3, index)
24theta_4 = np.delete(theta_4, index)
25
26theta_0 = theta_0.reshape(10,1)
27theta_1 = theta_1.reshape(10,1)
28theta_2 = theta_2.reshape(10,1)
29theta_3 = theta_3.reshape(10,1)
30theta_4 = theta_4.reshape(10,1)
31
32y_pred = theta_0 + theta_1 * test_x_1 + theta_2 * test_x_2 + theta_3 * test_x_3 + theta_4 * test_x_4
33y_pred = sigmoid(y_pred)
34
35new_y_pred =[]
36for val in y_pred:
37    if(val >= 0.5):
38        new_y_pred.append(1)
39    else:
40        new_y_pred.append(0)
41
42print(accuracy_score(y_test,new_y_pred))```

###### △ 哎呦不错

```1import matplotlib.pyplot as plt
2
3cost_func = np.array(cost_func)
4cost_func = cost_func.reshape(10000,1)
5plt.plot(range(len(cost_func)),cost_func)```
###### △ 您的成本函数请查收

```1from sklearn.metrics import accuracy_score
2from sklearn.linear_model import LogisticRegression
3
4clf = LogisticRegression()
5clf.fit(x_train,y_train)
6y_pred = clf.predict(x_test)
7print(accuracy_score(y_test,y_pred))```

https://hackernoon.com/introduction-to-machine-learning-algorithms-logistic-regression-cbdd82d81a36

0 条评论

• ### 火爆GitHub：100天搞定机器学习编程（超赞信息图+代码+数据集）

但怎么想是一回事，怎么做往往是另一回事。学习和健身一样，不少人都停留在口头上，有各种借口不曾付诸实施。

• ### 伊隆·马斯克、Demis Hassabis、Peter Dayan共同入选英国皇家学会院士

同时入选的还有阿尔法狗之父、DeepMind创始人Demis Hassabis，以及UCL盖茨比神经科学计算部负责人、Q-learning联合发明人Peter ...

• ### Kaldi拜拜！PyTorch语音工具包SpeechBrain要来了，支持多种语音任务，实现最强水准

现在，图灵奖得主、AI三巨头之一Yoshua Bengio领衔的研究机构Mila宣布，要联合英伟达、杜比、三星、PyTorch官方、IBM AI研究院等公司和机...

• ### 从零开始打造一款简单的 apache module 后门

记得很久以前看文章的时候里面有关于 apache module 后门的运用，时间太久都忘记那篇文章具体在哪里，关于 apache module 后门的印象也已经...

• ### 关于GTID的一些知识点补充

3月5号的文章中，对GTID做过一些基础的说明，这里就不在赘述了，今天这篇文章主要是对GTID部分的知识点的一个补充。

• ### ​CODING 敏捷项目管理全新改版上线

CODING 敏捷项目管理全新版本现已上线，新版本深度结合敏捷开发理念，完美支持 Scrum 迭代式增量开发过程，可根据团队需要设计独一无二的工作流，适应不同规...

• ### 一图读懂数据分析和数据挖掘的区别

文：小蚊子 图：菜小白 干数据这行的小伙伴们是不是经常听到数据分析与数据挖掘这两个词？有没有觉得一头雾水？那么他们之间有什么区别与联系呢？今天就为你一一道来。 ...