Cara memperpanjang garis paling pas dengan python

Excel memungkinkan Anda menambahkan bagan untuk memungkinkan orang lain memvisualisasikan data yang Anda sajikan. Karena ada berbagai grafik yang tersedia, seperti garis dan batang, tentukan gaya grafik terbaik yang sesuai dengan jenis data yang ingin Anda tampilkan, lalu sesuaikan grafik Anda dengan menambahkan garis tren untuk menarik perhatian pada tren pada data yang ditampilkan. Meskipun garis tren biasanya menjangkau dari titik data awal hingga akhir, Anda dapat memperluasnya melampaui titik ini

  1. 1

    Luncurkan Excel dan buka spreadsheet yang berisi bagan dengan garis tren yang ingin Anda perpanjang. Klik garis tren untuk memilihnya

  2. 2

    Klik tab "Tata Letak" dan cari grup "Analisis". Klik tombol "Trendline" dan pilih "More Trendline Options. " Ini membuka jendela terpisah

  3. 3

    Klik tab "Opsi". Klik panah "Atas" di bidang "Maju" untuk memilih kenaikan guna memperpanjang garis tren ke kanan. Klik panah "Atas" di bidang "Mundur" untuk memilih kenaikan guna memperpanjang garis tren ke kiri. Klik tombol "OK" untuk menerapkan perubahan pada garis tren

    Saya perlu bantuan untuk memperluas lini OLS saya yang paling cocok - tidak yakin bagaimana melakukannya? . )

    Ini plot saya

    Cara memperpanjang garis paling pas dengan python

    Sekarang, dengan skenario ini R2 saya (kuadrat) sangat tinggi dan saya menemukan baris yang paling cocok ini valid per kata, oleh karena itu, ketika menggulir lebih jauh pada rentang sumbu x / y saya ingin membuat baris ini diperpanjang, katakanlah untuk naik

    Tolong beri tahu saya cara mendekati masalah ini, semua bantuan dihargai

Pilih situs web untuk mendapatkan konten terjemahan jika tersedia dan lihat acara dan penawaran lokal. Berdasarkan lokasi Anda, sebaiknya pilih.

Anda juga dapat memilih situs web dari daftar berikut

Cara Mendapatkan Performa Situs Terbaik

Pilih situs China (dalam bahasa China atau Inggris) untuk kinerja situs terbaik. Situs negara MathWorks lainnya tidak dioptimalkan untuk kunjungan dari lokasi Anda

Selamat datang di bagian ke-9 dari tutorial regresi pembelajaran mesin kami dalam seri tutorial Pembelajaran Mesin dengan Python kami. Kami telah berupaya menghitung regresi, atau baris yang paling cocok, untuk kumpulan data tertentu dengan Python. Sebelumnya, kita menulis sebuah fungsi yang akan mengumpulkan kemiringan, dan sekarang kita perlu menghitung perpotongan y. Kode kami sampai saat ini

from statistics import mean
import numpy as np

xs = np.array([1,2,3,4,5], dtype=np.float64)
ys = np.array([5,4,6,5,6], dtype=np.float64)

def best_fit_slope(xs,ys):
    m = (((mean(xs)*mean(ys)) - mean(xs*ys)) /
         ((mean(xs)*mean(xs)) - mean(xs*xs)))
    return m

m = best_fit_slope(xs,ys)
print(m)

Sebagai pengingat, perhitungan untuk titik potong y yang paling cocok adalah

Cara memperpanjang garis paling pas dengan python

Yang ini akan sedikit lebih mudah daripada kemiringannya. Kami dapat menyimpan beberapa baris dengan memasukkan ini ke dalam fungsi kami yang lain. Kami akan mengganti namanya menjadi

def best_fit_slope_and_intercept(xs,ys):
    m = (((mean(xs)*mean(ys)) - mean(xs*ys)) /
         ((mean(xs)*mean(xs)) - mean(xs*xs)))
    
    b = mean(ys) - m*mean(xs)
    
    return m, b
_0

Selanjutnya kita bisa mengisi.

def best_fit_slope_and_intercept(xs,ys):
    m = (((mean(xs)*mean(ys)) - mean(xs*ys)) /
         ((mean(xs)*mean(xs)) - mean(xs*xs)))
    
    b = mean(ys) - m*mean(xs)
    
    return m, b
_1, dan kembalikan m dan b

def best_fit_slope_and_intercept(xs,ys):
    m = (((mean(xs)*mean(ys)) - mean(xs*ys)) /
         ((mean(xs)*mean(xs)) - mean(xs*xs)))
    
    b = mean(ys) - m*mean(xs)
    
    return m, b
_

Sekarang kita dapat memanggilnya dengan.

def best_fit_slope_and_intercept(xs,ys):
    m = (((mean(xs)*mean(ys)) - mean(xs*ys)) /
         ((mean(xs)*mean(xs)) - mean(xs*xs)))
    
    b = mean(ys) - m*mean(xs)
    
    return m, b
