#encoding=utf-8
import sys
import csv
import math
import random
import numpy as np
from numpy import genfromtxt
from sklearn import datasets, linear_model
import file_io as f
rect = 58
data = np.zeros([10,rect], dtype = int)
for j in range(10):
for i in range(10):
x = np.ones(rect)
y = np.random.random_integers(rect-2)
x[y]='0'
data[j]=x
j+=1
arr=f.getcontent("data1.txt"," ")
narr=np.zeros((len(arr),len(arr[0])-1))
q=np.zeros((1,len(data)))
len_arr=0
for hang in range(0,len(data)):
lie=0
for i in range(0,len(data[0])):
if 1 == data[hang][i]:
for j in range(0,len(arr)):
narr[j][lie]=arr[j][i]
lie+=1
x = (np.transpose(narr)).T[:, :-1]
y = (np.transpose(narr)).T[:, -1]
regr = linear_model.LinearRegression()
regr.fit(x, y)
xPred = (np.transpose(narr)).T[:, :-1]
dyPred = (regr.predict(xPred)-np.transpose(narr)).T[:, -1]
q[0][len_arr] = sum(map(abs, dyPred))
len_arr+=1
q_min = min(q[0])
for k in range(0,len(q[0])-1):
if q_min == q[0][k]:
break
#以上第一次选优结束
#以下开始写循环
for r in range(2,30):
zero = np.zeros([10,rect], dtype = int)
one = np.ones([10,rect], dtype = int)
for j in range(10):
i=random.randint(1,rect-1)
one[j][i] = zero[1][1]
for e in range(rect):
if data[k][e] == 0:
one[j][e] = zero[1][1]
data=one
arr=f.getcontent("data1.txt"," ")
narr=np.zeros((len(arr),len(arr[0])-r+1))
q=np.zeros((1,len(data)))
len_arr=0
for hang in range(0,len(data)):
lie=0
for i in range(0,len(data[0])):
if 1 == data[hang][i]:
for j in range(0,len(arr)):
narr[j][lie] = arr[j][i]
lie+=1
x = (np.transpose(narr)).T[:, :-1]
y = (np.transpose(narr)).T[:, -1]
regr = linear_model.LinearRegression()
regr.fit(x, y)
xPred = (np.transpose(narr)).T[:, :-1]
dyPred = (regr.predict(xPred)-np.transpose(narr)).T[:, -1]
q[0][len_arr] = sum(map(abs, dyPred))
len_arr+=1
q_min = min(q[0])
for k in range(0,len(q[0])-1):
if q_min == q[0][k]:
break
r+=1
print data[k]
print q_min
import sys
import csv
import math
import random
import numpy as np
from numpy import genfromtxt
from sklearn import datasets, linear_model
import file_io as f
rect = 58
data = np.zeros([10,rect], dtype = int)
for j in range(10):
for i in range(10):
x = np.ones(rect)
y = np.random.random_integers(rect-2)
x[y]='0'
data[j]=x
j+=1
arr=f.getcontent("data1.txt"," ")
narr=np.zeros((len(arr),len(arr[0])-1))
q=np.zeros((1,len(data)))
len_arr=0
for hang in range(0,len(data)):
lie=0
for i in range(0,len(data[0])):
if 1 == data[hang][i]:
for j in range(0,len(arr)):
narr[j][lie]=arr[j][i]
lie+=1
x = (np.transpose(narr)).T[:, :-1]
y = (np.transpose(narr)).T[:, -1]
regr = linear_model.LinearRegression()
regr.fit(x, y)
xPred = (np.transpose(narr)).T[:, :-1]
dyPred = (regr.predict(xPred)-np.transpose(narr)).T[:, -1]
q[0][len_arr] = sum(map(abs, dyPred))
len_arr+=1
q_min = min(q[0])
for k in range(0,len(q[0])-1):
if q_min == q[0][k]:
break
#以上第一次选优结束
#以下开始写循环
for r in range(2,30):
zero = np.zeros([10,rect], dtype = int)
one = np.ones([10,rect], dtype = int)
for j in range(10):
i=random.randint(1,rect-1)
one[j][i] = zero[1][1]
for e in range(rect):
if data[k][e] == 0:
one[j][e] = zero[1][1]
data=one
arr=f.getcontent("data1.txt"," ")
narr=np.zeros((len(arr),len(arr[0])-r+1))
q=np.zeros((1,len(data)))
len_arr=0
for hang in range(0,len(data)):
lie=0
for i in range(0,len(data[0])):
if 1 == data[hang][i]:
for j in range(0,len(arr)):
narr[j][lie] = arr[j][i]
lie+=1
x = (np.transpose(narr)).T[:, :-1]
y = (np.transpose(narr)).T[:, -1]
regr = linear_model.LinearRegression()
regr.fit(x, y)
xPred = (np.transpose(narr)).T[:, :-1]
dyPred = (regr.predict(xPred)-np.transpose(narr)).T[:, -1]
q[0][len_arr] = sum(map(abs, dyPred))
len_arr+=1
q_min = min(q[0])
for k in range(0,len(q[0])-1):
if q_min == q[0][k]:
break
r+=1
print data[k]
print q_min