Mwanzo wa Training/Testing
- Kuondoka Kwenye Kufikia Ukubwa
- Pya Zaidi Mashauko ya Kipindi
Kuwaumilia modeli
Kwenye ujuzi wa kompyuta, tunengeneza modeli ili kuwaumilia matokeo ya matukio yasiyotaka, kama kwenye kichapisho kilichotokana na vitabu vitengeneza kidhibiti cha matokeo ya matokeo ya kipato kwa sababu tukisikia ukweli wa kidumu na kuanzia kwa matumizi ya motori.
Kuwaumilia modeli inayotumika kwa kiasi kikubwa, tunaweza kutumia mbinu inayoitwa mtaarifu/tukio.
Je, mtaarifu/tukio ni nini?
Mtaarifu/tukio ni mbinu ya kumtazama kidhibiti cha modeli.
Kwa sababu inatathirika kwa mbinu ya mtaarifu/tukio kwa sababu tumezotua data set kwa pili: kundi la kufanyia na kundi la kumtazama.
80% inayotumika kufanyia kumengeneza, 20% inayotumika kumtazama.
Wewe unaweza kutumia kundi la kufanyia kumengeneza modeli.
Wewe unaweza kutumia kundi la tukio la kumtazama modeli.
Kumweza modeli ni kumengeneza modeli.
Kuwaumilia modeli ni kumtaka kumtazama kidhibiti cha modeli.
Kuanza na data set.
Kuanza na data set ya kueleza.
Data set yanaonyesha wengi 100 wa mbali ya duka na kazi yao ya kumua.
Mfano
import numpy import matplotlib.pyplot as plt numpy.random.seed(2) x = numpy.random.normal(3, 1, 100) y = numpy.random.normal(150, 40, 100) / x plt.scatter(x, y) plt.show()
Matokeo:
Ukubwa wa x na upekee wa dakika kabla ya kutoa mali.
Ukubwa wa y na upekee wa uwanja wa kutoa mali.

Kuwasilisha kikao cha maelezo/kikao cha tukio cha maelezo
Kikao cha maelezo kinahitaji kufikiria 80% ya data ya kwanza kwa uchaguzi wa muda wa muda.
Kikao cha tukio cha maelezo kinahitaji kufikiria 20% ya data zote.
train_x = x[:80] train_y = y[:80] test_x = x[80:] test_y = y[80:]
Kumonisha kikao cha maelezo
Kumonisha kikao cha tukio cha maelezo kama kikao cha maelezo cha maelezo:
Mfano
plt.scatter(train_x, train_y) plt.show()
Matokeo:
Kikao cha tukio cha maelezo kinacholokeshwa kama data ya kwanza, kinaonesha kwamba inaonesha uhusiano:

Kumonisha kikao cha tukio cha maelezo
Kumtaka kwamba kikao cha tukio cha maelezo haitakuwa kina wengi, tunapitia kikao cha tukio cha maelezo.
Mfano
plt.scatter(test_x, test_y) plt.show()
Matokeo:
Kikao cha tukio cha maelezo kinacholokeshwa kama data ya kwanza:

Kumaliza data set
Data set ni nini? Tunasema kwamba ni huzi kumaliza kirekili cha jumla, tumezaa kumaliza lini ya kirekili cha jumla.
Kumaliza lini kwenye data points tunatumia module ya matplotlib plott()
Method:
Mfano
Kuzinga ukabamizi wa kirekili cha jumla kwenye data points:
import numpy import matplotlib.pyplot as plt numpy.random.seed(2) x = numpy.random.normal(3, 1, 100) y = numpy.random.normal(150, 40, 100) / x train_x = x[:80] train_y = y[:80] test_x = x[80:] test_y = y[80:] mymodel = numpy.poly1d(numpy.polyfit(train_x, train_y, 4)) myline = numpy.linspace(0, 6, 100) plt.scatter(train_x, train_y) plt.plot(myline, mymodel(myline)) plt.show()
Matokeo:

Hii inasaidia kusaidia maelezo ya kufikiria kufikiria ukabamizi wa kirekili cha jumla kwa data yote, na kwamba inaingia kumtumia matokeo ya hili inaonesha kwamba inaingia kumaliza matokeo ya muda wa kufikiria kwa data yote. Kwa mfano: hii inaonyesha kwamba mwanachama anayoshinda 6 dakika katika duka inaingia kufikiria 200. Hii inaonesha kwamba hii ni hatari ya kumaliza kwa upekee.
Tunguza R-squared score, hii inaonyesha kinaonesha inaingia modeli kwa data yangu.
R2
Naonesha R2, au R-square (R-squared) kinaonesha?
Hii inamengeneza uhusiano wa x na y, kwa uangalifu kati ya 0 na 1, ambapo 0 inaonyesha ukoweza na ukikosea, na 1 inaonyesha uhusiano wa pekee.
Sklearn module ina moduli inayoitwa rs_score()
Tunaona hii na hii method, hii inaona kusaidia kumaliza hii uhusiano.
Tunatukia kumaliza matokeo ya wakati wa muda wa kuzungumza katika duka na kina ya kutosha yao.
Mfano
Hapa, tunatukia kumaliza matokeo ya data za maelezo katika ukabamizi wa kirekili cha jumla.
import numpy from sklearn.metrics import r2_score numpy.random.seed(2) x = numpy.random.normal(3, 1, 100) y = numpy.random.normal(150, 40, 100) / x train_x = x[:80] train_y = y[:80] test_x = x[80:] test_y = y[80:] mymodel = numpy.poly1d(numpy.polyfit(train_x, train_y, 4)) r2 = r2_score(train_y, mymodel(train_x)) print(r2)
Mafano:Matokeo 0.799 inaonyesha kwamba uhusiano ni bora.
Kuingiza kikao cha tukio
Sasa, ukikwaja data ya maelezo, tunatuma modeli bora.
Kisha, tunatumia data ya maelezo kwa kumtuta modeli, kumtathirisha inaingia picha sawa.
Mfano
Tunapendelea kubadilisha R2 kwa matumizi ya data ya matokeo kwa sababu ya kusaidia:
import numpy from sklearn.metrics import r2_score numpy.random.seed(2) x = numpy.random.normal(3, 1, 100) y = numpy.random.normal(150, 40, 100) / x train_x = x[:80] train_y = y[:80] test_x = x[80:] test_y = y[80:] mymodel = numpy.poly1d(numpy.polyfit(train_x, train_y, 4)) r2 = r2_score(test_y, mymodel(test_x)) print(r2)
Mafano:Matokeo 0.809 inaonesha kwamba modeli hii inafikia kwa kipendekezo cha matokeo, tunahakika tunaweza kutumia modeli hii kuandika matokeo ya mpya.
Matokeo ya Kipendekezo
Sasa tumekubaliana kwamba modeli yetu inaonesha kwa uangalifu, inafanya kuanza kuandika matokeo ya mpya.
Mfano
Kama mwanasheria anapokaa kwenye duka kwa 5 dakika, anaweza kutumia nguvu gani?
print(mymodel(5))
Mfano huu inapredicisha kwamba mwanasheria amekutumia 22.88 dollari, kunaonesha kwamba inakusikitika na chati:

- Kuondoka Kwenye Kufikia Ukubwa
- Pya Zaidi Mashauko ya Kipindi