'Python' 카테고리의 다른 글
Python 강좌4 정규식 regular expression (0) | 2018.03.19 |
---|---|
Python 강좌3 자료형. 수/문자열 (1) | 2018.03.16 |
Python 강좌2 if/for/while/function (0) | 2018.03.15 |
Linear regression (0) | 2018.03.13 |
[python] 보간법 interpolate 사용하기 (0) | 2017.05.25 |
Python 강좌4 정규식 regular expression (0) | 2018.03.19 |
---|---|
Python 강좌3 자료형. 수/문자열 (1) | 2018.03.16 |
Python 강좌2 if/for/while/function (0) | 2018.03.15 |
Linear regression (0) | 2018.03.13 |
[python] 보간법 interpolate 사용하기 (0) | 2017.05.25 |
두 쌍 x,y 데이터 리스트로 데이터에 가장 근접한 하나의 직선 그리기.
위키에 나오는 선형 회귀
통계학에서, 선형 회귀(線型回歸, 영어: linear regression)는 종속 변수 y와 한 개 이상의 독립 변수 (또는 설명 변수) X와의 선형 상관 관계를 모델링하는 회귀분석 기법이다. 한 개의 설명 변수에 기반한 경우에는 단순 선형 회귀, 둘 이상의 설명 변수에 기반한 경우에는 다중 선형 회귀라고 한다.[참고 1]
선형 회귀는 선형 예측 함수를 사용해 회귀식을 모델링하며, 알려지지 않은 파라미터는 데이터로부터 추정한다. 이렇게 만들어진 회귀식을 선형 모델이라고 한다.
아래 예에서는 data1의 x, y를 list1의 5열, 7열로 보고,
data2의 x, y를 list의 6열, 7열로 보았음.
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
list1 = [['2012', '1', '3', '1', '832.0', '261.0', '100.00'],
['2012', '1', '5', '1', '507.0', '193.0', '92.50'],
['2012', '2', '3', '1', '412.0', '200.0', '95.00'],
['2012', '2', '5', '1', '560.0', '335.0', '90.00'],
['2012', '3', '3', '1', '584.0', '205.0', '100.00'],
['2012', '3', '5', '1', '595.0', '162.0', '92.50'],
['2012', '4', '3', '1', '504.0', '227.0', '100.00'],
['2012', '4', '5', '1', '591.0', '264.0', '92.50'],
['2012', '5', '3', '1', '489.0', '234.0', '100.00'],
['2012', '5', '5', '1', '561.0', '292.0', '95.00'],
['2012', '6', '3', '1', '622.0', '221.0', '100.00'],
['2012', '6', '5', '1', '478.0', '204.0', '92.50'],
['2012', '7', '3', '1', '974.0', '290.0', '100.00'],
['2012', '7', '5', '1', '553.0', '269.0', '95.00'],
['2012', '8', '3', '1', '473.0', '158.0', '100.00'],
['2012', '8', '5', '1', '526.0', '174.0', '92.50'],
['2012', '9', '3', '1', '701.0', '189.0', '95.00'],
['2012', '9', '5', '1', '502.0', '179.0', '97.50'],
['2012', '10', '3', '1', '470.0', '184.0', '100.00'],
['2012', '10', '5', '1', '579.0', '218.0', '92.50']]
def drawabline(xy):
slope, intercept = np.polyfit(xy[:,0], xy[:,1], 1)
print(slope, intercept)
# or this
# slope, intercept, r_value, p_value, stderr = stats.linregress(data2)
# print(slope, intercept)
abline_values = [slope * i + intercept for i in xy[:,0]]
plt.figure()
plt.scatter(xy[:,0], xy[:,1])
plt.plot(xy[:,0], abline_values, 'b')
plt.show()
data = np.asarray(list1, dtype=np.float)
data1 = np.array( data[:,(4,6)])
print( 'data1=', data1 )
drawabline(data1)
data2 = np.array( data[:,(5,6)])
print( 'data2=', data2 )drawabline(data2)
직선의 방정식으로 기울기, y절편값이 나왔으니, 임의의 x값에 대해서 y값 추정이 가능.
y = slope * x + intercept
출력 결과
Python 강좌4 정규식 regular expression (0) | 2018.03.19 |
---|---|
Python 강좌3 자료형. 수/문자열 (1) | 2018.03.16 |
Python 강좌2 if/for/while/function (0) | 2018.03.15 |
Python 강좌1. 산술연산, range (0) | 2018.03.14 |
[python] 보간법 interpolate 사용하기 (0) | 2017.05.25 |
전에 restart 스크립트가 장애발생 위험이 있어서 개선이 필요하다고 했다.
catalina.sh에서 CATALINA_PID 경로를 지정했으면, tomcat 구동시 pid 파일이 생성된다.
PID=`cat "$CATALINA_PID"`
ps -p $PID > /dev/null 2>&1
if [ $? -eq 0 ] ; then
echo "process is alive."
else
echo "process is not found."
fi
#chkconfig --add tomcat7
#chkconfig --level 2345 tomcat7 on
#chkconfig --list tomcat7
# cat tomcat7
---------------------------------------------------
#!/bin/bash
#
# tomcat This shell script takes care of starting and stopping Tomcat
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Short-Description: start and stop tomcat
### END INIT INFO
TOMCAT_USER=tomcat
TOMCAT_HOME="/usr/tomcat7"
CATALINA_PID=/usr/tomcat7/bin/tomcat.pid
SHUTDOWN_WAIT=45
tomcat_pid() {
#톰캣 pid 구하는 방법
PID=`cat "$CATALINA_PID" 2>&1`
#현재 pid가 떠 있는지 확인
ps -p $PID > /dev/null 2>&1
if [ $? -eq 0 ] ; then
# echo "process is alive."
echo $PID
else
# echo "process is not found."
echo ""
fi
}
start() {
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Tomcat is already running (pid: $pid)"
else
# Start tomcat
echo "Starting tomcat"
/bin/su - -c "cd $TOMCAT_HOME/bin && $TOMCAT_HOME/bin/startup.sh" $TOMCAT_USER
fi
return 0
}
stop() {
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Stoping Tomcat"
/bin/su - -c "cd $TOMCAT_HOME/bin && $TOMCAT_HOME/bin/shutdown.sh" $TOMCAT_USER
let kwait=$SHUTDOWN_WAIT
count=0
count_by=5
until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
do
echo "Waiting for processes to exit. Timeout before we kill the pid: ${count}/${kwait}"
sleep $count_by
let count=$count+$count_by;
done
if [ $count -gt $kwait ]; then
echo "Killing processes which didn't stop after $SHUTDOWN_WAIT seconds"
kill -9 $pid
fi
else
echo "Tomcat is not running"
fi
return 0
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Tomcat is running with pid: $pid"
else
echo "Tomcat is not running"
fi
;;
esac
exit 0
[JavaScript] 스탑와치 밀리초/StopWatch milliseconds (0) | 2019.08.27 |
---|---|
Java RSA 간단한 비대칭키 암호 서명 검증 테스트 (0) | 2019.08.14 |
tomcat을 root말고 다른 계정으로 운영하기 (0) | 2018.03.10 |
자주 사용하는 이클립스(eclipse) 단축키 (0) | 2018.03.07 |
[JS] 입력창에 특정키, 숫자만 입력받기(실시간) (0) | 2018.03.06 |
Java RSA 간단한 비대칭키 암호 서명 검증 테스트 (0) | 2019.08.14 |
---|---|
tomcat7 구동 스크립트 업데이트 버전 (0) | 2018.03.11 |
자주 사용하는 이클립스(eclipse) 단축키 (0) | 2018.03.07 |
[JS] 입력창에 특정키, 숫자만 입력받기(실시간) (0) | 2018.03.06 |
[CSS] link a tag 색깔, 밑줄 제거 (0) | 2018.03.06 |
+정규식으로 스트링의 일부를 찾아 추출한다.
input html : <a class="i-e" href="DATA IM INTERESTED IN">
<a class="chrome" href="nono chrome">
<a class="i-e" href="ie like1">
<a class="chrome" href="nono chrome">
<a class="i-e" href="ie like2">
<a class="chrome" href="nono chrome">
<a class="chrome" href="nono chrome">
<a class="i-e" style="font-size:10pt;" href="ie like3">
<a class="chrome" href="nono chrome">
<a class="chrome" href="nono chrome">
<a class="i-e" href="ie like4"> <a class="i-e" href="ie like5">
match : href="DATA IM INTERESTED IN"
URL : DATA IM INTERESTED IN
match : href="ie like1"
URL : ie like1
match : href="ie like2"
URL : ie like2
match : style="font-size:10pt;" href="ie like3"
URL : ie like3
match : href="ie like4"
URL : ie like4
match : href="ie like5"
Vector 3 (0) | 2018.05.23 |
---|---|
Vector 2 (0) | 2018.05.18 |
Vector 1 (0) | 2018.05.16 |
gdb로 디버깅하기 (0) | 2018.03.06 |
mutex 동기화 예제 (1) | 2018.03.06 |
자주 사용하는 이클립스(eclipse) 단축키
개발툴에서는 단축키 사용이 필수인데, 여러가지를 쓰다보면 가끔 기억이 나지 않을 때가 종종 있습니다. 주로 많이 쓰는 이클립스 단축키들을 정리해봤습니다.
+ 일반적인 기능 단축키
tomcat7 구동 스크립트 업데이트 버전 (0) | 2018.03.11 |
---|---|
tomcat을 root말고 다른 계정으로 운영하기 (0) | 2018.03.10 |
[JS] 입력창에 특정키, 숫자만 입력받기(실시간) (0) | 2018.03.06 |
[CSS] link a tag 색깔, 밑줄 제거 (0) | 2018.03.06 |
[JS] iframe 페이지 직접 접속 막기 (0) | 2018.03.06 |
입력창에 실시간으로 숫자키만 입력 받도록 하고, 출력하는 기능예제입니다.
보통은 onsubmit 이나 onchange에서 처리해도 되지만, 키 타이핑시 마다 즉시 체크하도록 하여 아예 입력이 안 되도록 합니다.
검사 루틴만 변경하면 원하는 key typing만 받도록 처리할 수 있습니다.
<input id="myinput" onkeypress="javascript:return myFunction(event);" onkeyup="myFunction2();">
</input>
only numbers...
<p id="demo"></p>
<script>
function myFunction(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
function myFunction2() {
var x = document.getElementById("myinput").value;
document.getElementById("demo").innerHTML = "You selected: " + x;
}
</script>
tomcat을 root말고 다른 계정으로 운영하기 (0) | 2018.03.10 |
---|---|
자주 사용하는 이클립스(eclipse) 단축키 (0) | 2018.03.07 |
[CSS] link a tag 색깔, 밑줄 제거 (0) | 2018.03.06 |
[JS] iframe 페이지 직접 접속 막기 (0) | 2018.03.06 |
[JS] 입력값 실시간 검증 (0) | 2018.03.06 |
링크 태그인 a를 보면 기본적으로 밑줄이 있고, 방문했던 링크는 색깔도 변한다.
보기에 안 좋을 수 있다.
css를 추가하여 간단하게 깔끔하게 원하는대로 변경할 수 있다.
예)
a:link { color:#0000ff; text-decoration: none;}
a:visited { color:#0000ff; text-decoration: none;}
a:hover { color:#cc0000; text-decoration: none;}
a:active { color:#ff0000; text-decoration: none;}
자주 사용하는 이클립스(eclipse) 단축키 (0) | 2018.03.07 |
---|---|
[JS] 입력창에 특정키, 숫자만 입력받기(실시간) (0) | 2018.03.06 |
[JS] iframe 페이지 직접 접속 막기 (0) | 2018.03.06 |
[JS] 입력값 실시간 검증 (0) | 2018.03.06 |
[JS] 폼 입력값 검증 (0) | 2018.03.06 |
frame을 나누어 메뉴페이지와 내용 페이지들을 분리하여 구성하고 있는데, 외부에서 직접 내용 페이지 URL로 접근할때 메뉴 페이지나 상단 타이틀 페이지 등 다른 페이지들이 출력되지 않는 문제가 있다.
frame 내부 페이지 직접 접근시 최상위 페이지로 이동하게 만드는 기능.
서브페이지 코드에 이동할 최상위 페이지를 지정해 둔다. 메뉴 선택을 바로 들어갈 수 있도록 파라미터로 이동 메뉴를 준다.
<script>
// 프레임 페이지 직접 접근 차단. 메인 페이지로 이동
self.onload = function init() {
if ( self==top ) {
self.location = "/?menu=hash" ;
}
}
</script>
[JS] 입력창에 특정키, 숫자만 입력받기(실시간) (0) | 2018.03.06 |
---|---|
[CSS] link a tag 색깔, 밑줄 제거 (0) | 2018.03.06 |
[JS] 입력값 실시간 검증 (0) | 2018.03.06 |
[JS] 폼 입력값 검증 (0) | 2018.03.06 |
여러가지 이클립스 에러 해결 (0) | 2018.03.06 |
gdb 사용하기(디버깅)
Vector 3 (0) | 2018.05.23 |
---|---|
Vector 2 (0) | 2018.05.18 |
Vector 1 (0) | 2018.05.16 |
정규식으로 스트링 일부 추출하기 (0) | 2018.03.10 |
mutex 동기화 예제 (1) | 2018.03.06 |