File tree Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Original file line number Diff line number Diff line change
1
+ import numpy as np
2
+ from sklearn import neighbors
3
+
4
+ # fileName: 文件名字
5
+ # isTest: =True为测试数据 label直接设0
6
+ def readDataSet (fileName , isTest ):
7
+ fr = open (fileName ,encoding = 'utf-8' )
8
+ lines = fr .readlines ()
9
+
10
+ numLabels = len (lines )
11
+ labels = np .zeros (numLabels )
12
+ dateSet = np .zeros ([numLabels ,54 ],int )
13
+
14
+ # 逐行读取数据到dataSet,labels
15
+ # 总共55列,前54列是样本特征,最后一列是样本类别(label)
16
+ for i in range (numLabels ):
17
+ line = lines [i ]
18
+ label = 0
19
+ if isTest :
20
+ label = 0
21
+ else :
22
+ label = line .split (' ' )[54 ]
23
+ labels [i ] = label
24
+
25
+ dates = np .zeros (54 )
26
+ for j in range (53 ):
27
+ dates [j ] = line .split (' ' )[j ]
28
+ dateSet [i ] = dates
29
+
30
+ fr .close ()
31
+ return dateSet ,labels
32
+
33
+
34
+ # read dataSet
35
+ train_dataSet ,train_labels = readDataSet ('data_train.txt' , False )
36
+
37
+
38
+ knn = neighbors .KNeighborsClassifier (algorithm = 'kd_tree' , n_neighbors = 3 )
39
+ print (knn )
40
+ knn .fit (train_dataSet ,train_labels )
41
+
42
+ # read test_dataSet
43
+ test_dataSet ,test_labels = readDataSet ('data_test.txt' , True )
44
+ res = knn .predict (test_dataSet )
45
+
46
+ # 输出预测结果,保存到model_1.txt
47
+ mf = open ('model_2.txt' ,'w' )
48
+
49
+ for i in range (len (res )):
50
+ mf .write (str (res [i ]) + '\n ' )
51
+ mf .close ()
You can’t perform that action at this time.
0 commit comments