1. conda update conda
2. conda create -n qtEnv python=2.7 anaconda
3. activate qtEnv
---------------------------------------------------
next, we need to change qtpy 5 -> qtpy4
---------------------------------------------------
4. conda install -c anaconda pyqt=4.11.4
Done! go to visual studio and add python env
2017년 2월 19일 일요일
[c#] Data Split
public void SplitTrain_Test(float[][] data_x , float[] label , double trainSize ) {
int[] idx = new int[label.Length];
Parallel.For( 0 , label.Length , i => {
idx[i] = i;
} );
Random rnd = new Random();
int trainNum = (int)(label.Length *trainSize);
int[] rndIdx = idx.OrderBy(x => rnd.Next()).ToArray();
int[] trainIdx = idx.Take(trainNum).ToArray();
int[] testIdx = idx.Skip(trainNum).ToArray();
}
int[] idx = new int[label.Length];
Parallel.For( 0 , label.Length , i => {
idx[i] = i;
} );
Random rnd = new Random();
int trainNum = (int)(label.Length *trainSize);
int[] rndIdx = idx.OrderBy(x => rnd.Next()).ToArray
int[] trainIdx = idx.Take(trainNum).ToArray();
int[] testIdx = idx.Skip(trainNum).ToArray();
}
[C#] Linq Orderby
orderby 는 각 요소들에서 조건을 뽑아내서 서로 비교한다.
예를들어
orderby(x => x ) : 숫자 요소일시 1 ,2 ,3 순으로 정렬 / 문자시 알파벳순
orderby(x => x%2 ) : 숫자 요소일시 2,4,8 ... 1,3,5 순으로 정렬
여기서 만약 두 요소의 비교조건 값이 같을경우는 정렬이 안된다. 이떄 thenby 쓰면 된다.
예를들어
orderby(x => x ) : 숫자 요소일시 1 ,2 ,3 순으로 정렬 / 문자시 알파벳순
orderby(x => x%2 ) : 숫자 요소일시 2,4,8 ... 1,3,5 순으로 정렬
여기서 만약 두 요소의 비교조건 값이 같을경우는 정렬이 안된다. 이떄 thenby 쓰면 된다.
2017년 2월 6일 월요일
[C#] Closure 쓰는 이점
1. 원하는때 계산이 가능 : Lazy 개념
2. 파라미터를 킵해놓을 수 있기 때문에 병렬처리하는데 관리가 쉬워진다.
3. 파라미터의 보존이 가능해, 파라미터로 사용된 데이터가 바뀌고, 함수는 바뀌기전 파라미터를 사용해야 한다면, Closure 로 쉽게 처리가 가능
Ex)
Func method1( int input ){
return new Func((a,b)=>{
return input + a + b;
});
}
라고 하자.
어떤 시퀀스가
int x = 13;
int y = 0.1;
List> templist = new List>();
for( i => range(0 ,10)){
templist.add( method1(i*x) );
}
z = 0
for( i => range(0 ,10)){
z += templist[i]( y, y*i );
}
별 의미 없는 것이지만, 이런식으로 응용을 할 수 있다.
어떤 일정한 패턴의 계산 값들을 바로 계산하지 않고, 특정 시점에서 계산한다던지..
2. 파라미터를 킵해놓을 수 있기 때문에 병렬처리하는데 관리가 쉬워진다.
3. 파라미터의 보존이 가능해, 파라미터로 사용된 데이터가 바뀌고, 함수는 바뀌기전 파라미터를 사용해야 한다면, Closure 로 쉽게 처리가 가능
Ex)
Func
return new Func
return input + a + b;
});
}
라고 하자.
어떤 시퀀스가
int x = 13;
int y = 0.1;
List
for( i => range(0 ,10)){
templist.add( method1(i*x) );
}
z = 0
for( i => range(0 ,10)){
z += templist[i]( y, y*i );
}
별 의미 없는 것이지만, 이런식으로 응용을 할 수 있다.
어떤 일정한 패턴의 계산 값들을 바로 계산하지 않고, 특정 시점에서 계산한다던지..
[C#] Linq Exampled
var output1 = input.Select(x=>x*10);
var output2 = input.Where( x => x > 20);
var output3 = output1.Aggregate((x,y)=> x+y);
var output3 = output1.Aggregate(100,(x,y)=> x+y); // 첫 요소가 100으로 추가된다.
var output2 = input.Where( x => x > 20);
var output3 = output1.Aggregate((x,y)=> x+y);
var output3 = output1.Aggregate(100,(x,y)=> x+y); // 첫 요소가 100으로 추가된다.
2017년 1월 22일 일요일
[Env] VS , Chrome Shortcut
마우스 중앙버튼 Alt + f4
크롬 및 익스플로러 backward forward 를 Ctrl+- // Ctrl+0 으로(Vs와 같게)
마우스 앞뒤버튼 VS와 같게 매크로
크롬 및 익스플로러 backward forward 를 Ctrl+- // Ctrl+0 으로(Vs와 같게)
마우스 앞뒤버튼 VS와 같게 매크로
2017년 1월 12일 목요일
[python] numpy axis
axis는 n차원시 n번째 있는게 axis-n 이 된다. 즉
[
[1 ,1 ,1],
[10 ,20 ,30],
]
axis 1은
[
func([1,1,1] ),
func([10,20,30)
]
이 된다.
axis 0은
[
func([1,10] ),
func([2,20] ),
func([3,30] ),
]
이 된다.
axis0이라 함은 , axis1이 없다고 생각해
[
1,
10
]
만 있다고 생각하고 한다. 이런게 총 3개 있는것이다.
[
1,
10
]
[
[1 ,1 ,1],
[10 ,20 ,30],
]
axis 1은
[
func([1,1,1] ),
func([10,20,30)
]
이 된다.
axis 0은
[
func([1,10] ),
func([2,20] ),
func([3,30] ),
]
이 된다.
axis0이라 함은 , axis1이 없다고 생각해
[
1,
10
]
만 있다고 생각하고 한다. 이런게 총 3개 있는것이다.
[
1,
10
]
[
2,
20
]
2,
20
]
[
3,
30
]
2차원 이상은 다음을 돌려보자
a = [[
[1 ,1 ,1],
[10 ,20 ,30],
],
[
[1 ,1 ,1],
[10 ,20 ,30],
],
]
temp = [np.var(a,0)]
temp = np.asarray(temp)
print temp
3,
30
]
2차원 이상은 다음을 돌려보자
a = [[
[1 ,1 ,1],
[10 ,20 ,30],
],
[
[1 ,1 ,1],
[10 ,20 ,30],
],
]
temp = [np.var(a,0)]
temp = np.asarray(temp)
print temp
피드 구독하기:
글 (Atom)