_2

Kode lengkap kami hingga saat ini

from statistics import mean
import numpy as np

xs = np.array([1,2,3,4,5], dtype=np.float64)
ys = np.array([5,4,6,5,6], dtype=np.float64)

def best_fit_slope_and_intercept(xs,ys):
    m = (((mean(xs)*mean(ys)) - mean(xs*ys)) /
         ((mean(xs)*mean(xs)) - mean(xs*xs)))
    
    b = mean(ys) - m*mean(xs)
    
    return m, b

m, b = best_fit_slope_and_intercept(xs,ys)

print(m,b)

Keluaran seharusnya.

def best_fit_slope_and_intercept(xs,ys):
    m = (((mean(xs)*mean(ys)) - mean(xs*ys)) /
         ((mean(xs)*mean(xs)) - mean(xs*xs)))
    
    b = mean(ys) - m*mean(xs)
    
    return m, b
_3

Sekarang kita hanya perlu membuat garis untuk data

Cara memperpanjang garis paling pas dengan python

Ingatlah bahwa

def best_fit_slope_and_intercept(xs,ys):
    m = (((mean(xs)*mean(ys)) - mean(xs*ys)) /
         ((mean(xs)*mean(xs)) - mean(xs*xs)))
    
    b = mean(ys) - m*mean(xs)
    
    return m, b
_4. Kita bisa membuat fungsi untuk ini. atau cukup hancurkan dalam satu 1-liner untuk loop

regression_line = [(m*x)+b for x in xs]
_

Loop for 1-liner di atas sama dengan melakukan

regression_line = []
for x in xs:
    regression_line.append((m*x)+b)
_

Hebat, mari kita menuai buah dari kerja keras kita akhirnya. Tambahkan impor berikut

import matplotlib.pyplot as plt
from matplotlib import style
style.use('ggplot')

Ini akan memungkinkan kita membuat grafik, dan membuatnya tidak terlalu jelek. Sekarang di akhir

plt.scatter(xs,ys,color='#003F72')
plt.plot(xs, regression_line)
plt.show()

Pertama kita memplot sebaran data yang ada, lalu kita membuat grafik garis regresi kita, lalu terakhir menunjukkannya. Jika Anda tidak terbiasa dengan , Anda dapat melihat seri tutorial Visualisasi Data dengan Python dan Matplotlib

Keluaran

Cara memperpanjang garis paling pas dengan python

Selamat karena sudah sejauh ini. Jadi, bagaimana Anda bisa benar-benar membuat prediksi berdasarkan model yang baru saja Anda buat ini? . Misalnya, mari kita prediksi beberapa poin

predict_x = 7

Kami memiliki data input kami, "fitur" kami. Apa labelnya?

predict_y = (m*predict_x)+b
print(predict_y)

Keluaran.

def best_fit_slope_and_intercept(xs,ys):
    m = (((mean(xs)*mean(ys)) - mean(xs*ys)) /
         ((mean(xs)*mean(xs)) - mean(xs*xs)))
    
    b = mean(ys) - m*mean(xs)
    
    return m, b
_6

Kami bahkan dapat membuat grafiknya

predict_x = 7
predict_y = (m*predict_x)+b

plt.scatter(xs,ys,color='#003F72',label='data')
plt.plot(xs, regression_line, label='regression line')
plt.legend(loc=4)
plt.show()

Keluaran

Cara memperpanjang garis paling pas dengan python

Kami sekarang tahu cara membuat model kami sendiri, yang bagus, tetapi kami masih kehilangan sesuatu yang tidak terpisahkan. seberapa akurat model kita?

Bagaimana cara memperpanjang garis tren di Matplotlib?

jadi metode yang lebih umum adalah perpanjang x dan gunakan poly1d(z) untuk menghitung garis yang diperluas . z adalah deskripsi garis yang dipasang, jadi memberi nilai x ke z akan menarik garis. jika Anda memperbesar di dekat (0,0), Anda akan melihat itu tidak melewati titik asal.

Bagaimana Anda menambah lebar dan tinggi plot dengan Python?

Atur Tinggi dan Lebar Gambar di Matplotlib .
impor matplotlib. pyplot sebagai plt
impor numpy sebagai np
x = np. rentang(0, 20, 0. 2)
y = np. dosa(x)
z = np. cos(x)
gbr = plt. angka()
ara. set_fight(4)
ara. set_figwidth(8)

Bagaimana Anda memasukkan garis ke sebar plot di Python?

Buat figur baru, atau aktifkan figur yang sudah ada dengan ukuran figur (4, 3), menggunakan metode figure()
Tambahkan sumbu ke gambar saat ini dan jadikan sumbu saat ini, buat x menggunakan plt. .
Gambar titik pencar menggunakan metode scatter()
Gambar garis menggunakan kapak. .
Tetapkan label sumbu X menggunakan plt. .
Atur label sumbu Y menggunakan plt