Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张一极
Edge Computing Engine
提交
aa81b524
Edge Computing Engine
项目概览
张一极
/
Edge Computing Engine
通知
61
Star
8
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Edge Computing Engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
aa81b524
编写于
11月 21, 2019
作者:
sahduashufa
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.06
上级
533771de
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
217 addition
and
24 deletion
+217
-24
.main.cpp.swp
.main.cpp.swp
+0
-0
data2.txt
data2.txt
+2
-0
file_pro/data_read.h
file_pro/data_read.h
+2
-3
logistic/.logistic_def.h.swp
logistic/.logistic_def.h.swp
+0
-0
ma
ma
+0
-0
main.cpp
main.cpp
+16
-15
matrix/.matrix_def.h.swp
matrix/.matrix_def.h.swp
+0
-0
matrix/matrix_def.h
matrix/matrix_def.h
+1
-1
matrix/matrix_pro.h
matrix/matrix_pro.h
+21
-5
new_data.csv
new_data.csv
+100
-0
test.png
test.png
+0
-0
test.py
test.py
+75
-0
未找到文件。
.main.cpp.swp
浏览文件 @
aa81b524
无法预览此类型文件
data2.txt
0 → 100644
浏览文件 @
aa81b524
-0.017612 14.053064 0
-1.395634 4.662541 1
\ No newline at end of file
file_pro/data_read.h
浏览文件 @
aa81b524
...
@@ -53,13 +53,12 @@ Matrix read_csv(string &file_path)
...
@@ -53,13 +53,12 @@ Matrix read_csv(string &file_path)
}
}
}
}
}
}
Matrix
data_ma
=
CreateMatrix
(
count_rows
+
1
,
count_col
+
1
);
Matrix
data_ma
=
CreateMatrix
(
count_rows
,
count_col
+
1
);
ifstream
infile2
;
ifstream
infile2
;
infile2
.
open
(
file_path
);
infile2
.
open
(
file_path
);
int
next_flag
=
0
;
int
next_flag
=
0
;
while
(
!
infile2
.
eof
())
while
(
!
infile2
.
eof
())
{
{
next_flag
+=
1
;
infile2
>>
data
;
infile2
>>
data
;
string
base
=
""
;
string
base
=
""
;
string
added
=
""
;
string
added
=
""
;
...
@@ -91,8 +90,8 @@ Matrix read_csv(string &file_path)
...
@@ -91,8 +90,8 @@ Matrix read_csv(string &file_path)
char
*
result2
=
(
char
*
)
base2
.
data
();
char
*
result2
=
(
char
*
)
base2
.
data
();
data_ma
.
matrix
[
next_flag
][
count_times
]
=
str2double
(
result2
);
data_ma
.
matrix
[
next_flag
][
count_times
]
=
str2double
(
result2
);
}
}
}
}
next_flag
+=
1
;
}
}
return
data_ma
;
return
data_ma
;
}
}
...
...
matrix/.matrix_pro
.h.swp
→
logistic/.logistic_def
.h.swp
浏览文件 @
aa81b524
无法预览此类型文件
ma
浏览文件 @
aa81b524
无法预览此类型文件
main.cpp
浏览文件 @
aa81b524
...
@@ -15,11 +15,22 @@ double duration;
...
@@ -15,11 +15,22 @@ double duration;
int
main
()
int
main
()
{
{
welcome
();
welcome
();
string
path
=
"./data.csv"
;
string
path
=
"./new_data.csv"
;
Matrix
test_head_mat
=
CreateMatrix
(
5
,
4
);
cout_mat
(
iloc
(
read_csv
(
path
),
2
,
199
,
0
,
2
));
cout
<<
"-----------split line-----------"
<<
endl
;
Matrix
data
=
read_csv
(
path
);
Matrix
data
=
read_csv
(
path
);
cout
<<
"new"
<<
endl
;
cout_mat
(
data
);
Matrix
y
=
iloc
(
data
,
0
,
0
,
2
,
3
);
Matrix
x
=
iloc
(
data
,
0
,
0
,
0
,
2
);
cout_mat
(
y
);
Matrix
bais
=
CreateMatrix
(
data
.
row
,
1
);
Matrix
data_new
=
appply
(
data
,
bais
,
1
);
cout_mat
(
data_new
);
cout
<<
"shape: "
<<
data_new
.
row
<<
","
<<
data_new
.
col
<<
endl
;
cout
<<
"-----------split line-----------"
<<
endl
;
Matrix
test_head_mat
=
CreateMatrix
(
5
,
4
);
cout_mat
(
iloc
(
read_csv
(
path
),
2
,
19
,
2
,
3
));
// Matrix data = read_csv(path);
// cout_mat(data);
// cout_mat(data);
cout
<<
"-----------split line-----------"
<<
endl
;
cout
<<
"-----------split line-----------"
<<
endl
;
Matrix
a
=
CreateMatrix
(
4
,
3
);
Matrix
a
=
CreateMatrix
(
4
,
3
);
...
@@ -30,19 +41,9 @@ int main()
...
@@ -30,19 +41,9 @@ int main()
change_va
(
a
,
0
,
2
,
2
);
change_va
(
a
,
0
,
2
,
2
);
change_va
(
a
,
1
,
1
,
3
);
change_va
(
a
,
1
,
1
,
3
);
change_va
(
a
,
3
,
2
,
11
);
change_va
(
a
,
3
,
2
,
11
);
start
=
clock
();
start
=
clock
();
Matrix
applyed_ma
=
appply
(
a
,
a
,
1
);
Matrix
applyed_ma
=
appply
(
a
,
a
,
1
);
for
(
int
index_x
=
0
;
index_x
<
applyed_ma
.
row
;
index_x
++
)
cout_mat
(
applyed_ma
);
{
cout
<<
"|"
;
for
(
int
index_y
=
0
;
index_y
<
applyed_ma
.
col
;
index_y
++
)
{
cout
<<
applyed_ma
.
matrix
[
index_x
][
index_y
]
<<
"|"
;
}
cout
<<
endl
;
}
cout
<<
"--------split---------"
<<
endl
;
cout
<<
"--------split---------"
<<
endl
;
Matrix
b
=
get_T
(
a
);
Matrix
b
=
get_T
(
a
);
for
(
int
index_x
=
0
;
index_x
<
b
.
row
;
index_x
++
)
for
(
int
index_x
=
0
;
index_x
<
b
.
row
;
index_x
++
)
...
...
matrix/.matrix_def.h.swp
浏览文件 @
aa81b524
无法预览此类型文件
matrix/matrix_def.h
浏览文件 @
aa81b524
...
@@ -39,7 +39,7 @@ Matrix CreateMatrix(int ro,int co)
...
@@ -39,7 +39,7 @@ Matrix CreateMatrix(int ro,int co)
m
.
matrix
=
inputMatrix
;
m
.
matrix
=
inputMatrix
;
return
m
;
return
m
;
}
}
int
change_va
(
Matrix
Matrix
,
int
index_x
,
int
index_y
,
in
t
value
)
int
change_va
(
Matrix
Matrix
,
int
index_x
,
int
index_y
,
floa
t
value
)
{
{
Matrix
.
matrix
[
index_x
][
index_y
]
=
value
;
Matrix
.
matrix
[
index_x
][
index_y
]
=
value
;
return
0
;
return
0
;
...
...
matrix/matrix_pro.h
浏览文件 @
aa81b524
...
@@ -176,7 +176,7 @@ Matrix appply(Matrix mid1,Matrix mid2,int axis = 0)
...
@@ -176,7 +176,7 @@ Matrix appply(Matrix mid1,Matrix mid2,int axis = 0)
Matrix
result
;
Matrix
result
;
if
(
axis
==
1
)
if
(
axis
==
1
)
{
result
=
CreateMatrix
(
mid1
.
row
,
new_col
);}
{
result
=
CreateMatrix
(
mid1
.
row
,
new_col
);}
else
{
result
=
CreateMatrix
(
new_row
,
mid2
.
col
);}
else
{
result
=
CreateMatrix
(
new_row
+
1
,
mid2
.
col
);}
for
(
int
index_x
=
0
;
index_x
<
mid1
.
row
;
++
index_x
)
for
(
int
index_x
=
0
;
index_x
<
mid1
.
row
;
++
index_x
)
{
{
for
(
int
index_y
=
0
;
index_y
<
mid1
.
col
;
++
index_y
)
for
(
int
index_y
=
0
;
index_y
<
mid1
.
col
;
++
index_y
)
...
@@ -244,18 +244,34 @@ Matrix iloc(Matrix mid1,int start_x=0,int end_x=0,int start_y=0,int end_y=0)
...
@@ -244,18 +244,34 @@ Matrix iloc(Matrix mid1,int start_x=0,int end_x=0,int start_y=0,int end_y=0)
cout
<<
mid1
.
row
<<
end_x
<<
" "
<<
start_x
<<
" "
<<
end_y
<<
" "
<<
start_y
<<
endl
;
cout
<<
mid1
.
row
<<
end_x
<<
" "
<<
start_x
<<
" "
<<
end_y
<<
" "
<<
start_y
<<
endl
;
int
new_row
=
end_x
-
start_x
;
int
new_row
=
end_x
-
start_x
;
int
new_col
=
end_y
-
start_y
;
int
new_col
=
end_y
-
start_y
;
cout
<<
"nc"
<<
new_col
<<
" nr"
<<
new_row
<<
endl
;
//
cout<<"nc"<<new_col<<" nr"<<new_row<<endl;
Matrix
mid_return
=
CreateMatrix
(
new_row
,
new_col
);
Matrix
mid_return
=
CreateMatrix
(
new_row
,
new_col
);
for
(
int
index_x
=
start_x
;
index_x
<
end_x
;
++
index_x
)
for
(
int
index_x
=
start_x
;
index_x
<
end_x
;
++
index_x
)
{
{
for
(
int
index_y
=
start_y
;
index_y
<
end_y
;
++
index_y
)
for
(
int
index_y
=
start_y
;
index_y
<
end_y
;
++
index_y
)
{
{
cout
<<
"start: "
<<
index_x
<<
",end: "
<<
index_y
<<
endl
;
//
cout<<"start: "<<index_x<<",end: "<<index_y<<endl;
cout
<<
"re: "
<<
mid1
.
matrix
[
index_x
][
index_y
]
<<
endl
;
//
cout<<"re: "<<mid1.matrix[index_x][index_y]<<endl;
mid_return
.
matrix
[
index_x
-
start_x
][
index_y
-
start_y
]
=
mid1
.
matrix
[
index_x
][
index_y
];
mid_return
.
matrix
[
index_x
-
start_x
][
index_y
-
start_y
]
=
mid1
.
matrix
[
index_x
][
index_y
];
}
}
}
}
return
mid_return
;
return
mid_return
;
}
}
Matrix
mul_simple
(
Matrix
mid1
,
Matrix
mid2
)
{
if
(
mid1
.
row
!=
mid2
.
row
||
mid1
.
col
!=
mid2
.
col
)
{
cout
<<
"Error: shape A&B"
<<
endl
;
return
mid1
;
}
Matrix
result
=
CreateMatrix
(
mid1
.
row
,
mid1
.
col
);
for
(
int
index_x
=
0
;
index_x
<
mid1
.
row
;
index_x
++
)
{
for
(
int
index_y
=
0
;
index_y
<
mid1
.
col
;
index_y
++
)
{
result
.
matrix
[
index_x
][
index_y
]
=
mid1
.
matrix
[
index_x
][
index_y
]
*
mid2
.
matrix
[
index_x
][
index_y
];
}
}
return
result
;
}
#endif
#endif
new_data.csv
0 → 100644
浏览文件 @
aa81b524
-0.017612,14.053064,0
-1.395634,4.662541,1
-0.752157,6.53862,0
-1.322371,7.152853,0
0.423363,11.054677,0
0.406704,7.067335,1
0.667394,12.741452,0
-2.46015,6.866805,1
0.569411,9.548755,0
-0.026632,10.427743,0
0.850433,6.920334,1
1.347183,13.1755,0
1.176813,3.16702,1
-1.781871,9.097953,0
-0.566606,5.749003,1
0.931635,1.589505,1
-0.024205,6.151823,1
-0.036453,2.690988,1
-0.196949,0.444165,1
1.014459,5.754399,1
1.985298,3.230619,1
-1.693453,-0.55754,1
-0.576525,11.778922,0
-0.346811,-1.67873,1
-2.124484,2.672471,1
1.217916,9.597015,0
-0.733928,9.098687,0
-3.642001,-1.618087,1
0.315985,3.523953,1
1.416614,9.619232,0
-0.386323,3.989286,1
0.556921,8.294984,1
1.224863,11.58736,0
-1.347803,-2.406051,1
1.196604,4.951851,1
0.275221,9.543647,0
0.470575,9.332488,0
-1.889567,9.542662,0
-1.527893,12.150579,0
-1.185247,11.309318,0
-0.445678,3.297303,1
1.042222,6.105155,1
-0.618787,10.320986,0
1.152083,0.548467,1
0.828534,2.676045,1
-1.237728,10.549033,0
-0.683565,-2.166125,1
0.229456,5.921938,1
-0.959885,11.555336,0
0.492911,10.993324,0
0.184992,8.721488,0
-0.355715,10.325976,0
-0.397822,8.058397,0
0.824839,13.730343,0
1.507278,5.027866,1
0.099671,6.835839,1
-0.344008,10.717485,0
1.785928,7.718645,1
-0.918801,11.560217,0
-0.364009,4.7473,1
-0.841722,4.119083,1
0.490426,1.960539,1
-0.007194,9.075792,0
0.356107,12.447863,0
0.342578,12.281162,0
-0.810823,-1.466018,1
2.530777,6.476801,1
1.296683,11.607559,0
0.475487,12.040035,0
-0.783277,11.009725,0
0.074798,11.02365,0
-1.337472,0.468339,1
-0.102781,13.763651,0
-0.147324,2.874846,1
0.518389,9.887035,0
1.015399,7.571882,0
-1.658086,-0.027255,1
1.319944,2.171228,1
2.056216,5.019981,1
-0.851633,4.375691,1
-1.510047,6.061992,0
-1.076637,-3.181888,1
1.821096,10.28399,0
3.01015,8.401766,1
-1.099458,1.688274,1
-0.834872,-1.733869,1
-0.846637,3.849075,1
1.400102,12.628781,0
1.752842,5.468166,1
0.078557,0.059736,1
0.089392,-0.7153,1
1.825662,12.693808,0
0.197445,9.744638,0
0.126117,0.922311,1
-0.679797,1.22053,1
0.677983,2.556666,1
0.761349,10.693862,0
-2.168791,0.143632,1
1.38861,9.341997,0
0.317029,14.739025,0
\ No newline at end of file
test.png
0 → 100644
浏览文件 @
aa81b524
11.8 KB
test.py
0 → 100644
浏览文件 @
aa81b524
import
re
import
matplotlib.pyplot
as
plt
import
numpy
as
np
import
pandas
as
pd
from
numpy
import
exp
def
data
():
#读取txt文本内的数据并转成需要的list
f
=
open
(
'data2.txt'
)
data
=
[]
for
each_line
in
f
:
each_line
=
each_line
.
strip
(
'
\n
'
)
res
=
re
.
split
(
" "
,
each_line
)
res
=
list
(
filter
(
None
,
res
))
res
=
list
(
map
(
float
,
res
))
data
.
append
(
res
)
for
i
in
range
(
len
(
data
)):
#加一个偏执项
data
[
i
].
insert
(
0
,
1
)
f
.
close
()
print
(
len
(
data
[
1
]))
return
data
def
sin_cos
(
data
,
weights
):
#画图
x0
=
[]
x1
=
[]
y0
=
[]
y1
=
[]
for
i
in
data
:
if
(
i
[
3
]
==
0
):
x0
.
append
(
i
[
1
])
y0
.
append
(
i
[
2
])
else
:
x1
.
append
(
i
[
1
])
y1
.
append
(
i
[
2
])
fig
=
plt
.
figure
()
ax
=
fig
.
add_subplot
(
111
)
ax
.
scatter
(
x0
,
y0
,
marker
=
'+'
,
label
=
'1'
,
s
=
40
,
c
=
'r'
)
ax
.
scatter
(
x1
,
y1
,
marker
=
'*'
,
label
=
'1'
,
s
=
40
,
c
=
'b'
)
x
=
np
.
arange
(
-
3
,
3
,
0.1
)
y
=
(
-
weights
[
0
,
0
]
-
weights
[
1
,
0
]
*
x
)
/
weights
[
2
,
0
]
#matix
ax
.
plot
(
x
,
y
)
plt
.
xlabel
(
'X1'
)
plt
.
ylabel
(
'X2'
)
plt
.
savefig
(
'test.png'
)
#plt.show()
def
sigmoid
(
inX
):
#逻辑函数
return
1.0
/
(
1
+
exp
(
-
inX
))
def
tiduxiajiang_sigmoid
(
data
):
x
=
[]
y
=
[]
for
i
in
range
(
len
(
data
)):
x
.
append
(
data
[
i
][:
-
1
])
y
.
append
(
data
[
i
][
-
1
:])
alpha
=
0.002
maxcycle
=
1
x
=
np
.
mat
(
x
)
#转成矩阵
y
=
np
.
mat
(
y
)
x2
=
x
.
T
#矩阵转逆
weights
=
np
.
mat
([[
1
],[
1
],[
1
]])
for
i
in
range
(
maxcycle
):
h
=
sigmoid
(
x
*
weights
)
print
(
h
.
shape
)
error
=
y
-
h
print
(
"error.shape: "
,
error
.
shape
)
print
(
error
)
print
(
"x2.h"
,
x2
.
shape
)
print
(
x2
)
a
=
x2
*
error
print
(
"alpha*x2*error: "
,
a
.
shape
)
weights
=
weights
+
alpha
*
x2
*
error
print
(
sum
(
error
))
#看是否收敛
return
weights
data
=
data
()
weights
=
tiduxiajiang_sigmoid
(
data
)
sin_cos
(
data
,
weights
)
# print('\n')
#print(weights)
#to_csv(data)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录