Files
Campus-Plug/recommondation-engine/__pycache__/app.cpython-313.pyc

55 lines
12 KiB
Plaintext
Raw Normal View History

2025-04-18 10:37:19 -06:00
<EFBFBD>
2025-04-21 22:46:39 -06:00
<00><>h<>$<00><00>r<00>SSKrSSKJr SSKrSSKrSSKrSrSr S Sjr
2025-04-20 21:42:34 -06:00
S Sjr Sr Sr S rSS
jrS rg)<0F>N)<01>cosine_similarityc<00>F<00>[RRSSSSS9nU$)N<> localhost<73>3306<30>root<6F> Marketplace)<04>host<73>port<72>user<65>database)<03>mysql<71> connector<6F>connect)<01> db_connections <20>J/Users/mannpatel/Documents/GitHub/Campus-Plug/recommondation-engine/app.pyr r s/<00><00><19>O<EFBFBD>O<EFBFBD>+<2B>+<2B><1A><15><15> <20> ,<2C><06>M<EFBFBD> <19><18>c <00>2<00>[5nUR5nURSU45 UR5 [ SU35 [
R "SU35 UR5 UR5 g![a_n[
R"SUS[U535 UR5 SnAUR5 UR5 gSnAff=f!UR5 UR5 f=f)Nz,DELETE FROM Recommendation WHERE UserID = %sz*Deleted existing recommendations for user Tz(Error deleting recommendations for user <20>: F) r <00>cursor<6F>execute<74>commit<69>print<6E>logging<6E>info<66>close<73> Exception<6F>error<6F>str<74>rollback)<04>user_id<69>db_conr<00>es r<00>delete_user_recommendationsr#s<><00><00> <15>Z<EFBFBD>F<EFBFBD> <13>]<5D>]<5D>_<EFBFBD>F<EFBFBD> <17><0E><0E><0E>E<><07>z<EFBFBD>R<><0E> <0A> <0A><0F> <0A>:<3A>7<EFBFBD>)<29>D<>E<><0F> <0C> <0C>A<>'<27><19>K<>L<><13> <0F> <0C> <0C><0E><0E> <0C> <0C><0E><> <15><15><0F> <0A> <0A>@<40><17> <09><12>C<EFBFBD>PQ<50>F<EFBFBD>8<EFBFBD>T<>U<><0E><0F><0F><19><14><0E> <0C> <0C><0E><0E> <0C> <0C><0E><> <15><>
<0F> <0C> <0C><0E><0E> <0C> <0C><0E>s*<00>A
B<00>
C1<03>5C,<03>C4<00>,C1<03>1C4<00>4"Dc<00><><00>[5nUR5nU(aF[U5S:<3A>a7SR[ [
U55nUR SUSU35 OUR SU35 UR5Vs/sHoUSPM nnUUR5 UR5 $s snf![aNn[R"S[ U535 /sSnAUR5 UR5 $SnAff=f!UR5 UR5 f=f)zHGet random products from the database, excluding any in the exclude_listrz, z6SELECT ProductID FROM Product WHERE ProductID NOT IN (z) ORDER BY RAND() LIMIT z4SELECT ProductID FROM Product ORDER BY RAND() LIMIT zError getting random products: N) r r<00>len<65>join<69>maprr<00>fetchallrrrr)<08>count<6E> exclude_listr!r<00> exclude_str<74>row<6F>random_productsr"s r<00>get_random_productsr.#s
<00><00> <15>Z<EFBFBD>F<EFBFBD> <13>]<5D>]<5D>_<EFBFBD>F<EFBFBD><17> <17>C<EFBFBD> <0C>-<2D><01>1<><1E>)<29>)<29>C<EFBFBD><03>\<5C>$:<3A>;<3B>K<EFBFBD> <12>N<EFBFBD>N<EFBFBD>S<>T_<54>S`<60>`x<>y~<7E>x<78>A<02> B<02> <12>N<EFBFBD>N<EFBFBD>Q<>RW<52>QX<51>Y<> Z<>-3<>_<EFBFBD>_<EFBFBD>-><3E>?<3F>-><3E>c<EFBFBD>q<EFBFBD>6<EFBFBD>-><3E><0F>?<3F><1E> <0F> <0C> <0C><0E><0E> <0C> <0C><0E><>@<01><> <15><12><0F> <0A> <0A>7<><03>A<EFBFBD><06>x<EFBFBD>@<40>A<><11> <09><0E> <0C> <0C><0E><0E> <0C> <0C><0E><> <12><> <0F> <0C> <0C><0E><0E> <0C> <0C><0E>sB<00>A3C<00>C<04>C<00>C<00>
D<03>#D<03>3D<03>4D!<00>D<03>D!<00>!"Ec<00>r<00>[5nUR5nURSU45 UR5Vs/sHo3SPM nn[ U5U:a)[ U[ U5-
U5nUR U5 UUR5 UR5 $s snf![aWn[R"S[U535 [ U5sSnAUR5 UR5 $SnAff=f!UR5 UR5 f=f)z5Get popular products based on history table frequencyz<79>
SELECT ProductID, COUNT(*) as count
FROM History
GROUP BY ProductID
ORDER BY count DESC
LIMIT %s
rz Error getting popular products: N) r rrr(r%r.<00>extendrrrrr)r)r!rr,<00>popular_productsr-r"s r<00>get_popular_productsr2:s<00><00> <15>Z<EFBFBD>F<EFBFBD> <13>]<5D>]<5D>_<EFBFBD>F<EFBFBD><17><0E><0E><0E> <0C> <14>X<EFBFBD>  <17>/5<>o<EFBFBD>o<EFBFBD>.?<3F>@<40>.?<3F>s<EFBFBD><01>F<EFBFBD>.?<3F><18>@<40> <0F><1F> <20>5<EFBFBD> (<28>1<>%<25>#<23>>N<>:O<>2O<32>Qa<51>b<>O<EFBFBD> <1C> #<23> #<23>O<EFBFBD> 4<><1F> <0F> <0C> <0C><0E><0E> <0C> <0C><0E><>A<01><> <15>*<2A><0F> <0A> <0A>8<><13>Q<EFBFBD><16><08>A<>B<>"<22>5<EFBFBD>)<29>)<29><0E> <0C> <0C><0E><0E> <0C> <0C><0E><> *<2A><> <0F> <0C> <0C><0E><0E> <0C> <0C><0E>sA<00>%B0<00>B+<04>;B0<00>+B0<00>0
D<03>:,D <03>&D<03>'D<00> D<03>D<00>"D6c<00>0<00>[5nUR5nURSU45 UR5SnURSU45 UR5SnUS:<3A>=(d US:<3A>UR 5 UR 5 $![
aLn[ R"S[U535 SnAUR 5 UR 5 gSnAff=f!UR 5 UR 5 f=f)z7Check if user exists in History or Recommendation tablez.SELECT COUNT(*) FROM History WHERE UserID = %srz5SELECT COUNT(*) FROM Recommendation WHERE UserID = %sz-Error checking user history/recommendations: NF) r rr<00>fetchonerrrrr)r r!r<00> history_count<6E>recommendation_countr"s r<00>#has_user_history_or_recommendationsr7Ys<><00><00> <15>Z<EFBFBD>F<EFBFBD> <13>]<5D>]<5D>_<EFBFBD>F<EFBFBD><17><0E><0E><0E>G<>'<27><1A>T<><1E><0F><0F>)<29>!<21>,<2C> <0A> <0F><0E><0E>N<>QX<51>PZ<50>[<5B>%<25><EFBFBD><EFBFBD>0<><11>3<><1C><1C>q<EFBFBD> <20><<3C>$8<>1<EFBFBD>$<<3C><<3C> <0F> <0C> <0C><0E><0E> <0C> <0C><0E><> <15><15><0F> <0A> <0A>E<>c<EFBFBD>!<21>f<EFBFBD>X<EFBFBD>N<>O<><14><0E> <0C> <0C><0E><0E> <0C> <0C><0E><> <15><> <0F> <0C> <0C><0E><0E> <0C> <0C><0E>s*<00>AB<00>
C0<03>$"C+<03>C3<00>+C0<03>0C3<00>3"Dc<00><><00>[5nUR5nURS5 UR5nSnUHnUSnUSUSUS3- nM SUS3nURU5 UR5n/n/n UHAn
[ U
5n U R S5n UR U 5 U R U 5 MC UR5 UR5 X<>4$![aPn [R"S [U 535 UR5 UR5 //4sSn A $Sn A ff=f)
N<EFBFBD>SELECT CategoryID FROM Category<72>SELECT p.ProductIDr<00> , MAX(CASE WHEN pc.CategoryID = <20> THEN 1 ELSE 0 END) AS `Cat_<74>`<60>
z<>
FROM Product p
LEFT JOIN Product_Category pc ON p.ProductID = pc.ProductID
LEFT JOIN Category c ON pc.CategoryID = c.CategoryID
GROUP BY p.ProductID;
zError getting all products: <20> r rrr(<00>list<73>pop<6F>appendrrrrr)r!r<00>
categories<EFBFBD> select_clause<73>category<72> category_id<69> final_query<72>results<74>final<61> product_idsr,<00> text_list<73>
product_idr"s r<00>get_all_productsrMps=<00><00> <15>Z<EFBFBD>F<EFBFBD> <13>]<5D>]<5D>_<EFBFBD>F<EFBFBD>#<16><0E><0E><0E>8<>9<><1B>_<EFBFBD>_<EFBFBD>&<26>
<EFBFBD>,<2C> <0A>"<22>H<EFBFBD>"<22>1<EFBFBD>+<2B>K<EFBFBD> <19>?<3F> <0B>}<7D>Lh<4C>it<69>hu<68>uv<75>w<> w<>M<EFBFBD>#<23> <0A> <1A>O<EFBFBD> <0A><10> <0B> <0F><0E><0E>{<7B>#<23><18>/<2F>/<2F>#<23><07><12><05><18> <0B><1A>C<EFBFBD><1C>S<EFBFBD> <09>I<EFBFBD>"<22><1D><1D>q<EFBFBD>)<29>J<EFBFBD> <11>L<EFBFBD>L<EFBFBD><19> #<23> <17> <1E> <1E>z<EFBFBD> *<2A> <1B> <0F> <0C> <0C><0E><0E> <0C> <0C><0E><14>!<21>!<21><> <14><16><0F> <0A> <0A>4<>S<EFBFBD><11>V<EFBFBD>H<EFBFBD>=<3D>><3E><0E> <0C> <0C><0E><0E> <0C> <0C><0E><11>2<EFBFBD>v<EFBFBD> <0A><> <16>s<00>CC.<00>.
E<03>8AE<03>=E<03>Ec<00>p<00>[5nUR5nURS5 UR5nSnUHnUSnUSUSUS3- nM SUSUS 3nURU5 UR5n/n UH0n
2025-04-18 10:37:19 -06:00
[ U
2025-04-20 21:42:34 -06:00
5n U R S5 U R U 5 M2 UR5 UR5 U $![aNn [R"S
[U 535 UR5 UR5 /sSn A $Sn A ff=f) Nr9r:rr;r<r=r>z<>
FROM Product p
LEFT JOIN Product_Category pc ON p.ProductID = pc.ProductID
LEFT JOIN Category c ON pc.CategoryID = c.CategoryID
where p.ProductID in (select ProductID from History where UserID = z0)
GROUP BY p.ProductID;
zError getting user history: r?) r r!rrCrDrErFrGrHrIr,rKr"s r<00>get_user_historyrO<00>s0<00><00> <15>Z<EFBFBD>F<EFBFBD> <13>]<5D>]<5D>_<EFBFBD>F<EFBFBD>!<12><0E><0E><0E>8<>9<><1B>_<EFBFBD>_<EFBFBD>&<26>
<EFBFBD>,<2C> <0A>"<22>H<EFBFBD>"<22>1<EFBFBD>+<2B>K<EFBFBD> <19>?<3F> <0B>}<7D>Lh<4C>it<69>hu<68>uv<75>w<> w<>M<EFBFBD>#<23> <0A> <1A>O<EFBFBD>P<01>QX<01>y<EFBFBD>Y <0A> <10> <0B> <0F><0E><0E>{<7B>#<23><18>/<2F>/<2F>#<23><07><12><05><1A>C<EFBFBD><1C>S<EFBFBD> <09>I<EFBFBD> <15>M<EFBFBD>M<EFBFBD>!<21> <1C> <11>L<EFBFBD>L<EFBFBD><19> #<23><1B>
<0F> <0C> <0C><0E><0E> <0C> <0C><0E><14> <0C><> <14><12><0F> <0A> <0A>4<>S<EFBFBD><11>V<EFBFBD>H<EFBFBD>=<3D>><3E><0E> <0C> <0C><0E><0E> <0C> <0C><0E><11> <09><> <12>s<00>CC<00>
D5<03>'AD0<03>*D5<03>0D5c <00><><00>[U5 [U5(d1[U5n[X5 [SU5n[X5 X#-$[ 5upE[ U5nU(d1[ U5n[X5 [SU5n[X5 Xs-$[R"USS9n[U/U5n [U 5 U SR5U*SSSS2n
U
V s/sHo<>U PM n n [X 5 [SU 5n[X5 X<>-$s sn f![a?n [R"SUS[U 535 [US-5nUsSn A $Sn A ff=f)N<>r)<01>axis<69><73><EFBFBD><EFBFBD><EFBFBD>zRecommendation error for user r)r#r7r.<00>history_uploadrMrOr2<00>np<6E>meanrr<00>argsortrrrr)r <00>top_n<5F> random_recs<63>additional_random<6F>all_product_features<65>all_product_ids<64> user_history<72> popular_recs<63> user_profile<6C> similarities<65>product_indices<65>i<>recommended_product_idsr"r-s r<00>get_recommendationsrd<00>s~<00><00>9<1F>#<23>G<EFBFBD>,<2C>3<>7<EFBFBD>;<3B>;<3B>-<2D>e<EFBFBD>4<>K<EFBFBD> <1A>7<EFBFBD> 0<>!4<>A<EFBFBD>{<7B> C<> <1D> <1A>7<EFBFBD> 6<><1E>2<> 2<>1A<01>0B<30>-<2D><1C>'<27><07>0<> <0C><1B>/<2F><05>6<>L<EFBFBD> <1A>7<EFBFBD> 1<>!4<>A<EFBFBD>|<7C> D<> <1D> <1A>7<EFBFBD> 6<><1F>3<> 3<><1A>w<EFBFBD>w<EFBFBD>|<7C>!<21>4<> <0C>(<28>,<2C><1E>9M<39>N<> <0C> <0A>l<EFBFBD><1B>'<27>q<EFBFBD>/<2F>1<>1<>3<>U<EFBFBD>F<EFBFBD>G<EFBFBD><<3C>T<EFBFBD>r<EFBFBD>T<EFBFBD>B<><0F>@O<01>"O<><EFBFBD>!<21>1<EFBFBD>#5<><EFBFBD><1F>"O<> <17>w<EFBFBD>8<>0<><01>3J<33>K<><19><16>w<EFBFBD>2<>'<27>:<3A>:<3A><>#P<01><> <15><1F><0F> <0A> <0A>6<>w<EFBFBD>i<EFBFBD>r<EFBFBD>#<23>a<EFBFBD>&<26><18>J<>K<>-<2D>e<EFBFBD>a<EFBFBD>i<EFBFBD>8<><0F><1E><1E><> <1F>s><00>A D&<00>AD&<00>AD&<00>+D!<04>9'D&<00>!D&<00>&
E/<03>04E*<03>$E/<03>*E/c<00><><00>[5nUR5nUHnURSX45 M UR5 UR5 UR5 g![a<n[
R "S[U535 UR5 SnANbSnAff=f!UR5 UR5 f=f)z.Upload product recommendations to the databasezIINSERT INTO Recommendation (UserID, RecommendedProductID) VALUES (%s, %s)z!Error uploading recommendations: N)
r rrrrrrrrr)<06>userID<49>productsr!rrLr"s rrTrT<00>s<><00><00> <15>Z<EFBFBD>F<EFBFBD> <13>]<5D>]<5D>_<EFBFBD>F<EFBFBD><17>"<22>J<EFBFBD> <12>N<EFBFBD>N<EFBFBD>f<>!<21>.<2E> 0<>#<23> <0F> <0A> <0A><0F> <0F> <0C> <0C><0E><0E> <0C> <0C><0E><> <15><1A><0F> <0A> <0A>9<>#<23>a<EFBFBD>&<26><18>B<>C<><0E><0F><0F><19><19><><1A><>
<0F> <0C> <0C><0E><0E> <0C> <0C><0E>s)<00>,A)<00>)
B/<03>32B*<03>%B2<00>*B/<03>/B2<00>2"C)<02>
N)rh)rQ)<11>mysql.connectorr <00>sklearn.metrics.pairwiser<00>numpyrUr<00>randomr r#r.r2r7rMrOrdrT<00>rr<00><module>rnsD<00><01><16>6<><12><0E> <0A><19><17>$<17>.<17>><17>.'<16>R%<12>N:<1F>xr