디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[🔎질문] 비선형 회귀분석 결정계수 r2 최대한 높게

ㅇㅇ(221.153) 2022.05.31 18:15:34
조회 411 추천 0 댓글 10
														

그 지금 하려고 하는게 r2 값을 최대한 올려보려고 하고 있거든

지금 쓰는게 5차 함수 f(x,y) 꼴 다 쓰기는 힘들어서 그냥 저렇게만 넣었거든

저 상태로 계산하면 r2 이 0.95까지는 나옴

저거 최대한 1까지 올리는 방법 없을까?

1에 가까울수록 원래 데이터랑 값이 비슷하다거든


그냥 5차 함수 하나 하나 다 넣으면 값 비슷 하게 나오려나?

플롯은 이래 나옴


viewimage.php?id=3da4c42eeadc&no=24b0d769e1d32ca73deb8efa1bd8233c818608a2c6659a230cf64269cf99821ab1fa25e9c5c3e2c5553eb08ab6667ad8cdaa404f2ad9479392b904f757e74ff94674a0


저 밑에 까지 대부분 다 커버 하게 하고 싶은데

수식 자체를 잘못 고른걸까?



import numpy, scipy, scipy.optimize

import matplotlib

from mpl_toolkits.mplot3d import  Axes3D

from matplotlib import cm # to colormap 3D surfaces from blue to red

import matplotlib.pyplot as plt

import numpy as np

graphWidth = 800 # units are pixels

graphHeight = 600 # units are pixels

import pandas as pd

df = pd.read_excel(r'C:\Users\JRKIM\Desktop\data\2513data.xlsx')



# 3D contour plot lines

numberOfContourLines = 16


xData = df.loc[:,'TRUE_x_0']

yData = df.loc[:,'TRUE_y_0']

zData = df.loc[:,'dr']


# place the data in a single list

data = [xData, yData, zData]



def SurfacePlot(func, data, fittedParameters):

    f = plt.figure(figsize=(graphWidth/100.0, graphHeight/100.0), dpi=100)


    matplotlib.pyplot.grid(True)

    axes = Axes3D(f)


    # extract data from the single list

    x_data = data[0]

    y_data = data[1]

    z_data = data[2]


    xModel = numpy.linspace(min(x_data), max(x_data))

    yModel = numpy.linspace(min(y_data), max(y_data))

    X, Y = numpy.meshgrid(xModel, yModel)


    Z = func(numpy.array([X, Y]), *fittedParameters)


    axes.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, linewidth=1, antialiased=True, alpha = 0.3)


    axes.scatter(x_data, y_data, z_data) # show data along with plotted surface


    axes.set_title('Surface Plot (click-drag with mouse)') # add a title for surface plot

    axes.set_xlabel('X Data') # X axis data label

    axes.set_ylabel('Y Data') # Y axis data label

    axes.set_zlabel('Z Data') # Z axis data label


    plt.show()



def ContourPlot(func, data, fittedParameters):

    f = plt.figure(figsize=(graphWidth/100.0, graphHeight/100.0), dpi=100)

    axes = f.add_subplot(111)


    x_data = data[0]

    y_data = data[1]

    z_data = data[2]


    xModel = numpy.linspace(min(x_data), max(x_data), 20)

    yModel = numpy.linspace(min(y_data), max(y_data), 20)

    X, Y = numpy.meshgrid(xModel, yModel)


    Z = func(numpy.array([X, Y]), *fittedParameters)


    axes.plot(x_data, y_data, 'o')


    axes.set_title('Contour Plot') # add a title for contour plot

    axes.set_xlabel('X Data') # X axis data label

    axes.set_ylabel('Y Data') # Y axis data label


    CS = matplotlib.pyplot.contour(X, Y, Z, numberOfContourLines, colors='k')

    matplotlib.pyplot.clabel(CS, inline=1, fontsize=10) # labels for contours


    plt.show()




def ScatterPlot(data):

    f = plt.figure(figsize=(graphWidth/100.0, graphHeight/100.0), dpi=100)


    matplotlib.pyplot.grid(True)

    axes = Axes3D(f)


    # extract data from the single list

    x_data = data[0]

    y_data = data[1]

    z_data = data[2]


    axes.scatter(x_data, y_data, z_data)


    axes.set_title('Scatter Plot (click-drag with mouse)')

    axes.set_xlabel('X Data')

    axes.set_ylabel('Y Data')

    axes.set_zlabel('Z Data')


    plt.show()

    



def func(data, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p):


    # extract data from the single list

    x1 = data[0]

    x2 = data[1]


    return a*data[0]**5+b*x1**4+c*x1**3+d*x1**2+e*x1+f*x2**5+g*x2**4+h*x2**3+i*x2**2+j*x2+k*(x1**5)*(x2**5)+l*(x1**4)*(x2**4)+m*(x1**3)*(x2**3)+n*(x1**2)*(x2**2)+o*(x1)*(x2)+p



