Theory
શું હાજરી ખરેખર marks ખરીદે છે?
Staff room ની શાશ્વત ચર્ચા ResultDesk સુધી પહોંચે છે: "જે students વધુ હાજર રહે, એ વધુ score કરે... ખરું ને?"
તમારી પાસે બંને ખાનાં છે: હાજરીની ટકાવારી અને DBMS નો score, દરેક student દીઠ એક જોડી. સરેરાશ આ પતાવશે નહીં: પ્રશ્ન એકસાથે સાઠ students માં બે variables વચ્ચેના સંબંધ વિશે છે.
બરાબર એ પ્રશ્ન માટે બનેલો એક chart છે, અને એ આખા library નો સૌથી સાદો છે: દરેક student દીઠ એક ટપકું.
Theory
Noticeboard પર સાઠ ટાંકણી
દરેક student ને એક ટાંકણી આપો. વધુ હાજરી માટે એને જમણે સરકાવો, વધુ marks માટે ઉપર, અને board માં ખોસી દો.
પાછળ ખસો. જો ટાંકણીઓ જમણે જતાં ઉપર ઢળે, તો બંને વસ્તુ સાથે વધે છે. જો જમણે જતાં નીચે પડે, તો એક વધે અને બીજી ઘટે. જો એ આકાર વગરનું વાદળ હોય, તો કોઈ સંબંધ નહીં. Board સાઠ students વિશે એ રીતે ક્યારેય જૂઠું બોલતું નથી જે રીતે એક કિસ્સો બોલી શકે. એ board એ scatter plot છે.
Theory
Scatter, ઔપચારિક રીતે
plt.scatter(x, y) દરેક (x, y) જોડી દીઠ એક નિશાન દોરે છે, કશાથી જોડાયેલું નહીં.
એ ત્યારે વાપરો જ્યારે બંને અક્ષ માપ હોય અને પ્રશ્ન હોય "એ સાથે કેવી રીતે ખસે છે?"
વાદળ વાંચવું:
- ટપકાં ઉપર-જમણે ઢળે: ધન સહસંબંધ (વધુ હાજરી, વધુ marks).
- નીચે-જમણે ઢળે: ઋણ સહસંબંધ.
- આકાર વગરનું: કોઈ દેખાતો સંબંધ નહીં.
- વાદળથી દૂરનું ટપકું: outlier: એ ટોપર જે ક્યારેય હાજર રહેતો નથી, roll number થી તપાસવા લાયક.
Practical
હાજરીનો પ્રશ્ન, છ લીટીમાં જવાબ
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('students_full.csv') # roll, attendance, score
plt.scatter(df['attendance'], df['score'])
plt.title('Attendance vs DBMS score')
plt.xlabel('Attendance (%)')
plt.ylabel('DBMS score')
plt.show()
# optional polish: size and colour per point
# plt.scatter(df['attendance'], df['score'], s=20, c='teal')
# object API spelling (the syllabus's set_title):
# fig, ax = plt.subplots()
# ax.scatter(df['attendance'], df['score'])
# ax.set_title('Attendance vs DBMS score')
# ax.set_xlabel('Attendance (%)'); ax.set_ylabel('DBMS score')
This example runs in Gri-Learn on the web, where you can edit it and see the output.
Quiz
Scatter દેખાડે છે કે ટપકાં સ્પષ્ટપણે ઉપર અને જમણે ઢળે છે, અને એક ટપકું એકલું (35, 92) પર છે. તમે એ કેવી રીતે વાંચો?
- એકંદરે ધન સહસંબંધ, વત્તા એક outlier: ઓછી હાજરીવાળો ઊંચો scorer જેને અલગ તપાસવા જેવો છે
- કોઈ સંબંધ નહીં: એક અપવાદ ભાતને ખોટી પાડે છે
- ઋણ સહસંબંધ: એકલું ટપકું દિશા નક્કી કરે છે
- Chart અમાન્ય છે કારણ કે એક બિંદુ બંધબેસતું નથી
Show the answer
એકંદરે ધન સહસંબંધ, વત્તા એક outlier: ઓછી હાજરીવાળો ઊંચો scorer જેને અલગ તપાસવા જેવો છે
વાદળનો ઢાળ કથા વહન કરે છે: ઉપર-જમણે = ધન સહસંબંધ. એકલું દૂરનું ટપકું એ outlier છે: એ સાઠ students ની ભાત ઊલટાવતું નથી, પણ એક નજર લાયક છે (તેજસ્વી સ્વ-અભ્યાસી? data નોંધવાની ભૂલ?). ભાત સમૂહમાંથી વંચાય છે, અપવાદ ઉજાગર થાય છે, એકેય બીજાને ભૂંસતું નથી: આ બેવડું વાચન બરાબર એ છે જે પરીક્ષકોને આ-plot-વર્ણવો ના જવાબમાં જોઈએ છે.
Think first
સહસંબંધ એ ચુકાદો નથી
Scatter સાબિત કરે છે કે હાજરી અને marks સાથે વધે છે. આચાર્ય નિયમ ઘડે છે: "હાજરી 90% કરાવો, marks વધશે." Tap કરતાં પહેલાં: એ છલાંગમાં ખામી શું છે, એક વાક્યમાં?
Show the answer
સહસંબંધ એ કારણભાવ નથી: આલેખ દેખાડે છે કે બંને સાથે ખસે છે, એ નહીં કે એક બીજાનું કારણ છે. કદાચ નિષ્ઠાવાન students બંને વધુ હાજર રહે છે અને વધુ ભણે છે (ત્રીજું પરિબળ બંનેને ચલાવે છે); ખુરશીમાં શરીરો બેસાડવાથી લક્ષણની નકલ થાય છે, કારણની નહીં.
એક scatter તપાસ કરવાનું વાજબી ઠેરવી શકે; એ એકલું નિયમને વાજબી ઠેરવી શકે નહીં. તમે જણાવો છો એ કોઈ પણ સહસંબંધની બાજુમાં આ એક વાક્ય લખવું એ વિશ્લેષણ અને અંધશ્રદ્ધા વચ્ચેનો ફરક છે.
Watch out
ખોટા chart નો ફાંદો
Students ટેવવશ plt.plot() તરફ હાથ લંબાવે છે અને ઝિગઝેગ લીટીથી જોડાયેલાં સાઠ ટપકાં મળે છે: અર્થહીન, કારણ કે students ને x અક્ષ પર કોઈ ક્રમ નથી: લીટી એવો ક્રમ સૂચવે છે જે અસ્તિત્વમાં જ નથી.
નિયમ: નોંધો વચ્ચે બે માપનો સંબંધ = scatter; ક્રમબદ્ધ અક્ષ (કસોટીઓ, મહિના) પરનું વલણ = લીટી (આગલો પાઠ). અને હંમેશની જેમ: title/xlabel/ylabel નહીં, પૂરા marks નહીં.
Theory
Scatter વાસ્તવિક દુનિયામાં
ભાવ સામે માંગ, અભ્યાસના કલાક સામે CGPA, RAM સામે app નો દેખાવ: ધંધા અને સંશોધનનો દરેક "શું આ બે વસ્તુ સાથે ખસે છે?" નો પ્રશ્ન scatter plot થી ખૂલે છે. એ BCA302 માં તમે ગણશો એ સહસંબંધના ગુણાંકનું દૃશ્ય જોડિયું પણ છે: સંખ્યા એનો સારાંશ આપે છે જે આ chart તમને જોવા દે છે.
Summary
Key takeaways
- plt.scatter(x, y): દરેક નોંધ દીઠ એક ટપકું, કોઈ જોડતી લીટી નહીં; બે માપના સંબંધના પ્રશ્નો માટે.
- વાદળ વાંચો: ઉપર-જમણે ઢાળ = ધન, નીચે-જમણે = ઋણ, આકાર વગરનું = કોઈ નહીં.
- દૂરનાં ટપકાં outliers છે: ઉજાગર કરો અને તપાસો, એમને સમૂહને ઊલટાવવા ન દો.
- સહસંબંધ એ કારણભાવ નથી: આલેખ સાથે ખસવાનું દેખાડે છે, ક્યારેય કારણ નહીં.
- હંમેશા title, xlabel, ylabel (પદાર્થ-શૈલીના API માં ax.set_title).
- નોંધો વચ્ચેના સંબંધ માટે scatter; ક્રમબદ્ધ અક્ષ પરના વલણ માટે લીટી.
- Memory hook: noticeboard પર સાઠ ટાંકણી.