if __name__ == "__main__":    

    initialParameters = np.random.rand(16)


    # here a non-linear surface fit is made with scipy's curve_fit()

    fittedParameters, pcov = scipy.optimize.curve_fit(func, [xData, yData], zData, p0 = initialParameters, maxfev=10000000)


    ScatterPlot(data)

    SurfacePlot(func, data, fittedParameters)

    ContourPlot(func, data, fittedParameters)

  

    print('fitted parameters', fittedParameters)


    modelPredictions = func(data, *fittedParameters)

    


    absError = modelPredictions - zData


    SE = numpy.square(absError) # squared errors

    MSE = numpy.mean(SE) # mean squared errors

    RMSE = numpy.sqrt(MSE) # Root Mean Squared Error, RMSE

    Rsquared = 1.0 - (numpy.var(absError) / numpy.var(zData))

    print('RMSE:', RMSE)

    print('R-squared:', Rsquared)

    

    fi = fittedParameters

    

    xData = df.loc[:,'vx']

    yData = df.loc[:,'vy']

    zData = df.loc[:,'dr']


    # place the data in a single list

    data = [xData, yData, zData]


    

    t = fi[0]*data[0]**5+fi[1]*data[0]**4+fi[2]*data[0]**3+fi[3]*data[0]**2+fi[4]*data[0]+fi[5]*data[1]**5+fi[6]*data[1]**4+fi[7]*data[1]**3+fi[8]*data[1]**2+fi[9]*data[1]+fi🔟*(data[0]**5)*(data[1]**5)+fi[11]*(data[0]**4)*(data[1]**4)+fi[12]*(data[0]**3)*(data[1]**3)+fi[13]*(data[0]**2)*(data[1]**2)+fi[14]*(data[0])*(data[1])+fi[15]

    

    


추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
- 설문 해외에서 겪는 불합리한 대우에 대응 잘 할 것 같은 스타는? 운영자 25/11/03 - -
- AD 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
635 공지 가독성 좋은 f-string 을 쓰자 [9] 주넹갤로그로 이동합니다. 21.10.02 3612 10
1056 공지 (공지 요청)[질문지 양식] 복붙해 쓰시오. [4] 203.121.116.11갤로그로 이동합니다. 21.12.14 2523 5
634 공지 질문 올릴때 [2] 주넹갤로그로 이동합니다. 21.10.02 2678 5
178 공지 파이썬 공부할 때 참고할만한 것들 [7] 주넹갤로그로 이동합니다. 21.04.21 8327 7
1 공지 파이썬 미니 갤러리입니다. [9] 주넹갤로그로 이동합니다. 20.12.14 3424 7
2627 일반 진짜 코딩 과제 감을 못잡겠음 [4] ㅇㅇ(118.235) 10.31 36 0
2626 일반 ㄴㄷㅋㄷ 이거 5년전거 아님? 5년 전거로 공부해도되는거야? ㅇㅇ(118.37) 10.25 22 0
2625 일반 맥OS로 공부하는거 별로일까요? [1] ㅇㅇ(118.37) 10.25 33 0
2624 일반 입문 파이썬 공부하려는데요 인강좀 추천해주세요! ㅇㅇ(118.37) 10.25 44 0
2623 일반 코딩 1도 모르는데 [5] ㅇㅇ(119.199) 10.13 85 0
2622 🔎질문 셀레니움 값이 입력이 안되는 현상이 있습니다 ㅇㅇ(39.124) 10.09 49 0
2621 일반 혼자공부하는파이썬 점프투파이썬 [1] ㅇㅇ(211.246) 09.18 157 0
2620 일반 님들이 싫어하는거 사용자 이름 없음(182.228) 08.05 88 0
2619 🔎질문 고등학생인데 질문 있어요. [3] ㅇㅇ(118.221) 07.30 164 0
2618 🔎질문 셀레니움으로 이미지 직접 다운로드 하는 방법 [1] ㅇㅇ(39.7) 07.14 97 0
2617 일반 ㄴㄷㅋㄷ 6시간짜리 5년전꺼라 버전이 달라서 어려움 [1] 빨간망토갤로그로 이동합니다. 05.30 182 0
2616 일반 파이썬 아다 떼려면 책 필요없고 ㄴㄷㅋㄷ 보면됨? [2] 빨간망토갤로그로 이동합니다. 05.23 330 0
2615 일반 7월부터 C언어 파이썬 동시에 해야하는데 [3] ㅇㅇ(118.235) 05.19 172 0
2614 🔎질문 라즈베리파이 프로그램 관련 질문 [2] ㅇㅇ(59.25) 05.04 130 0
2613 일반 에라토스테네스-신촌우왕 체식 신촌우왕갤로그로 이동합니다. 04.22 371 0
2612 일반 카메라 영상을 파이썬 flet으로 실시간 출력 작성 해보신분 [2] ㅇㅇ(218.150) 04.03 198 0
2611 🔎질문 혼자 공부하기 파이썬 책 추천좀 해주세요 [2] 토리짜갤로그로 이동합니다. 03.31 328 0
2610 일반 루트 k의 근사값 [1] 신촌우왕갤로그로 이동합니다. 03.28 186 0
2609 일반 루트 2의 근사값 [1] 신촌우왕갤로그로 이동합니다. 03.28 645 0
2608 일반 짝수 완전수 신촌우왕갤로그로 이동합니다. 03.28 113 0
2606 일반 유클리드 호제법 신촌우왕갤로그로 이동합니다. 03.22 149 0
2605 일반 비전공자 생초보 입문자 점프 투 파이썬으로 하면 되나여? [1] ㅇㅇ(223.39) 03.18 494 0
2604 일반 Int로 변환했는데 이구 왜이럴까요 [3] ㅇㅇ(210.126) 03.15 227 0
2603 일반 이거 어떻게 쳐요,,? [2] ㅇㅇ(221.154) 03.13 231 1
2602 🔎질문 고수님들 대학 파이썬 수업듣는데 질문 있어서 왔습니다 ㅠㅠ [2] ㅇㅇ(39.124) 03.11 259 0
2601 일반 파이썬으로 데이터 변형 하고 있는데 [3] ㅇㅇ(221.152) 03.08 198 1
2600 일반 게임에서 마우스 좌표는 다 잘 찍히는데 키보드가 안됨 ㅇㅇ(59.20) 03.04 155 0
2598 🔎질문 누가 좀 도와줘... [2] ㅇㅇ(115.138) 02.07 262 0
2596 🔎질문 점프투파이썬 굳이 책 사야 하나요? [2] 애개뤼를쮀에에엑갤로그로 이동합니다. 24.12.23 699 0
2595 일반 파이썬 윈도우앱에 광고달아보신분..? ㅇㅇ(222.236) 24.12.18 219 0
2594 일반 파이썬 모바일 추천 좀 ㅇㅇ(110.11) 24.12.08 245 0
2593 일반 r스튜디오 도와주십쇼 형님들.. [2] ㅇㅇ(121.154) 24.12.05 296 0
2591 일반 조졌다 [1] delegen(121.181) 24.11.18 276 0
2590 🔎질문 대학 입학전에 파이썬 공부해볼라고 하는데 [2] ㅇㅇ(110.10) 24.11.17 509 0
2589 일반 파이썬 이래 배우면 되나요?? [1] ㅇㅇ(119.195) 24.11.12 466 0
2588 🔎질문 가상환경 라이브러리 글로벌 문제 ㅇㅇ(123.214) 24.11.05 225 0
2587 일반 도와주세요 고수님들 [2] ㅇㅇ(118.217) 24.11.03 351 0
2586 일반 챗GPT 개같네 [2] 초보 파갤러(119.203) 24.10.27 495 0
2585 일반 파이썬 뭐 부터 건드려야함? 정처기 보유 [1] ㅇㅇ(118.216) 24.10.24 357 0
2582 일반 점프투파이썬이랑 나도코딩 입문강의중에 뭐 봐야함? [2] ㅇㅇ(118.235) 24.10.09 553 0
2581 일반 아이패드로 파이썬 [1] 쪼물갤로그로 이동합니다. 24.10.05 295 0
2580 일반 욜로yolo 객체학습 이후에 질문이 있습니다. [1] ㅇㅇ(117.52) 24.10.05 302 0
2579 일반 파이썬 초보 책추천 [20] 쪼물갤로그로 이동합니다. 24.10.05 5552 0
2577 일반 파린이 도와주세요 ㅠㅠ [2] ㅇㅇ(106.102) 24.10.03 287 0
2576 일반 ai로 댓글 다는거 [2] ㅇㅇ(220.95) 24.09.30 300 0
2575 일반 형님들 파이선 입문을 어떻게해야 좋을까요? [4] ㅇㅇ(106.101) 24.09.26 384 0
2574 일반 질문)본인:쌩초보, 나도코딩 따라 중, 목표는 객체인식, 적용은 시골축사 [12] ㅇㅇ(211.117) 24.09.25 483 0
2572 일반 fastapi 만든사람 콜롬비아 출신 고졸임 [1] ㅇㅇ갤로그로 이동합니다. 24.09.15 335 1
2570 🔎질문 도와주세요 파이참 실행이 아예 안되요 ㅠㅠ... [2] ㅇㅇ(211.252) 24.09.02 302 0
2569 일반 pygbag 아시는 분 ㅇㅇ(183.109) 24.08.20 226 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2